Matlab: file list の使い方

informatics/matlab/filelist
8-3-2017 updated

  1. 概要: file list の使い方

広告

概要: file list の使い方

MATLAB では、読み込みたい (load したい) ファイルの一覧を m ファイルのリストにして、それを使って一括処理を行うことができる。実例に沿って考えてみる。

イヌ dog と オオカミ wolf を使って実験を行い (n = 3)、dog というフォルダに dog1.mat, dog2.mat, dog3.mat というデータが, wolf フォルダに wolf1.mat, wolf2.mat, wolf3.mat というデータがそれぞれ入っているとしよう。dog, wolf というフォルダは、Data フォルダに入っている。

まず、Filelist_dw.m という m ファイルを作り、これらの path を示す関数を以下のように定義する。

expdir='d:\Data\';
expdirD='d:\Data\dog\';
expdirW='d:\Data\wolf\';

filename{1}=[expdir 'dog1.mat'];
filename{2}=[expdir 'dog2.mat'];
filename{3}=[expdir 'dog3.mat'];
filename{4}=[expdir 'wolf1.mat'];
filename{5}=[expdir 'wolf2.mat'];
filename{6}=[expdir 'wolf3.mat'];

filenameafter{1}=[expdirD 'dog1_2.mat'];
filenameafter{2}=[expdirD 'dog2_2.mat'];
filenameafter{3}=[expdirD 'dog3_2.mat'];
filenameafter{4}=[expdirD 'wolf1_2.mat'];
filenameafter{5}=[expdirD 'wolf2_2.mat'];
filenameafter{6}=[expdirD 'wolf3_2.mat'];

次に、このファイルリストを読み込んで解析する m ファイルを作る。名前は dw_add2.m とでもしておこう。内容は、



clear all;
Filelist_dw;
n=numel(filename);

for fi=1:n;
inputname=filename{fi};
load(inputname);
save(filenameafter);
end

以上のスクリプトを実行すると、dog1.mat という ファイルを読み込み、そのデータを dog1_2.mat として保存するという作業を、wolf3 まで行うということになる。for 文 の中身をもっと詳しくすれば、一連のファイルに対して同じ解析を繰り返しできることになる。


コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。

References

  1. 小林 2014a. 最新 MATLAB ハンドブック 第五版. 秀和システム.