Matlab - Ayuda con la media

   
Vista:

Ayuda con la media

Publicado por Jorge (43 intervenciones) el 03/11/2009 17:02:13
Hola tengo un problema, espero q me puedas ayudar.
tengo una columna q deseo promediarla pero el problema surge cuando en los datos vacios e puesto el NaN la mesdia me sale NaN
ejemplo
Primero en condiciones normales
>> A=[3 4 5 6 8];
>> media=sum(A)/length(A)

media =

5.2000

ojo
Ahora el problema:
>> A=[3 4 5 6 8 NaN];
>> media=sum(A)/length(A)

media =

NaN

Por que no ovbia el Nan

espero sus sugerencias
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:Ayuda con la media

Publicado por cucu (38 intervenciones) el 03/11/2009 18:35:36
pues no se, ¿has probado a hacer una matriz auxiliar que reemplace los NaN por un 0 para que no varíe la media?

Me parece que era isNan la función que las busca, no recuerdo bien, pero creo que era:

Aux = isNan(A), y te da una matriz igual con 1 donde hay números y cero donde no.

Espero que te sirva. Saludos
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

RE:Ayuda con la media

Publicado por Cris (1 intervención) el 03/11/2009 22:22:24
Puedes probar con la siguiente expresión:

>>media = mean(A(~isnan(A)));

La idea es hacer la media de los valores de A en los que A no es igual a NaN.

Espero que te sirva.
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

RE:Ayuda con la media

Publicado por fismat (1 intervención) el 05/11/2009 16:55:02
Hola Jorge,

Puedes usar los comandos NANMEDIAN, NANSTD, NANMIN, NANMAX, NANMEAN NANSUM,

estos comando realizan las operaciones sin considerar los NAN,

Saludos

Fismat
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

RE:Ayuda con la media

Publicado por daniel (1 intervención) el 16/12/2009 23:46:57
debes poner


media=nanmean(x)
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