Matlabでparclusterを使用してバッチを使用してジョブを実行します。各ジョブは既存のクラスを使用し、そのメソッドの1つを実行する必要があります。私はそれをparclusterなしで動作させることができますが、parclusterを使用するとエラーが発生します。クラスのメソッドを実行する場合、parclusterを使用してMatlabでバッチジョブを実行する方法
parpoolせずに、この作品:
は簡単なメソッドを持つクラスを定義します。obj = myclass();
obj = add(obj,1);
この作品:
classdef myclass
properties
prop;
end
methods
% constructor
function obj = myclass()
obj.prop = 0;
end
% add function
function obj = add(obj,a)
obj.prop = obj.prop + a;
end
end
end
はオブジェクトを作成し、それを使用して機能です。同じことをバッチで実行しようとするとエラーになります。ここで私がやっているものです:
c = parcluster();
j = batch(c,@myclass,1,{});
wait(j);
r = fetchOutputs(j);
obj = r{1};
j = batch(c,@add,1,{obj,1});
最後の行は、エラーを与える:
warning unable to calculate the dependencies of the files:
add
because: file, function or class "add" may not exist.
は、どのように私は、バッチ内のクラスメソッドを実行できますか?