Matlab - Promedio de loa valores de una lista

 
Vista:
sin imagen de perfil
Val: 35
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Promedio de loa valores de una lista

Publicado por Ariadna (20 intervenciones) el 28/07/2019 12:49:22
Tengo una lista de este tipo:
newtemp =[ 13 12 11 9 0 0 6 5 0]

Necesito hacer un promedio de los datos distintos de cero consecutivos, es decir que quedará de esta manera:

new=[11.25 0 0 0 0 0 5.5 0 0]

Alguien sabría como hacerlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
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

Promedio de loa valores de una lista

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/07/2019 17:43:11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
a =[ 13 12 11 9 0 0  6 5 0 0 0 12 15 5 0 0 0 0 12 0]
s=0;
n=0;
b=[];
for i=1:length(a)
    if a(i)~=0
        n=n+1;
        s=s+a(i);
    end
    if a(i)==0 && s~=0
        p=s/n;
        b=[b p zeros(1,n-1)];
        s=0;
        n=0;
     elseif a(i)~=0 && s~=0  && i==length(a)
        p=s/n;
        b=[b p zeros(1,n-1)];
    end
 
    if a(i)==0 && s==0
        b=[b  0];
    end
end
b


1
2
3
4
5
6
7
8
9
10
> polyfit2
 
a =
 
    13    12    11     9     0     0     6     5     0     0     0    12    15     5     0     0     0     0    12     0
 
 
b =
 
   11.25         0       0       0       0      0    5.5       0       0       0       0   10.67      0      0      0      0       0         0   12         0
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