Re: [問題] 請問大量匯入資料到matlab或.mat中已回收

看板MATLAB作者 (明光聖堂)時間17年前 (2009/01/22 20:29), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《DennisTang ()》之銘言: : 我有很多筆*.txt的數據 : 其檔名是有序的 例如是 : 1.txt : 2.txt : 3.txt : ...... : 100.txt : 我希望把他們匯入到matlab中作運算 : 所以想把這些txt檔先作成*.mat : 我現在由這些*.txt產生*.mat的方法是一個一個用滑鼠拉進matlab中 : 然後再把worspace中的物件另存新檔 : 但是*.txt檔一多時就變成非常麻煩 : 請問有沒有辦法用迴圈的方式反覆匯入呢? clc;clear; for i=[1:100] temp=load(['C:\...\...\',num2str(i),'.txt']); save(['C:\...\...\',num2str(i),'.mat'],'temp'); end 通常路徑中有包含變數可用 num2str(變數) 引入路徑 但要在路徑外面的引號再追加一個中括號全部包起來 如果沒引用變數 中括號可省略 and 如果 1~100.txt 有跳號的話, 例如1~1000.txt 其中沒有335.txt,127.txt 但你事前沒有明察 for迴圈執行到此會發現沒有檔案 讀取錯誤 出現error中斷 此時可追加 test=exist(['C:\...\...\',num2str(i),'.txt']); 用exist語法去把該檔案的存在狀態數值化存入任意變數test (輸出=0 表不存在) 你就可以用 if (test~=0)來決定要不要進入load,save之類的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.69.72.69

01/22 22:11, , 1F
謝謝 :)
01/22 22:11, 1F
文章代碼(AID): #19U6Qlpe (MATLAB)
文章代碼(AID): #19U6Qlpe (MATLAB)