フィルターのクリア

Find the index of the last numeric element of a column including NaNs

4 ビュー (過去 30 日間)
Cary
Cary 2015 年 6 月 27 日
コメント済み: Matt J 2015 年 6 月 27 日
I have a column with many rows that has data in the middle surrounded by NaNs. For example, below is an abbreviated version of what I'm talking about. Let's call the column 'x':
NaN NaN NaN 235 6 24 NaN NaN
I am trying to find the index of 24 (the last numeric element in the column). So far I am able to do this:
find(~isnan(x))
The snippet above returns the index of all three numbers. I just want the last one (24). I have tried
find(~isnan(x(end)))
but this gives me an empty array (in the Workspace, the Value is []).
Can anyone shed some light on this. I appreciate everyone's help.
UPDATE: I have found the solution.
find(~isnan(x),1,'last')
Thanks for everyone's help.

採用された回答

Matt J
Matt J 2015 年 6 月 27 日
編集済み: Matt J 2015 年 6 月 27 日
find(~isnan(x),1,'last')
  1 件のコメント
Matt J
Matt J 2015 年 6 月 27 日
To do this column-wise when x is a matrix, a slightly different approach is needed,
[~,I]=max(flipud(~isnan(x)));
result=size(x,1)+1-I;

サインインしてコメントする。

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 6 月 27 日
find(~isnan(fliplr(x)),1)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by