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
Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!
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')
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
bonjour
pouvez vous me dire comment ce programme va lire les données du vecteur
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager