Matlab将mat格式数据保存为txt格式

时间:2022-04-27 11:50:02

对机器学习等领域而言,数据的重要性不言而喻,在开发时需要将不同格式的数据进行转换从而应用到不同的开发环境中,本文介绍matlab中的dlmwrite()函数的用法。

dmwrite()函数的功能是将矩阵以ASCII格式写入到文件中。


一、语法及功能描述


dlmwrite(filename, M)

将数组M写入到ASCII格式的文件中,文件名为filename,每个元素之间默认以‘,’隔开。如果filename已经存在,则该函数将覆盖。


dlmwrite(filename, M, '-append')

将数据添加到已经存在的filename文件后面。


dlmwrite(filename, M, delimiter)

将数据M写入到filename文件中,并以特殊字符delimiter将每个元素隔开。


二、参数说明


filenane:写入文件名;

M:需要保存的数据;

delimiter:两个元素之间的分隔符;

precision:数据精度;

newline:行终止符,‘pc’表示使用回车换行符,‘unix’表示换行符。


三、示例


1、写入数据时以逗号分隔元素

生成一个样本矩阵M

M = magic(3);

使用默认的分隔符‘,’将矩阵M写入到文件myFile.txt中

dlwrite(‘myFile.txt’, M)

查看文件中的数据

type(‘myFile.txt’)
8    1    6

3    5    7
4    9    2


2、以Tab间隔分隔元素并保存指定精度

M = magic(3)*pi
dlmwrite('myFile.txt', M, 'delimiter', '\t', 'precision', 3)
type('myFile.txt')

25.1    3.14    18.8
9.42    15.7    22
12.6    28.3    6.28


3、在文件后添加数据

M = magic(5);
N = magic(3);

dlmwrite('myFile.txt', M, 'delimiter', ' ');

dlmwrite('myFile.txt', N, '-append', 'delimiter', ' ', 'roffset', 1)
type('myFile.txt')

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
 
8 1 6
3 5 7
4 9 2


4、以指定精度写入到文件中

M = magic(3);
dlmwrite('myFile.txt', M, 'precision', '%.6f')
type('myFile.txt')

8.000000,1.000000,6.000000
3.000000,5.000000,7.000000
4.000000,9.000000,2.000000


5、指定行终止符

M = magic(3);
dlmwrite('myFile.txt', M, 'delimiter', ' ','newline','unix')
type('myFile.txt')