logical indexing of a matrix with different columns
Show older comments
Dear all, This is my problem: I have a matrix of 3 columns and 100 rows. I want to find for each column the position of cells which contain values <-0.01, cells which contain values >0.01 and the other remaining cells. For each column I am only interested in the first 60 rows. I hope I am clear enough. Thanks a million for your help. Sobhan
Answers (2)
Andrei Bobrov
on 23 Apr 2012
lgc = youmatrix < -.1 | yourmatrix > .1;
out = arrayfun(@(ii)find(lgc(:,ii),60,'first'),1:size(yourmatrix,2),'un',0);
Daniel Shub
on 23 Apr 2012
Sounds like homework to me, but I hope it is not ...
I will give you a piece, can you figure out how to make it work on only the first 60 rows, what about for -0.01<=x<=0.01.
x = randn(100, 3); % sample data
[a, b] = find(x < -0.01);
[b, a]
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!