Matlab - calcular media

   
Vista:

calcular media

Publicado por Aura (33 intervenciones) el 08/08/2012 13:21:38
Buenas,

tengo una matriz de valores, donde se han sustituido por -999 las celdas que no tenían valor. Quisiera calcular el valor medio por columnas, sin embargo no sé cómo evitar que lo calcule utilizando los -999.

clc
close all
clear all
% matriz de ejemplo
A=[1 2 -999 3
-999 -999 -999 5
6 7 -999 8]
% cálculo de la media
a=mean(A)
% intento de cálculo de la media evitando el -999
for i=1:4
for j=1:3
if A(j,i)>-999
b(1,i)=mean(A(i))
end
end
end

Gracias :D
Aura.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

calcular media

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 08/08/2012 15:31:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
%% http://www.lawebdelprogramador.com/foros/Matlab/1344362-calcular_media.html
%% calcular media
%% tengo una matriz de valores, donde se han sustituido por -999 las celdas
% que no tenían valor. Quisiera calcular el valor medio por columnas,
% sin embargo no sé cómo evitar que lo calcule utilizando los -999.
% matriz de ejemplo
clear all
A=[1 2 -999 3; -999 -999 -999 5;6 7 -999 8];
columna=size(A,2);
medias=zeros(1,columna);
for j=1:columna
 indice=find(A(:,j)~=-999);
 a=A(indice,j);
 medias(j)=mean(a);
end


1
2
3
4
EJECUCION
>> media1
medias =
    3.5000    4.5000       NaN    5.3333




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

calcular media

Publicado por Aura (33 intervenciones) el 09/08/2012 09:54:40
¡Muchas gracias José! :D
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