how do I find the index of all values which meet a condition within an array ?
39 ビュー (過去 30 日間)
古いコメントを表示
So I have the follow statement
cond = (app1>0 & app1<100)& dApp>0 & torque1_req >97;
iTp(:,1) = torque1(cond);
I want to know the index of all the values within torque1 which fufill the statement.
2 件のコメント
David Hill
2019 年 10 月 28 日
Are app1, dApp, and torque1 all arrays of the same size? If so, the following would provide the indexes of meeting the conditions.
idx=find((app1>0).*(app1<100).*(dApp>0).*(torque1>97));
採用された回答
Rik
2019 年 10 月 28 日
編集済み: Rik
2019 年 10 月 28 日
With the find function you can look up the linear indices of all non-zero elements in an array. (you can also look up row and column indices, but for higher dimensions you'll need findND) Because of logical indexing, this step is not needed for the indexing itself, but for other cases it is a very powerfull tool.
This should be what you're looking for.
idx=find(cond);
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!