带有非数值字符的输出,除了上面同学提到的自定义输出格式以外,还可以将其看成字符串进行输出。如下:
clear
clc
%构造A矩阵
A = 1:9;
A = reshape(A,3,3)';
%转换为字符串操作
B = mat2str(A);
%将空格替换为逗号
B(B == ' ') = ',';
index = find(B == ';');
%将分号变成空格
B(index) = ' ';
f = fopen('out.txt','w');
h = 2;
%分别输出B矩阵中的每一行
for fi = 1:length(index)
fprintf(f,'%s\r\n',B(h:index(fi)));
h = index(fi) + 1;
end
fprintf(f,'%s\r\n',B(h:end-1));
fclose(f);
另外matlab输出换行的话是\r\n.单单是\n是不行的。
自己定义输出格式,可以用fprintf函数,
fid = fopen('adaqu.txt','wt')
for i = 1:size(A,1)
fprintf(fid,'%d,%d,%d\n',A(i,1),A(i,2),A(i,3));
end
fclose(fid)
如果有帮助,请采纳,谢谢~