我想读取大量文件,处理每个文件并将每个文件的结果保存在一个.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 ';']);
你知道问题可能出在哪里吗?