Logical indexing within parfor statement

1 回表示 (過去 30 日間)
Javier
Javier 2011 年 8 月 1 日
Hi. I have a problem with parfor and an indexing. As you can see in my code below, I get a group of elements of a matrix using find, then I use these indexes to select the elements I need to. So it's said to me that is an error due to the way I've indexed. Any suggestion?
baseDatosFilaTemp=zeros(1,8);
tempBaseDatosIDs=zeros(cbdAcelerados,1);
tempBaseDatosIDs=baseDatos(:,columnaID);
parfor n=1:fbdAcelerados
bdAceleradosFila=zeros(1,8);
bdAceleradosFila=bdAcelerados(n,:);
indice=find(tempBaseDatosIDs==bdAceleradosFila(colAcID));
if(~isempty(indice))
if(bdAceleradosFila(colAcT)>=0)
baseDatosFilaTemp=baseDatos(indice,:);%*<-HERE TROUBLE*
baseDatosFilaTemp(columnaV)=incrVel+baseDatosFilaTemp(columnaV);
if(baseDatosFilaTemp(columnaV)>vMax)
baseDatosFilaTemp(columnaV)=vMax;
end
baseDatos(indice,:)=baseDatosFilaTemp;
end
end
end
Thanks,Javier
  3 件のコメント
Javier
Javier 2011 年 8 月 1 日
The expected output is an update of baseDatos matrix elements which are in the matrix bdAcelerados too. The issue to use pafoor is the dimension of baseDatos which could be 500x8 for example.
Javier
Javier 2011 年 8 月 1 日
Sorry the example:
baseDatos=[ 10 22 1 1 1 1 1 2
20 33 1 2 4 5 7 9]
bdAcelerados =[ 2 2 2]
Then the update will be:
baseDatos=[ 10+incrVel 22 1 1 1 1 1 2
20 33 1 2 4 5 7 9]

サインインしてコメントする。

回答 (1 件)

Jan
Jan 2011 年 8 月 1 日
You've stated, that there are "troubles". I guess, that this does not mean an error, but a warning of MLint?! Does it say, that you can omit the FIND? Then I suggest:
% Omit this useless line: bdAceleradosFila=zeros(1,8);
bdAceleradosFila=bdAcelerados(n,:);
indice = (tempBaseDatosIDs==bdAceleradosFila(colAcID));
if any(indice)
if bdAceleradosFila(colAcT) >= 0
baseDatosFilaTemp = baseDatos(indice,:);
...
  1 件のコメント
Javier
Javier 2011 年 8 月 2 日
Hi Jan, thanks for replying!
Yes I have got a warnning produced by the parfor loop, to be precise, due to the use of baseDatos. I've made the changed you have suggested to me, but despite them, I still get the warnning...
Thanks!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by