Azzera filtri
Azzera filtri

how can i remove efficiently nan values from columns without deleting the column itself ?

1 visualizzazione (ultimi 30 giorni)
for ex :
A = 1 2 3
nan 4 nan
nan nan 5
4 5 6
required output
A = 1 2 3
4 4 5
5 6
  1 Commento
James Tursa
James Tursa il 21 Ott 2016
Modificato: James Tursa il 21 Ott 2016
Your posted matrix result is not rectangular. You can't have this in a numeric matrix. Is this really what you want for an output or is this a typo? I.e., do you really want the resulting columns to potentially have different numbers of elements? (In which case maybe a cell array would be what you want).

Accedi per commentare.

Risposte (1)

Andrei Bobrov
Andrei Bobrov il 21 Ott 2016
i0 = ~isnan(A);
ii = sort(i0,'descend');
out = nan(size(A));
out(ii)=A(i0);

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by