Deleting zeros and NaN in a matrix
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (1)
Kye Taylor
il 13 Lug 2012
Try
A(any(isnan(A),2)|any(A==0,2),:) = []
4 Commenti
Pat
il 14 Lug 2012
Walter Roberson
il 14 Lug 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
il 14 Lug 2012
Walter Roberson
il 14 Lug 2012
[num text raw]=xlsread('zz.xls');
A=num;
nanRows = any(isnan(A), 2)
zeroRows = any(A==0, 2)
badRows = nanRows | zeroRows
A(badRows, :) = []
Categorie
Scopri di più su Annotations in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!