Matlab - Poblema con el NaN

 
Vista:

Poblema con el NaN

Publicado por Martin (2 intervenciones) el 16/07/2008 09:11:02
Hola buenas:

Mi duda es la siguietne:

Si tengo el vector [1, 2, NaN, 4], ¿Cómo puedo realizar un ciclo que recorra todas las posiciones y elimine los NaN?

Lo intenté con

for i=1:4

if v(i)==NaN
v(i)=[]
end

end

Pero el caso es que no va, supongo que porque al ser una variable numérica, no podrá realizar la comparación al entrar en el if. ¿Cómo se resuelve este prolema?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Poblema con el NaN

Publicado por Kike (304 intervenciones) el 16/07/2008 15:49:45
En el siguiente programa se eliminan los NaN, y los números se guardan en el vector solo_numeros. Cero por un número es cero, pero cero por NaN es NaN, así que esto es lo que se utiliza para comparar si un elemento es número o es NaN.

vector = [1, 2, NaN, 4, NaN, 6, 7, NaN, 9]
solo_numeros = [ ];

for k = 1:length(vector)
if vector(k)*0 == 0
solo_numeros(end+1) = vector(k);
end
end

solo_numeros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar