[討論] fprint

看板MATLAB作者 (ReiFu)時間10年前 (2014/03/30 20:06), 10年前編輯推噓0(0013)
留言13則, 2人參與, 最新討論串1/1
這是網路上的程式碼: x=0:pi/10:pi; %將pi分成十等分,置於x中 y=sin(x); %計算sin(x)值,置於y % 打開一個名叫sinx.txt的文字檔,將其代碼設為fid,'w'代表要寫入 fid=fopen('sinx.txt','w'); %列印資料x,y於檔案中,格式x為%6.4f;y為%10.8f fprintf(fid,'%6.4f %10.8f \n',x,y); fclose(fid); 儲存的txt檔是一個 11*2 的矩陣 但是我希望可以存成其轉置的矩陣 也就是2*11 想請問該如何修改? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.57.176 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1396181160.A.6BA.html ※ 編輯: ReiFu21 (114.35.57.176), 03/30/2014 20:12:37

03/30 20:40, , 1F
dlmwrite('sinx.txt',sprintf('%6.4f %10.8f \n',...
03/30 20:40, 1F

03/30 20:41, , 2F
x',y'), 'delimiter','')
03/30 20:41, 2F

03/30 20:44, , 3F
sorry上面是錯的,更正
03/30 20:44, 3F

03/30 20:44, , 4F
dlmwrite('sinx.txt', num2str([x; y]), ...
03/30 20:44, 4F

03/30 20:44, , 5F
'delimiter','')
03/30 20:44, 5F

03/30 20:54, , 6F
上面沒考慮到OUTPUT的percision
03/30 20:54, 6F

03/30 20:54, , 7F
dlmwrite('sinx.txt',[sprintf(' %6.4f ', x);...
03/30 20:54, 7F

03/30 20:54, , 8F
sprintf('%10.8f ', y)], 'delimiter','')
03/30 20:54, 8F

03/30 20:55, , 9F
裡面的空白不能省略
03/30 20:55, 9F

03/30 20:59, , 10F
sprintf也可以用num2str(x, '%6.4f')取代
03/30 20:59, 10F

04/17 00:41, , 11F
fprintf(fid,'%6.4f ',x);
04/17 00:41, 11F

04/17 00:42, , 12F
fprintf(fid,'\n');
04/17 00:42, 12F

04/17 00:42, , 13F
fprintf(fid,'%10.8f ',y);
04/17 00:42, 13F
文章代碼(AID): #1JE0YeQw (MATLAB)