我怎麼可以用for循環閱讀下列文件:(?可以循環忽略文件名中的字符)在這個循環的開始處我必須添加什麼?
ABC-1.TXT
CDE-2.TXT
SER-3.TXT
WSZ-4.TXT
AQZ-5.TXT
眼壓6.TXT
什麼我必須在這個循環的開頭添加?
for i = 1:1:6
nom_fichier = strcat(['MyFile\.......' num2str(i) '.TXT']);
我怎麼可以用for循環閱讀下列文件:(?可以循環忽略文件名中的字符)在這個循環的開始處我必須添加什麼?
ABC-1.TXT
CDE-2.TXT
SER-3.TXT
WSZ-4.TXT
AQZ-5.TXT
眼壓6.TXT
什麼我必須在這個循環的開頭添加?
for i = 1:1:6
nom_fichier = strcat(['MyFile\.......' num2str(i) '.TXT']);
您可以通過使用DIR命令來避免構造文件名。例如:
myfiles = dir('*.txt');
for i = 1:length(myfiles)
nom_fichier = myfiles(i).name;
...do processing here...
end
首先,爲什麼要在這裏使用strcat?這本身就是一個單獨的字符串。所有連接已由括號[]完成。
['MyFile\.......' num2str(i) '.TXT']
接下來,我不確定您的問題在這裏。它是如何加載數據?如果文件是簡單分隔的數字,每行上的數字相同,那麼加載就足夠加載它們,或者您可能需要使用文本讀取。
我的猜測是你不知道如何構建文件名的主要部分。你可能會做這種方式:
Names = {'abc' 'cde 'ser' 'wsz' 'aqz' 'iop'};
for i = 1:6
fn = ['MyFile',filesep,Names{i},'-',num2str(i),'.TXT'];
data = load(fn);
% do other stuff ...
end
如果你不想通過鍵入,然後使用目錄,也許像這樣創建文本文件名的列表,以創建具有名稱的變量:
Names = dir('MyFile\*.TXT');
Matlab應該知道文件名中的數字之前的字符是什麼?或者你想讀取名稱以數字結尾的所有文件?閱讀文件的順序是否重要?請提供更多細節。 – yuk 2010-02-28 00:58:30