logical indexing of a matrix with different columns

1 回表示 (過去 30 日間)
Sobhan
Sobhan 2012 年 4 月 23 日
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

回答 (2 件)

Andrei Bobrov
Andrei Bobrov 2012 年 4 月 23 日
lgc = youmatrix < -.1 | yourmatrix > .1;
out = arrayfun(@(ii)find(lgc(:,ii),60,'first'),1:size(yourmatrix,2),'un',0);

Daniel Shub
Daniel Shub 2012 年 4 月 23 日
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]

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by