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?

回答(2 个)

Walter Roberson
Walter Roberson 2011-7-26

0 个投票

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 个评论

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?
Yes. Befor loop started I initialized Z=zeros(N).
Yes. I use Z after loop

请先登录,再进行评论。

Konrad Malkowski
Konrad Malkowski 2011-8-3

0 个投票

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.

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

提问:

2011-7-26

Community Treasure Hunt

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

Start Hunting!

Translated by