Variable in PARFOR

2 次查看(过去 30 天)
rahman
rahman 2011-7-26
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
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 个评论
Walter Roberson
Walter Roberson 2011-7-26
Are you initializing Z outside of the loop? Is the value of Z needed after the loop?
rahman
rahman 2011-7-26
Yes. Befor loop started I initialized Z=zeros(N).
Yes. I use Z after loop

请先登录,再进行评论。


Konrad Malkowski
Konrad Malkowski 2011-8-3
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.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by