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

 Akzeptierte Antwort

Thomas
Thomas am 4 Jun. 2012

1 Stimme

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 Kommentare

oblivious
oblivious am 4 Jun. 2012
Have you checked your code? It does not run as well. The variable 'a' is not classified in your code too.
Thomas
Thomas am 4 Jun. 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 am 4 Jun. 2012
Thomas and oblivious: which MATLAB versions are you using? Different versions might diagnose differently.
oblivious
oblivious am 4 Jun. 2012
im using 7.10.0(R2010a)
Thomas
Thomas am 4 Jun. 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 am 4 Jun. 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 am 4 Jun. 2012
Thanks Thomas
Thomas
Thomas am 4 Jun. 2012
is the problem with the sliced variable solved?
oblivious
oblivious am 4 Jun. 2012
nope, im trying it in another way
Thomas
Thomas am 4 Jun. 2012
I assume you are using Matlab older than R2011a..
oblivious
oblivious am 5 Jun. 2012
this problem was resolved in r2011a. i found in the release notes

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by