[MatLab] Media Progressiva

knofed
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

Risposte
apatriarca
Suppongo che il metodo più semplice sia il seguente:
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).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.