Re: [問題] fprintf 一個已知矩陣的值已回收

看板MATLAB作者 (麵包鯊。)時間15年前 (2010/03/27 12:02), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
load('sahht'); SSS=sahht; year=SSS(:,1); inData=SSS(:,2); rslt=eemd(inData,0,1); fid=fopen('rslt.txt','w'); %for i=1:373 %fprintf(fid,'%5.3f%7.4f%7.4f%7.4f%7.4f%7.4f%7.4f%7.4f%7.4f\n',rslt(i,:)); %end %fclose(fid); 我使用了一個eemd函數,我不確定這有沒有關係, 但我在 workspace 看到的 rslt 矩陣的值, 跟輸出的 rslt.txt 中的值不太一樣,我覺得很奇怪!!!@@ ※ 引述《PlaneTree (麵包鯊。)》之銘言: : 大家好, : 我在 workspace 看到一個 373x9 的矩陣, : 然後使用 fprintf 將其輸出成一個 txt 的文字檔, : 照理說 txt 裡面的值應該要跟我在矩陣中看到的一樣吧? : 有沒有可能,會有不一樣的情況呢? : 因為我現在看到的值,除了第一行一樣,其他的值都很相近, : 但卻不一樣!!! : 我也檢查過了不是讀入順序的問題,也不是進位的問題, : 有人有這種經驗嗎?苦惱了我一個禮拜... 謝謝!^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.65.148 ※ 編輯: PlaneTree 來自: 140.112.65.148 (03/27 12:03)

03/27 15:46, , 1F
應該是format的關係預設的顯示為short可是實際的值為double
03/27 15:46, 1F

03/27 17:25, , 2F
不像耶,矩陣-0.1354 -0.2403,但輸出變-0.1425 -0.2414
03/27 17:25, 2F

03/27 17:25, , 3F
真的很奇怪@@
03/27 17:25, 3F
文章代碼(AID): #1BhODmQj (MATLAB)
文章代碼(AID): #1BhODmQj (MATLAB)