我想的矩阵保存到文本文件,所以可通过另一个程序读取它。现在,我使用的:

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\n', A.');
fclose(fid);

此将输出矩阵A的小数点后的精度6位数字。请注意,您还可以使用的功能 fopen 和的 fclose

其他提示

同上gnovice的解决方案,如果你需要的性能和自定义格式。

dlmwrite 给你一些控制(全球,而不是每个字段的格式的基础上)。但是,从较低的性能会受到影响。我在几年前跑测试和dlmwrite是像5到10倍比则fopen / fprintf中/ FCLOSE解决方案慢。 (编辑:我指的是大矩阵,如矩阵15x10000)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top