Aller au contenu

Moyenne glissante sur scilab/matlab

Featured Replies

Posté(e)

Voila j'ai une matrice 50x6. La première colonne correspond à des années rangées de la plus grande à la plus petite (de 2006 [ligne 1] à 1953 [ligne 50]). La 5ème coloone correspond nombre de jours avec plus de 20cm au sol.

Je dois calculer la moyenne glissante sur 10 ans du nombre de jours avec plus de 20cm au sol (exemple : la moyenne de 1974 à 1983 pour l’année 1983)

J'ai utilisé cette commande:

p = 50

Moyenne = filter(ones(1,p)/p,1,A(:,5))

Le problème est que les 9 premières valeurs obtenues ne me donnent pas une moyenne glissante car on divise par 10 une sommes inférieure à 10. Et il me manque les 10 dernières valeurs car arrivé à la 41ème ligne on à moins de 10 valeurs. Il faudrait enlever 1 à chaque fois.

Merci de votre aide (j'espère avoir été assez clair dans mon explication)

Posté(e)

for i = 1:length(X)
M(i) = mean(X(max([1 i-10]):i))
end

en supposant que X soit le vecteur sur lequel tu veux calculer ta moyenne.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.