Running for loops in parallel

I have 3 variants each with a different number of options and want to score these. So at the moment I have a code which looks as follows:
for n = 1:numel(variant1)
[y1_v1,y2_v1]=calcscoreV1(x1_v1,x2_v1)
end
for n = 1:numel(variant2)
[y1_v2,y2_v2]=calcscoreV2(x1_v2,x2_v2)
end
for n = 1:numel(variant3)
[y1_v3,y2_v3]=calcscoreV3(x1_v3,x2_v3)
end
As these three for loops and their respective functions used are independent of each other, I was wondering if it is perhaps possible to run all 3 loops simultaneously to save computational time?
Thanks in advance.

 Accepted Answer

parfor k = 1:3
if k == 1
for n = 1:numel(variant1)
[y1_v1,y2_v1]=calcscoreV1(x1_v1,x2_v1)
end
elseif k == 2
for n = 1:numel(variant2)
[y1_v2,y2_v2]=calcscoreV2(x1_v2,x2_v2)
end
else % k == 3 and default:
for n = 1:numel(variant3)
[y1_v3,y2_v3]=calcscoreV3(x1_v3,x2_v3)
end
end
end
Of course the outputs y1_v1 etc. must be store in a meaningful way.

More Answers (0)

Categories

Find more on Parallel Computing Toolbox in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 19 Dec 2018

Commented:

on 19 Dec 2018

Community Treasure Hunt

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

Start Hunting!