hi guys
I have a matrix.
here the first column is date and others columns are data. for eg.
I have data like this.
05/04/2018 15 54 87
06/04/2018 48 NaN 8
07/04/2018 NaN NaN NaN
08/04/2018 NaN 8 NaN
09/04/2018 NaN NaN NaN
what i want is
05/04/2018 15 54 87
06/04/2018 48 NaN 8
08/04/2018 NaN 8 NaN
hope you understand. !!! thanks in advance.

 Réponse acceptée

Walter Roberson
Walter Roberson le 21 Mai 2018

1 vote

mask = all(isnan(YourArray),2);
YourArray(mask, :) = [];

5 commentaires

pruth
pruth le 21 Mai 2018
hi thanks for the reply but it will not delete any row since the first column is for date and time. I want to delete date and time also.
You said you want to delete only those rows which have all NaN values in it. Any row that has a non-NaN time and date does not have all NaN values in it.
You probably want
mask = all(isnan(YourArray(:,2:end),2);
YourArray(mask, :) = [];
pruth
pruth le 21 Mai 2018
I apologize if it confuses you. let me clarify. I have data like this.
05/04/2018 15 54 87
06/04/2018 48 NaN 8
07/04/2018 NaN NaN NaN
08/04/2018 NaN 8 NaN
09/04/2018 NaN NaN NaN
what i want is
05/04/2018 15 54 87
06/04/2018 48 NaN 8
08/04/2018 NaN 8 NaN
hope you understand. !!! thanks
Ameer Hamza
Ameer Hamza le 21 Mai 2018
@Walter's code given in comment should work. Although there is a little typo about the mismatch of parenthesis.
mask = all(isnan(YourArray(:,2:end)),2);
YourArray(mask, :) = [];
pruth
pruth le 21 Mai 2018
yes, it works. I corrected that already. thank you :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by