Deleting zeros and NaN in a matrix
Ältere Kommentare anzeigen
I have a matrix containing zerros and NaN's. Now i want to delete the rows if it consists zero or Nan
for ex if i have a matrix
A=[2 3 36 9
Nan 54 20 23
85 69 10 30
20 Nan 20 30
1 0 8 20
2 6 8 9]
i want to delete rows containing zeros and Nan's
so i will have output as
out=[2 3 36 9
85 69 10 30
2 6 8 9]
Please help,i have matrix containing 1078x8 values
Akzeptierte Antwort
Weitere Antworten (1)
Kye Taylor
am 13 Jul. 2012
Try
A(any(isnan(A),2)|any(A==0,2),:) = []
4 Kommentare
Pat
am 14 Jul. 2012
Walter Roberson
am 14 Jul. 2012
Only if you use the "raw" array, the third one returned by xlsread(). If you use the first array returned by xlsread() then it will be a numeric array rather than a cell array.
Pat
am 14 Jul. 2012
Walter Roberson
am 14 Jul. 2012
[num text raw]=xlsread('zz.xls');
A=num;
nanRows = any(isnan(A), 2)
zeroRows = any(A==0, 2)
badRows = nanRows | zeroRows
A(badRows, :) = []
Kategorien
Mehr zu Annotations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!