Variable in PARFOR

Hi
I have a loop in my code for calculating a matrix that index of matrix, determined in loop. for example:
for ii=1:100
pos=find(A==ii);
.
.
.
Z(:,pos)=Z(:,pos)+...
.
.
.
end
which A is another matrix. When I try to use PARFOR, an error occured for variable pos. I read PARFOR help in matlab, but I didn't get any idea how can I correct that. can anyone help me to write correct code for PARFOR?

Answers (2)

Walter Roberson
Walter Roberson on 26 Jul 2011

0 votes

Including the error message would help.
My speculation is that the analyzer is not able to determine that you are "slicing" Z in non-overlapping ways.
If so, then I do not know enough about PARFOR to be able to suggest a work-around.

3 Comments

rahman
rahman on 26 Jul 2011
Error: The variable Z in a parfor cannot be classified.
Are you initializing Z outside of the loop? Is the value of Z needed after the loop?
rahman
rahman on 26 Jul 2011
Yes. Befor loop started I initialized Z=zeros(N).
Yes. I use Z after loop

Sign in to comment.

Konrad Malkowski
Konrad Malkowski on 3 Aug 2011

0 votes

What are you trying to do with Z variable? Do you use it to accumulate some values (reduction variable) across all iterations? Or, do you update a single column of Z in each iteration? I would need more information on this loop and variable in order to help you.

Categories

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

Asked:

on 26 Jul 2011

Community Treasure Hunt

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

Start Hunting!