如何在Matlab中将数组输出到.txt文件?

10
我刚开始学习Matlab,所以这个问题可能非常基础:
我有一个变量。
a=[2.3 3.422 -6.121 9 4.55]

我希望将这些值输出到一个.txt文件中,格式如下:

2.3
3.422
-6.121
9
4.55

我该怎么做?

fid = fopen('c:\\coeffs.txt','w'); //this opens the file
//now how to print 'a' to the file??
1个回答

15

以下代码应该能解决问题:

fid = fopen('c:\\coeffs.txt','wt');  % Note the 'wt' for writing in text mode
fprintf(fid,'%f\n',a);  % The format string is applied to each element of a
fclose(fid);

如果需要更多信息,请查看FOPENFPRINTF的文档。


@gnovice 是的,它可以。谢谢。你知道哪里可以查找一些基础知识吗?因为我刚开始使用Matlab,经常会卡在这样琐碎的问题上。 - Lazer
我本以为需要循环才能做到。不知怎么的,所有的值都自己打印出来了!! - Lazer
1
@eSKay:我添加了一些相关函数的链接。总的来说,MATLAB有非常好的文档和示例/教程,在版本上和在线上都可以在The MathWorks网站(http://www.mathworks.com)找到。在命令窗口中,HELP命令(http://www.mathworks.com/access/helpdesk/help/techdoc/ref/help.html)通常非常有帮助。;) - gnovice
对于矩阵,可以使用dlmwrite。例如,如果A是一个矩阵,那么可以用以下方式保存它:dlmwrite('file.txt',A)。 - Marek Bar
@eduardosufan:你可以使用fprintf(fid, '%f+%fi\n', real(a), imag(a));或者dlmwrite('outfile.txt', a, 'delimiter', '\t'); - gnovice
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接