Matlab - Ciclo no funciona con el comando "mean"

 
Vista:

Ciclo no funciona con el comando "mean"

Publicado por kamux (2 intervenciones) el 16/12/2010 17:05:04
Hola amigos, tengo el siguiente problemita a ver si alguien sabe si estoy cometiendo algun error y me ayude a solucionarlo.

Tengo el siguiente codigo:
-------------------------------------------------------------------------------------------------------------------------------------
clc;
H=[1.72 1.71 1.63 1.70 1.65 1.75 1.68 1.71 1.65 1.69 1.67 1.71 1.72 1.64 1.63 1.66 1.70 1.66 1.64 1.71 1.66 1.68 1.68 1.73 1.70];
promedio=mean(H);
for i=1:1:25
if promedio==H(i)
fprintf('\nLa curva es XXX');
else
fprintf('\nMe cago en la hostia');
end
end
--------------------------------------------------------------------------------------------------------------------------------------

calculo el promedio del Vector H y lo guardo en "promedio", despues hago un ciclo y pregunto si promedio=H(i), pero aunque promedio esta 3 veces en H, nunca lo encuentra. Lo raro es que si en vez de calcular el promedio, coloco directamente el valor del promedio, osea, coloco: promedio=1.68, entonces asi si funciona.

Esto me tiene con la cabeza a reventar.... es que acaso cuando usas mean no puedes o no sirve usar for o if?
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:Ciclo no funciona con el comando

Publicado por Jorge (226 intervenciones) el 18/12/2010 23:39:43
El valor de mean(H) es 1.6832, que no corresponde a ninguno de los valores de H, de tal manera que el if siempre se resuelve en el segundo caso. No hay nada raro.

O sea, estás comparando un valor que no está en el vector, con valores que sí están en el vector. La comparación es siempre falsa, obvio.

Funciona exactamente como debe funcionar.
No entiendo qué esperas obtener...
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