NaN selective removal from a matrix

2 Ansichten (letzte 30 Tage)
Ziv Kassner
Ziv Kassner am 9 Jul. 2014
Beantwortet: Andrei Bobrov am 9 Jul. 2014
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.

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 9 Jul. 2014
tf1 = isnan(a)
tf2 = all(a,2)
tf3 = ~tf2
b = a(tf3,:)
b2 = a(~all(isnan(a),2),:) % in one giant leap

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 9 Jul. 2014
b = a(any(a == a,2),:);

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by