我想将矩阵保存到文本文件中,所以我可以通过其他程序读取它。现在我使用:
save('output.txt', 'A','-ascii');
但是这会将我的文件保存为
6.7206983e+000 2.5896414e-001
6.5710723e+000 4.9800797e-00
6.3466334e+000 6.9721116e-001
5.9975062e+000 1.3346614e+000
6.0224439e+000 1.8127490e+000
6.3466334e+000 2.0517928e+000
6.3965087e+000 1.9721116e+000
但我想让他们在没有“电子记谱法”的情况下保存,而不是所有的数字。有一个简单的方法吗?
编辑:谢谢!这很好用。抱歉,我认为我使用回滚搞砸了你的编辑。答案 0 :(得分:10)
我会使用fprintf
函数,它允许您自己定义输出数据的格式。例如:
fid = fopen('output.txt', 'wt');
fprintf(fid,'%0.6f %0.6f\n', A.');
fclose(fid);
答案 1 :(得分:3)
Ditto gnovice的解决方案,如果你需要性能&自定义格式。
dlmwrite
为您提供格式化控件(全局,而非每个字段)。但它的性能较差。几年前我进行了测试,dlmwrite比fopen / fprintf / fclose解决方案慢了5-10倍。 (编辑:我指的是大型矩阵,比如15x10000矩阵)