0
我正在嘗試將ascii文件加載到包含1020行和兩列光譜數據的Matlab中。當我使用dlmread像下面,MATLAB輪流到這個矩陣N,這正是我想要的:dlmread命令
N = dlmread('alummatrix.asc')
不過,我希望它只讀前80行數據而忽略其他,然後做這適用於目錄中的所有.asc文件。 另外,我希望十進制數不要改變或四捨五入。它將原始數據左側的數據輸出5位十進制數字。另外,我想它保留其原有的符號,而不是輪:
它給我:
N =
1.0e+05 *
0.0384 0.3374
當我只是希望它顯示出來,如:
N =
3838 33738
你的問題是與MATLAB格式化輸出數字的方式。重複的鏈接應該可以幫助你解決這個問題。 'tl; dr' - 在命令提示符中輸入'format long g;',然後再次嘗試您的代碼。 – rayryeng
謝謝!這工作。但是,如何讓它只讀取前80行數據並忽略其餘部分呢?然後對dir中的所有ascii文件執行此操作,將每個文件保存爲不同的矩陣名稱? – Svet
(1)對於'dlmread',這是可能的,但你需要知道每個文件中有多少列。如果您不知道這一點,或者每個文件中的列數都是可變的,那麼您沒有選擇,只能讀取整個矩陣,然後刪除不想要的行。 (2)爲您的原始問題不包含多個文件。請編輯您的問題,以便您指定要解決的所有問題,然後重新打開。 – rayryeng