如何将数据保存为给定格式的文本文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据保存为给定格式的文本文件?相关的知识,希望对你有一定的参考价值。
我想将矩阵保存到文本文件中,所以我可以通过其他程序读取它。现在我使用:
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
但我想让他们在没有“电子记谱法”的情况下保存,而不是所有的数字。是否有捷径可寻?
编辑:谢谢!这很好用。抱歉,我认为我使用回滚搞砸了你的编辑。
答案
我会使用fprintf
函数,它允许您自己定义输出数据的格式。例如:
fid = fopen('output.txt', 'wt');
fprintf(fid,'%0.6f %0.6f
', A.');
fclose(fid);
这将在小数点后输出6位精度的矩阵A.请注意,您还必须使用fopen
和fclose
函数。
另一答案
Ditto gnovice的解决方案,如果您需要性能和自定义格式。
dlmwrite
为您提供格式化的一些控制(全局,而不是每个字段)。但它的性能较差。几年前我进行了测试,dlmwrite比fopen / fprintf / fclose解决方案慢了5-10倍。 (编辑:我指的是大型矩阵,如15x10000矩阵)
以上是关于如何将数据保存为给定格式的文本文件?的主要内容,如果未能解决你的问题,请参考以下文章