[转载]整理:matlab中fprintf 输出换行,按行列输出
原文地址:整理: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
%%%%%=========================================
%要反復調整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 =
1
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,:));
總結
以上是生活随笔為你收集整理的[转载]整理:matlab中fprintf 输出换行,按行列输出的全部內容,希望文章能夠幫你解決所遇到的問題。