How can I extract the first non-zero in several specific segments of the same matrix?
1 回表示 (過去 30 日間)
古いコメントを表示
I'd like to find the first non-zero in several segments of the same large matrix.
For example: x = [3 2 3 4 5 6 6 8 6 10; 0 0 1 0 2 0 0 1 0 1]';
Now within x(1:3, :) and x(7:10, :) I'd like to extract the first non-zero in the second column and write out the corresponding value of the first column...no idea how...any help much appreciated. Patricia
0 件のコメント
採用された回答
Matt Kindig
2013 年 7 月 5 日
ix1 = find(x(1:3,2),1,'first'); %index of first non-zero in x(1:3,2);
x1 = x(ix1,1); %corresponding first-column value
ix2 = find(x(7:10,2),1,'first'); %index of first non-zero in x(7:10,2);
x2 = x(ix2,1); %corresponding first-column value
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!