How to trim a data to same dimension?

Data contains 2 columns (plan and T). However, plan contains some NaN. I would like to delete the NaN from plan and also its corresponding values in T so that the good data from columns plan and T will be of the same dimension

 Respuesta aceptada

Guillaume
Guillaume el 15 de Jul. de 2015
Assuming data is an m x 2 matrix, it's simply:
Data(isnan(Data(:, 1)), :) = []
That is, find the nan in the first column of Data ( isnan(Data(:, 1))), and removes all the rows for which isnan is true ( Data(trueorfalse, :) = [])

4 comentarios

AbelM Kusemererwa
AbelM Kusemererwa el 15 de Jul. de 2015
I save them as data for easy uploading. However, plan and T are separate in the workspace
Guillaume
Guillaume el 15 de Jul. de 2015
Editada: Guillaume el 15 de Jul. de 2015
Well, it's still the same idea. Use the logical array returned by isnan to indicate which elements you want to remove in any of your variables:
todelete = isnan(plan); %find the nans
plan(todelete) = []; %remove them from plan
T(todelete) = []; %and remove them from T
AbelM Kusemererwa
AbelM Kusemererwa el 15 de Jul. de 2015
Editada: AbelM Kusemererwa el 15 de Jul. de 2015
Please, after deleting I would want to give them different names. How do I store them separately after deleting?
Then you don't delete, you only copy the data you want to keep (everything that is not nan)
tokeep = ~isnan(plan); %use ~ for logical not
newplan = plan(tokeep);
newT = T(tokeep);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

el 15 de Jul. de 2015

Comentada:

el 15 de Jul. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by