Help when trying to exclude matrix values while indexing!
6 ビュー (過去 30 日間)
古いコメントを表示
I am trying to figure out how to index a matrix but exclude certain values. Specifically I have
y=grid.y;
latitudes = [-90 90];
I=find(y>=min(lat) & y<=max(lat));
II=find(y<=min(lat) & y>=max(lat));
The first find works (I), the second (II) does not and returns a NaN value. help?
1 件のコメント
回答 (1 件)
Guillaume
2020 年 3 月 10 日
"the second (II) does not and returns a NaN value"
Firstly, find never returns NaN. It can return an empty array, this is not the same thing at all as NaN.
I wouldn't be surprised that your second expression returns an empty array. numbers that are both smaller than a minimum while at the same time being larger than a maximum are ... very rare! You 2nd expression can be rewritten as:
II = find(y <= -90 & y >= 90);
which clearly is not going to be satisfied often.
In fact, only NaN numbers can satisfy this expression. So your find will return the indices of the NaN values in y or empty if there are no NaN.
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!