[問題] 請問fprintf的存檔已回收

看板MATLAB作者 (situ and image)時間16年前 (2009/09/17 12:59), 編輯推噓1(1014)
留言15則, 4人參與, 最新討論串1/1
我有x y z w 三個1000*1的陣列 其中 x y 是string z w 是number fid = fopen('radar.txt','wt'); fprintf(fid,'%3.0f %s %s %6.3f',[w x y z]) fclose(fid); 這樣存出來 都變成小黑塊了 只有部分出來 但看的出來 存出來的檔案 會是 w w w w w w w .... x x x x x x x .... y y ..... 請問要怎嚜改才能變成 w x y z w x y z . . . . -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.96.45

09/17 15:03, , 1F
試看看fprintf(fid,'%3.0f %s %s %6.3f', w, x, y, z);
09/17 15:03, 1F

09/18 05:07, , 2F
借用一下提個問題...剛剛測試了一下...如果都是數字的話
09/18 05:07, 2F

09/18 05:09, , 3F
s = [ 1.0 2.56 3.2 4 ] ;
09/18 05:09, 3F

09/18 05:09, , 4F
fprintf(' %3d %4.2f %3d %4.2f\n', s )
09/18 05:09, 4F

09/18 05:10, , 5F
印出結果 1 2.56 3.200000e+000 4.00
09/18 05:10, 5F

09/18 05:11, , 6F
但是....如果改變 s ...讓其component有包含字元
09/18 05:11, 6F

09/18 05:11, , 7F
s = [ 1.0 'a' 3.2 4 ] ;
09/18 05:11, 7F

09/18 05:12, , 8F
fprintf(' %3d %s %3d %4.2f\n', s )
09/18 05:12, 8F

09/18 05:13, , 9F
印出結果 1 a
09/18 05:13, 9F

09/18 05:13, , 10F
後面的自動"吃掉"...WHY??
09/18 05:13, 10F

09/18 05:15, , 11F
如果用kawa大大的方法就不會有問題= =''
09/18 05:15, 11F

09/18 10:54, , 12F
%s 是字串, 改成 %c 顯示字元就可以了
09/18 10:54, 12F

09/18 10:56, , 13F
%3d->顯示s(1), %s->顯示s(2:end),
09/18 10:56, 13F

09/18 10:57, , 14F
%3d %4.2f\n->沒東西可顯示,等於沒打這些東西
09/18 10:57, 14F

09/18 16:54, , 15F
如果是輸出字串 她不會自動換行 0.0 數字部份沒有問題
09/18 16:54, 15F
文章代碼(AID): #1AiS91IN (MATLAB)
文章代碼(AID): #1AiS91IN (MATLAB)