怎么将matlab中数据保存为txt或dat格式

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:12:43
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

保存后在文本文件中显示成
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
程序要怎么写,先谢谢大家!
以下这种不行,谢谢化学工程的回答
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

try this:

>> dlmwrite('a.txt',a,'delimiter',' ','newline','pc')
>> !type a.txt
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

%read Matlab help to see the usage of function dlmwrite.

1、如果数据没有被保存为mat文件,那么将数据保存为矩阵形式,假设此矩阵为A。利用如下程序:
fid=fopen('文件路径','wt'); %新建文件,你要保存到的文件路径,该路径的最后为'\文件名.txt'
[m,n]=size(A); %接上,或者是'\文件名.dat'
for j=1:m
for z=1:n
if z==n
fprintf(fid,'%g\n',total(j,z)); %一行一行的写入数据,到该行的最后一个数据,回车
else
fprintf(fid,'%g\t',total(j,z)); %相邻两个数据之间隔2个字符,相当于按一次Tab键
end
end
end
fclose(fid);
2、如果数据已经被保存为了mat文件,先将mat文件中的数据load到矩阵A中。在1中程序的基础上添加一行:
A=load('