Réponse acceptée

Matt J
Matt J le 2 Oct 2013
Modifié(e) : Matt J le 2 Oct 2013

1 vote

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 commentaires

freebil
freebil le 3 Oct 2013
thanks for the answer but i want to parfor the first for. Is it possible?
Matt J
Matt J le 3 Oct 2013
Modifié(e) : Matt J le 3 Oct 2013
parfor iter=1:50
x=nan(3,100); %initialize
for i=1:100
x(:,i)= rand(3,1)
end
end
freebil
freebil le 3 Oct 2013
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 le 3 Oct 2013
Modifié(e) : Matt J le 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.
freebil
freebil le 3 Oct 2013
x(iter,i)= rand(1) with parfor??
Matt J
Matt J le 3 Oct 2013
Modifié(e) : Matt J le 3 Oct 2013
You can do it, but doing it without loops
x=rand(50,100);
will be faster.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by