2011-07-01 16 views
5

私は同じプログラムで実行するために1000個の.datファイルを持っています。自動的に実行するより高速な方法やスクリプトはありますか? .datファイルのファイル名は異なります。Matlabでは、同じコードを複数のファイル(同じディレクトリ内の異なるファイル名)で実行する方法はありますか?

プログラムのようなものです:

fid=fopen('**abd**.dat'); 
C=textscan(...); 
... 
save('**abd**.txt',data); 

ABDはファイル名です。私は別のファイル名で何千ものファイルを持っています。これらのファイル名をコピーしてプログラムに貼り付けて実行することは、ちょっと面倒です。誰もがこれより高速な方法やコードを手に入れましたか?

答えて

6

"dir"を使ってファイルのリストを取得し、このようなループで処理することができます。

fns = dir('*.dat'); 
for i = 1:length(fns) 
    fid = fopen(fns(i).name); 
    C = textscan(...); 
    fclose(fid); 
    save([fns(i).name,'.dat'],data); 

end 
1

問題を再現してください。ファイル名と文字列のテキストファイルを読み取るためのスクリプトを1つ作成します。次に、何千ものファイルではなく2つのファイルがあります。

関連する問題