Matlab - promedios diarios

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

promedios diarios

Publicado por arturo (10 intervenciones) el 11/01/2019 23:51:24
Hola, debo sacar promedios diarios, he medido el calor latente por varios dias y quiero tener un valor promedio diario. Los valores se registran cada media hora, sin embargo no todos los dias tienen el mismo numero de datos. No pongo mis datos porque son miles pero pongo un problema como ejemplo (no acorde con la realidad pero facil de entender)

dia=[1,1,1,2,2,2,3,3,4]
valor=[-1,7,-1,5,10,-3,1,4,-2]

de acuerdo con este ejemplo mis promedios diarios quedarian

promedio=[1.66,4,2.5,-2]
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

promedios diarios

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/01/2019 00:50:33
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all
dia=[1,1,1,2,2,2,3,3,4]
valor=[-1,7,-1,5,10,-3,1,4,-2]
% de acuerdo con este ejemplo mis promedios diarios quedarian
p=dia.*valor;
D=unique(dia);
for i=1:length(D)
[~,b]=find(dia==D(i));
n=p(b);
d=dia(b);
promedio(i)=sum(n)/sum(d);
end
promedio


1
2
3
4
5
6
7
>> promedios
dia =
     1     1     1     2     2     2     3     3     4
valor =
    -1     7    -1     5    10    -3     1     4    -2
promedio =
    1.6667    4.0000    2.5000   -2.0000


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

promedios diarios

Publicado por arturo (10 intervenciones) el 12/01/2019 01:30:23
Muchas gracias por la respuesta, pero ahora tengo otra duda, si en mis valores tengo NaN, por ejemplo

valor=[-1,NaN,-1,5,10,NaN,1,4,-2]
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
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

promedios diarios

Publicado por arturo (10 intervenciones) el 12/01/2019 02:03:16
valor=[-1,NaN,-1,5,10,NaN,1,4,-2];
dia=[1,1,1,2,2,2,3,3,4]
promedio=[-1,7.5,2.5,2]
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

promedios diarios

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/01/2019 02:27:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clc
clear all
dia=[1,1,1,2,2,2,3,3,4]
 %valor=[-1,7,-1,5,10,-3,1,4,-2];
valor=[-1,NaN,-1,5,10,NaN,1,4,-2]
a=~isnan(valor);
dia=dia(a);
valor=valor(a);
% de acuerdo con este ejemplo mis promedios diarios quedarian
p=dia.*valor;
D=unique(dia);
for i=1:length(D)
[~,b]=find(dia==D(i));
n=p(b);
d=dia(b);
promedio(i)=sum(n)/sum(d);
end
promedio


1
2
3
4
5
6
7
>> promedios
dia =
     1     1     1     2     2     2     3     3     4
valor =
    -1   NaN    -1     5    10   NaN     1     4    -2
promedio =
   -1.0000    7.5000    2.5000   -2.0000
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar