我尝试在群集的不同机器上运行一个简单的任务.我的配置已经过验证(没关系).当我在"本地"配置上运行代码时,它可以工作.但是当我使用群集配置时,我收到以下错误:
使用parallel_function时出错(第598行)未定义函数'lafunc'用于'double'类型的输入参数.错误堆栈:(没有远程错误堆栈)petittest中的错误(第6行) - »(petittest是我程序的名称)parfor it = 1:200
我尝试修改代码使用"dfeval"而不是parfor循环,但我得到了相同类型的结果(无法识别函数lafunc).
如何让群集中的其他工作人员识别我手动定义的函数lafunc?
代码如下:
%%%%%%%%%%%%%
laconfig='/home/matlab/fred/LACED_DC1.mat';
setmcruserdata('ParallelConfigurationFile',laconfig);
matlabpool open
parfor it=1:200
yo=lafunc(it);
disp(yo)
end
matlabpool close
%%%%%%%%%%%
Run Code Online (Sandbox Code Playgroud)
lafunc函数的位置
%%%%%%%%%%%%%%
function [y]=lafunc(x)
y=x*x;
end
%%%%%%%%%%%%%%%%%%%%%%
Run Code Online (Sandbox Code Playgroud)
非常感谢,每一条信息都对我有用!