> 有問題,
> 例如,我把資料都放入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