[MatLab] Media Progressiva

Messaggioda knofed » 09/10/2017, 22:59

salve a tutti, data la mia scarsa attitudine con matlab e con i linguaggi di programmazione in generale , ( studio ingegneria meccanica) avrei bisogno di un aiuto per calcolare una media prograssiva su matlab. Mi spiego: ho un vettore colonna composto da piu di 50000 valori, dovrei creare un vettore analogo dove ad ogni componente del vettore creato corisponde la media di tutti i precedenti valori del primo vettore. faccio un esempio :
Vettore iniz= [1;3;4;6;7;8] vettoremedia=[1;(1+3)/2 ; (1+3+4)/3 ; (1+3+4+6)/4 ; (1+3+4+6+7)/5 ; (1+3+4+6+7+8)/6 ].

spero di essere stato abbastanza chiaro e ringrazio anticipatamente tutti quelli che saprenno aiutarmi
knofed
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 09/10/2017, 22:41

Re: [MatLab] Media Progressiva

Messaggioda apatriarca » 10/10/2017, 19:18

Suppongo che il metodo più semplice sia il seguente:
Codice:
vettoremedia = cumsum(iniz)./(1:length(iniz));


EDIT: cumsum calcola la somma comulativa del vettore passato come argomento. Calcola cioè la somma degli elementi fino al particolare indice preso in considerazione. Dopodiché sto dividendo ogni numero per il suo indice: (1:length(iniz)) è il vettore di elementi 1, 2, 3.. length(iniz).
apatriarca
Moderatore
Moderatore
 
Messaggio: 4847 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite