MATLAB Answers

Parfor with two loop variable

6 views (last 30 days)
Hongbo Zhao
Hongbo Zhao on 14 May 2018
Answered: Sid Jhaveri on 17 May 2018
I would like to use the following code to run certain simulations labeled by “cases” number in parallel and also plot the result in consecutive subplots.
cases = [2,5,8];
parfor casenum = cases
result(casenum) = ...;
subplot(1,3,?)
end
In the example above, the question mark should be 1, 2, 3 for the three cases.
I know the following code doesn’t work because “result” is a sliced variable. And “result(casenum(i))” is not allowed.
cases = [2,5,8];
parfor i=1:length(cases)
result(cases(i)) = ...;
subplot(1,3,i)
end
Is there any way to work around this without having to resort to storing results with indexes 1 through 3?

  0 Comments

Sign in to comment.

Accepted Answer

Sid Jhaveri
Sid Jhaveri on 17 May 2018
Hi,
You might want to try doing something like the code given below:
cases = [2,3,4];
result = zeros(1,4);
parfor i=cases
index = find(cases == i);
result(i) = i;
subplot(1,3,index)
end

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags

Products


Release

R2018a