%%%%%=========================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
%%%%%=========================================
% % % for i = 1 : m
% % %
% % %
% % %
% % %
% % % 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 =
可以发现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);
-----------------------