NaN selective removal from a matrix

1 回表示 (過去 30 日間)
Ziv Kassner
Ziv Kassner 2014 年 7 月 9 日
回答済み: Andrei Bobrov 2014 年 7 月 9 日
I have a matrix like this: a=[NaN NaN NaN NaN;NaN NaN NaN NaN;2 3 NaN 4;9 4 NaN 4;3 9 NaN 3];
and i want to remove all the rows that contains only NaN's to: b=[2 3 NaN 4;9 4 NaN 4;3 9 NaN 3];
please help me,
Ziv.

採用された回答

Jos (10584)
Jos (10584) 2014 年 7 月 9 日
tf1 = isnan(a)
tf2 = all(a,2)
tf3 = ~tf2
b = a(tf3,:)
b2 = a(~all(isnan(a),2),:) % in one giant leap
  1 件のコメント
Ziv Kassner
Ziv Kassner 2014 年 7 月 9 日
Great! worked perfectly!

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

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2014 年 7 月 9 日
b = a(any(a == a,2),:);

カテゴリ

Help Center および File ExchangeCorrelation and Convolution についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by