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!