精華區beta MATLAB 關於我們 聯絡資訊
> 有問題, > 例如,我把資料都放入c:\spp\bin\sk1 > 但是執行的時候出現錯誤的訊息 > dir_all = dir (c:\spp\bin\sk\s*.dat); > 這一行有錯 > ??? dir_all = dir (c:\ > | > Missing variable or function. 你可能不知道..或許你沒有注意到... 當你在用dir或一般指令時....其( )的字..需用' '包起來. . 也就是說你上述那行須改成dir_all = dir ('c:\spp\bin\sk\') 然後在cosh學長提供的第六行程式碼也須寫成 FileName = strcat('c:\spp\bin\sk\',fname); 恩...另外.....第七行程式碼....有點小問題.... 原式為 load FileName...不過matlab會解譯成load FileName.mat....這個意思 所以必須改成eval(['load ' , FileName]); 這樣就可以一次讀好幾個檔案近來了........ 也就是整個程式碼如下: dir_all = dir('c:\spp\bin\sk\'); [filenum, charlen] = size(dir_all); for i=1:filenum fname = getfield(dir_all,{i},'name'); if (~dir_all(i).isdir), FileName = strcat('c:\spp\bin\sk\',fname); eval(['load ' , FileName]); end end 這樣應該沒有問題了吧............ 至少在我的matlab5.3版,是可以跑的......:) -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: g884326.CHING.ab.nthu.edu.tw