The variable g in a parfor cannot be classified..

Can anyone help me with this?
parfor j=1:N
z1r=normrnd(Z1(1),Z1(2)); %Random sample from distribution of Z1
z2r=normrnd(Z2(1),Z2(2)); %Random sample from distribution of Z2
for i=1:size(T,2)
g(i)=Threshold-M(i,1)-(sqrt(lambda1)*V1(i)*z1r)-(sqrt(lambda2)*V2(i)*z2r);
if g(i)>0 %safe
IND(i,j)=0;
else %failure
IND(i,j)=1;
end
end
end

Réponses (1)

Edric Ellis
Edric Ellis le 23 Oct 2014
Modifié(e) : Edric Ellis le 23 Oct 2014
It looks like you could simply replace g(i) with g and then hoist the inner for-loop bounds calculation out of the PARFOR loop. (Inner FOR loops must have constant bounds to be able to run correctly).
I.e.
tn = size(T, 2);
parfor j = 1:N
...
for i = 1:tn
...
end
end

2 commentaires

freebil
freebil le 23 Oct 2014
thanks but it says that IND cannot be classified then..
Ah, you're right, I'll update my answer.

Connectez-vous pour commenter.

Catégories

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

Question posée :

le 22 Oct 2014

Modifié(e) :

le 23 Oct 2014

Community Treasure Hunt

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

Start Hunting!

Translated by