problem with parfor variable

Hello,
i have a large code. I am summarizing the problem using a simple code.
parfor it=1:30
for jt=1:30
a(it,jt)=some_value;
end
end
an error is shown."The variable a in a parfor cannot be classified." why cant matlab classify the variable? why does the variable 'a' fail to become a sliced variable?
Is there any other indexing scheme that can serve my purpose in the above mentioned code?
THANKS IN ADVANCE.
-OBLI

 Réponse acceptée

Thomas
Thomas le 4 Juin 2012

1 vote

the above code in its simple form works: just preallocate for speed
a=zeros(30,30); % preallocate variable a
parfor it=1:30
for jt=1:30
a(it,jt)=rand(1);
end
end
the error in slicing the variable might come in from the part you probably left out..

11 commentaires

oblivious
oblivious le 4 Juin 2012
Have you checked your code? It does not run as well. The variable 'a' is not classified in your code too.
Thomas
Thomas le 4 Juin 2012
It runs just fine for me.. with and without the matlabpool open..
running locally as well as on a cluster...
so apparently your pool is not set up right..
Walter Roberson
Walter Roberson le 4 Juin 2012
Thomas and oblivious: which MATLAB versions are you using? Different versions might diagnose differently.
oblivious
oblivious le 4 Juin 2012
im using 7.10.0(R2010a)
Thomas
Thomas le 4 Juin 2012
I have tested on 2011a,b,12 a.. Though the way matlabpool classifies variables was probably changed form 2011a.. and might be an issue in older ones..
Thomas
Thomas le 4 Juin 2012
I believe if you make the parfor the inner most loop it might work in older versions..
for it=1:30
parfor jt=1:30
a(it,jt)=rand(1);
end
end
oblivious
oblivious le 4 Juin 2012
Thanks Thomas
Thomas
Thomas le 4 Juin 2012
is the problem with the sliced variable solved?
oblivious
oblivious le 4 Juin 2012
nope, im trying it in another way
Thomas
Thomas le 4 Juin 2012
I assume you are using Matlab older than R2011a..
oblivious
oblivious le 5 Juin 2012
this problem was resolved in r2011a. i found in the release notes

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