Bonjour,
j'ai une colonne de 18151 données et j'aimerais que matlab me fasse une moyenne toutes les 24 données.
Comment cela est-il possible ?
Merci par avance![]()
Bonjour,
j'ai une colonne de 18151 données et j'aimerais que matlab me fasse une moyenne toutes les 24 données.
Comment cela est-il possible ?
Merci par avance![]()
Il faut que je fixe un pas de 24 ? Mais comment lui faire comprendre que je pars de la première valeur à la dernière ?
Bonjour,
une idée:
Il faudra peut être gérer la dernière itération séparément.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i = 1:round(18151/4) toto(i) = mean(mesDonnes(1+(i-1)*24:i*24,1)); end
sinon la fonction mean appliqué à une matrice de dimension m*n a la bonne idée de calculer les moyennes de n vecteur colonnes qui la compose
donc en faisant un truc du genre :
on obtient directement les moyennes sous forme d'un vecteur ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 mDonnees = zeros(24,ceil(numel(mesDonnees)/24)); mDonnees (1:numel(mesDonnees)) = mesDonnees(:); moyennes = mean(mDonnees )
Une alternative assez similaire à celle de le_fab
Sans prendre en compte les dernières valeurs ne formant pas un groupe de 24 :
En les prenant en compte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 s = 18151; M = rand(s,1); n = floor(s/24); m = mean(reshape(M(1:n*24), 24, []));
Ou directement avec la dernière version R2015a de MATLAB :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 s = 18151; M = rand(s,1); n = floor(s/24); M = [M ; nan((n+1)*24-s,1)]; m = mean(reshape(M, 24, [])); m(end) = mean(M((n*24+1):s));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 s = 18151; M = rand(s,1); n = floor(s/24); M = [M ; nan((n+1)*24-s,1)]; m = mean(reshape(M, 24, []), 'omitnan')
bonjour
pouvez vous me dire comment ce programme va lire les données du vecteur
Partager