[問題] 用fprintf把矩陣以固定格式列出已回收

看板MATLAB作者 (楓葉)時間16年前 (2009/03/06 12:13), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
之前用fprintf指令 好像都是取單一數字 Ex: fprintf(fid,'%8.0f%8.0f%8.1f%8.1f%8.1f\n',a,b,c,d,e); 其中a,b,c,d,e是函數(也就是固定的數字) 所以可以完整的以fopen(test.txt,'w')寫入一個名叫test的txt檔中 但是現在 我要print出來的不是函數 是5個矩陣也就是 C = fopen('test.txt','w'); D1 = Y(:,1); D2 = Y(:,2); D3 = Y(:,5); D4 = Y(:,3); D5 = Y(:,7); fprintf(C,'%8.0f%8.0f%8.1f%8.1f%8.1f\n',D1,D2,D3,D4,D5); 其中Y為一個7*3657的矩陣 可見得D1~D7在Workspace顯示的是5個1*3657的矩陣 但是在輸出成test.txt檔時 以UltraEdit檢視看起來卻是 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 D1 ..... D1 D2 D2 D2 D2 D2 D2 D2 D2 D2 D2 D2 D2 D2 D2 ....以此類推 但是我希望他是 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 ..... 請問這樣怎麼修改才會便成我想要的樣式呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.96.170

03/06 20:59, , 1F
合成一個矩陣然後放transpose看看?
03/06 20:59, 1F

03/07 15:31, , 2F
D=[D1; D2; D3; D4; D5]; fprintf(C,'%8.0f\n',D);
03/07 15:31, 2F

03/07 15:41, , 3F
抱歉你的要求沒看清楚 D應該寫成D=[D1 D2 D3 D4 D5]
03/07 15:41, 3F
文章代碼(AID): #19iABu0h (MATLAB)
文章代碼(AID): #19iABu0h (MATLAB)