[转载]整理:matlab中fprintf 输出换行,按行列输出

%%%%%=========================fprintf按列输出=============
% % % [m, n] = size(a);   %要反复调整a的形式(如将a转置)
% % % for i = 1 : m
% % %     for j = 1 : n
% % %         fprintf('%8.4f', a(i, j));
% % %     end
% % %     fprintf('n');
% % % end
%%%%%=========================================

===+++++++++++++++fprintf保存到指定路径+++++++++++++++++++++++++++===

a=[12 34 56;55 66 89];
fid = fopen('D:studydof.txt', 'wt');
fprintf(fid, [repmat('%d ', 1, size(a,2)), 'n'], a');
fclose(fid);

===+++++++++++++++fprintf保存到指定路径+++++++++++++++++++++++++++===

 

==================================字符串;分行=========================

from: http://www.ilovematlab.cn/thread-83763-1-1.html

随手写的,有点乱。如果懒得浪费时间看前面的话,直接看最后几句话。
最近几次在论坛中看到有会员提问关于matlab中fprintf保存string字符到txt文档换行问题的分析,我没有在论坛中搜索,不知道是否有相应的问题的解决方法,只是自己做一下分析,并分享一下。
1 我们先做个小实验,
fid=fopen('Outputdata.txt','wt');
str=['abc';'bed'];
fprintf(fid,'%s',str)
fclose(fid);
结果发现,打开txt文档一看,结果只有一行。其结果和str(:)的顺序一样。

如果是fprintf(fid,'%sn',str)呢,发现在txt文档中实际有两行,只是第二行是一个空行而已。这就说明n是起了作用的。输入
a=sprintf('%sn', str);
>> size(a)
ans =
         7
可以发现a实际上是七个字符,最后一个字符是换行符。因此换行当然是在最后了。
那么有人问,我如果直接在str中添加n呢?str=['an';'bed'];
sprintf('%s', str)
ans =
abend

显然也不能够实现换行的。
正确的实现方法是:
fid=fopen('Outputdata.txt','wt');
str=['abc';'bed'];
for i=1:2
fprintf(fid,'%s n',str(i,:));
end
这样的话,在每一行中添加了一个/n。
lose(fid);

-----------------------
text文本换行我用的是:fprintf(fid,'rn',str(i,:));
原文地址:https://www.cnblogs.com/gisalameda/p/12840622.html