matlab里fprintf输出的问题:

fprintf(fid,'%g\r\n',A);%A是要输出的数组,有一百行,五列。

但是输出后怎么挤成了一列数据,怎么样才能原封不动的输出到文件呢?

产生列向量的原因是matlab矩阵的标注其实就是按列分配的,这一点和c相反可以看看谭浩强的c数组那一章;其次代码:
A = rand(3,5)
fid = fopen('G:\学习\file.txt','w');
fprintf(fid,'%g %g %g %g %g\r\n',A');%%每五个元素换行
fclose(fid);
也因为第一个原因你需要A'在fprintf那一行;
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-08
如果有五列的话,在 fprintf 里面要分别写明每一列的格式,如下:

fid = fopen('file.txt','w');
fprintf(fid,'%g %g %g %g %g\r\n',A);
fclose(fid);

试试看对不对本回答被提问者和网友采纳