How to remove NaNs from an array between points

1 回表示 (過去 30 日間)
BuMatlab
BuMatlab 2021 年 3 月 9 日
コメント済み: KSSV 2021 年 3 月 9 日
I have an array consisting of real numbers and NaNs. I'd like to identify the first row where there is a real number, then extract data from that point to when the next NaN occurs. If you see the attached example, I'd like the results to be example(17:43).
Thanks to the community for the help and let me know if I can cleary anything up!
  1 件のコメント
BuMatlab
BuMatlab 2021 年 3 月 9 日
Sorry - one more item: I'd like the Nans before the first real number row to remain intact - this would mean the results are example(1:43)

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

採用された回答

KSSV
KSSV 2021 年 3 月 9 日
Read about isnan.
idx = isnan(example);
idr = diff(find([1;diff(idx);1]));
D = mat2cell(example,idr(:),size(example,2));
celldisp(D)
  2 件のコメント
BuMatlab
BuMatlab 2021 年 3 月 9 日
Thanks, KSSV. It appears the length(D) ~= example(17:43) - any ideas?
KSSV
KSSV 2021 年 3 月 9 日
See D{1}, D{2} etc..
celldisp(D)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by