matlab如何将运算生成的数据导出到txt中

计算模型结果中的矩阵

MATLAB有非常直接的方法可以输出到文本和Excel文件。

假设以上数据保存在矩阵M里

(1) xlswrite('myxls.xls',M) 输出到Excel里

(2)save myfile.txt M -ascii 输出到myfile.txt文件里

save(最简单基本的)具体的命令是:用save *.txt-ascii x (x为变量; *.txt为文件名,该文件存储于当前工作目录下,再打开就可以打开后,数据有可能是以指数形式保存的) 。

优势特点

1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2、具有完备的图形处理功能,实现计算结果和编程的可视化;

3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

以上内容参考:百度百科-MATLAB

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-22

第一种方法:save(最简单基本的) 

具体的命令是:用save *.txt
-ascii x (x为变量; *.txt为文件名,该文件存储于当前工作目录下,再打开就可以 打开后,数据有可能是以指数形式保存的.) 
例子: 

a =[17 24 1 8 15;23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 ]; 

save afile.txt -ascii a 

afile.txt打开之后,是这样的: 

1.7000000e+001 2.4000000e+001 1.0000000e+000 8.0000000e+000 1.5000000e+001
2.3000000e+001 5.0000000e+000 7.0000000e+000 1.4000000e+001 1.6000000e+001
4.0000000e+000 6.0000000e+000 1.3000000e+001 2.0000000e+001 2.2000000e+001
1.0000000e+001 1.2000000e+001 1.9000000e+001 2.1000000e+001 3.0000000e+000
1.1000000e+001 1.8000000e+001 2.5000000e+001 2.0000000e+000 9.0000000e+000

第二种方法:dlmwrite 
dlmwrite('a.txt',a,'precision','%10.0f') 
或者是dlmwrite('a.txt',a,'delimiter',
'\t') 
对于只有一行或者一列的数据,很适用,但是多行的,就乱了 
网上有很多这一类似的问题,但是都不是很理想

使用方法:
dlmwrite('filename',
M)
使用默认分隔符“,”将矩阵M写入文本文件filename中;
dlmwrite('filename',
M, 'D') 
使用分隔符D分割数据,“\t”表示tab分割,“,”为默认分割符;
dlmwrite('filename',
M, 'D', R, C)
从矩阵M的第R行、第C列开始,作为要写矩阵块的左上角,将数据用D分割写入文件。
其他用法有:
dlmwrite('filename',
M, 'attrib1', value1, 'attrib2', value2, ...)
dlmwrite('filename',
M, '-append')
dlmwrite('filename',
M, '-append', attribute-value list) 

例如:
a = [1 2 3; 4 5 6; 7 8 9]; 
dlmwrite('test.txt',
a); 
则test.txt中的内容为:
1,2,3
4,5,6
7,8,9

第三种方法:fopen+fprintf 

第三种方法:

fopen+fprintf 

参考资料:

网页链接

本回答被网友采纳