Indexing multidimensional matrices using logical arrays
古いコメントを表示
I want to efficiently find number in a multidimensional array that fall into
some category and do something to them,like in the code below:
nc=4;
mc=1000;
r1=normrnd(0,1,[nc,mc,n-1]);
for j=2:n
indexNeg(:,:)=r1(:,:,j)<0.5;
r1(:,:,j)=-r1(indexNeg,j);
end
here, I create a multidimensional array of random numbers and change sign of any number smaller than 0.5
I am getting this error Subscript indices must either be real positive integers or logicals.
How to properly use the logical index?
採用された回答
その他の回答 (2 件)
Andrei Bobrov
2013 年 12 月 17 日
編集済み: Andrei Bobrov
2013 年 12 月 17 日
l = r1 < .5;
r1(l) = -r1(l);
On comment by Marco
r1 = abs(r1);
2 件のコメント
Marco Pereira
2013 年 12 月 17 日
編集済み: Marco Pereira
2013 年 12 月 17 日
Andrei Bobrov
2013 年 12 月 17 日
What you want?
カテゴリ
ヘルプ センター および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!