大量のファイルを読み取り、それぞれを処理し、それぞれの結果をファイルに保存したいと考えてい.mat
ます。各ファイルの処理は他とは独立しているので、使ってみてはいかがでしょうかparfor
。次の Matlab スクリプト ファイルを作成しました。
load filelist
obj = package.name.SomeObject();
matlabpool local 5
parfor i=1:length(filelist)
result = obj.compute(filelist{i});
[~, name, ~] = fileparts(filelist{i});
save(['~/path/' name], 'result');
end % file loop
matlabpool close
コンピューターで実行しようとすると、Matlab プールが初期化されますが ( connected to 5 workers
)、次のエラー メッセージが表示されます。
Error using parallel_function (line 589)
Undefined function or variable "cleaner".
Error in readfiles (line 14)
parfor i=1:length(filelist)
Error in run (line 64)
evalin('caller', [script ';']);
どこに問題があるか知っていますか?