方法一:dlmwrite(验证可用)
版权声明:本文为CSDN博主「大芳同学」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hengyaha/article/details/78995291
(1)保存为固定名称文件:dlmwrite('路径\a.txt',a,'delimiter','\t','newline','pc');
a=[1,2,3;5,7,9];
>>dlmwrite('C:\Users\Administrator\Desktop\matlab\a.txt',a,'delimiter','\t','newline','pc');
(2)保存为变量名称文件:filename=['路径\',num2str(b),'.txt'];
dlmwrite(filename,a,'delimiter','\t','newline','pc');
验证代码:
a=[1,2,3;5,7,9];for b=1:3filename=['C:\Users\Administrator\Desktop\',num2str(b),'.txt'];%num2str是将后面括号中的数字转成字符串,用于成为文件名。dlmwrite(filename,a,'delimiter','\t','newline','pc');end
结果显示:
方法二:fprintf(不太成功,因为输出是科学计数)
转载自:https://www.cnblogs.com/lixiang-/p/4883544.html
a=[1,2,3;4,5,6] %这是一个2×3矩阵
%1 2 3
%4 5 6fid=fopen('d:\chr.txt','wt') % “d:\chr.txt”是路径和输出文本的名称,“wt”是表示write。fprintf(fid,'%8.4f %8.3f %6.2f\n',a') % 输出矩阵
fclose(fid) %关闭文件
讲一下fprintf命令中每一项的含义:
一、 fid 函数句柄,代表之前新建并打开的文件
二、 '%8.4f %8.3f %6.2f\n' 输出格式,具体如下:
1、%8.4f 表示输出格式为浮点数,占用8位(含小数点),保留4位小数
2、%8.3f 与%6.2f同上,表示第二个、第三个数分别保留3和2位小数。
3、\n表示换行
4、在换行符前给出三个不同的输出格式表示每行输出三个数据(当然,三个格式可以一样,只不过要想每行输出三个数据必须写三次),也就是说,换行符前些几次输出格式,每行就输出几个数据。
5、但是这还不够,因为输出的顺寻是按矩阵单下标索引方式输出的,也就是说,如果输出的矩阵如果写成a,那么输出的矩阵就是
1 4 2
5 3 6
6、所以需要将a转置一下,这样输出的矩阵就正确了。