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);
类别
在 帮助中心 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!