problem with parfor loop

Is it possible to parfor this?
for iter=1:50
for i=1:100
x(:,i)= rand(3,1)
end
end

 Accepted Answer

Matt J
Matt J on 2 Oct 2013
Edited: Matt J on 2 Oct 2013
Sure, especially since the outer loop is not doing anything and can be abandoned.
parfor i=1:100
x(:,i)= rand(3,1)
end

6 Comments

thanks for the answer but i want to parfor the first for. Is it possible?
Matt J
Matt J on 3 Oct 2013
Edited: Matt J on 3 Oct 2013
parfor iter=1:50
x=nan(3,100); %initialize
for i=1:100
x(:,i)= rand(3,1)
end
end
Really thanks! But i was wrong. Sorry. I want this
parfor iter=1:50
for i=1:100
x(iter,i)= rand(3,1)
end
end
Is it possible? Sorry again
Matt J
Matt J on 3 Oct 2013
Edited: Matt J on 3 Oct 2013
No, it's not possible even with normal for loops. The left hand side of
x(iter,i)= rand(3,1)
is 1x1 but the rhs is 3x1.
x(iter,i)= rand(1) with parfor??
Matt J
Matt J on 3 Oct 2013
Edited: Matt J on 3 Oct 2013
You can do it, but doing it without loops
x=rand(50,100);
will be faster.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 2 Oct 2013

Commented:

on 3 Oct 2013

Community Treasure Hunt

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

Start Hunting!