Extract variable from function after using parfeval

I am running the following:
fcn=@(i) run("test"+i);
for K=1:4
F(K)=parfeval(fcn,0,K);
end;
where "test"+i is a script solving to pricude results in matrix format.
I would like to be able to see this matrix after the worker has finished.
I have tried setting the cript as a fucntion and having an outout:
function [Result1]= test1
however I still get no data out of this after using fetchOutputs.
How can i get the variable I require after parfeval has finished?

2 件のコメント

Abderrahim. B
Abderrahim. B 2022 年 8 月 12 日
Did you check if the worker has finished the processing?
Koren Murphy
Koren Murphy 2022 年 8 月 12 日
Yes it has

サインインしてコメントする。

回答 (1 件)

Raymond Norris
Raymond Norris 2022 年 8 月 12 日

1 投票

@Koren Murphy the issue is that you've told MATLAB there are no output arguments (even if there are)
F(K)=parfeval(fcn,0,K);
The "0" is the number of output arguments. Change this appropriately. For instance
for idx = 1:10
f(idx) = parfeval(@rand,1,idx);
end
% Now fetch the results
for idx = 1:10
[idx, value] = fetchNext(f);
R{idx} = value;
end

2 件のコメント

Koren Murphy
Koren Murphy 2022 年 8 月 16 日
fcn=@(i) run("test_"+i);
for idx = 1:4
f(idx) = parfeval(fcn,1,idx);
end
% Now fetch the results
for idx = 1:4
[idx, value] = fetchNext(f);
R{idx} = value;
end
I know have this with fucntions defiend as
function [testRes1]= test_1
However, i now get this error....
Error using parallel.FevalFuture/fetchNext
The function evaluation completed with an error.
Error in EFM_MILP_Parallel_DataSetUp (line 43)
[idx, value] = fetchNext(f);
Caused by:
Error using EFM_MILP_Parallel_DataSetUp>@(i)run("EFMLoop_"+i)
Too many output arguments.
Raymond Norris
Raymond Norris 2022 年 8 月 16 日
The run command doesn't return any outputs. Presumable this is a test example. Replace it with the function you're going to actually run.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeParallel Computing Fundamentals についてさらに検索

製品

リリース

R2022a

質問済み:

2022 年 8 月 12 日

コメント済み:

2022 年 8 月 16 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by