how can i assign multiple output from a function using parfor?

5 次查看(过去 30 天)
My function is generating 3-dimentional 5 variable. for montecarlo run i have to generate that 100 times. how can i use parfor that ?or do i have to use some other command?

回答(2 个)

Walter Roberson
Walter Roberson 2015-5-25
You should be able to use parfor for it.
maxtrial = 100;
results = cell(maxtrial,1);
parfor trialnum = 1 : maxtrial
generate first variable
generate second variable
generate third variable
generate fourth variable
generate fifth variable
calculate outputs with those variables
results{K} = outputs;
end
If the result is a single numeric value then use a numeric array instead of a cell array.

Matt J
Matt J 2015-5-26
编辑:Matt J 2015-5-26
Something like this should work,
outputs=cell(N,5);
parfor i=1:N
[outputs{i,1:5}]=yourFunctionCall;
end

类别

Help CenterFile Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by