精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《youngswallow (swallow)》之銘言: : 假設我要讀取一堆檔案 : load c:\a1.txt : load c:\a2.txt : load c:\a3.txt : .....等 : 如果我用eval函數的話要怎麼寫呢 : 我只可以想到這樣寫 : for i = 1:n : eval(['load c:\a' num2str(i) '.txt' ]) : end : 不過這樣寫法行不通 請問你的txt檔的格式是如何? 你當初如果是用MATLAB的save指令把Workspace變數存到txt檔, 請問你有沒有加上『ascii』? 如果沒有那代表你是把它存成『Binary MAT-file』。 可是MATLAB的load這個指令, 它會把副檔名為『txt』的檔案視為ASCII coded的文字檔, 而副檔名為『mat』的檔案視為『Binary MAT-file』的檔案。 如果你資料的格式應該是MAT-file, 那麼你卻用ASCII的方式load當然匯出錯。 如果你是以上的情形的話,請程式碼修改如下: eval(['load -mat c:\a' num2str(i) '.txt' ]) 告訴load,你的txt檔應該是MAT-file。 如果你想要避免這個問題,你在save的時候請不要加上副檔名。 比如說:save abc 那麼Workspace裡的變數就會以MAT-file的形式存到abc.mat檔裡。 如果你的txt並不是由save指令而來的,那這種情況又要另當別論。 : 有人會嗎? : 請不吝賜教 : 謝謝 -- 《金剛經》 又念過去於五百世,作忍辱仙人,於爾所世,無我相、無人相、無眾生相、無壽者相。 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.218.133