Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
je sollicite votre aide car je n'arrive pas à résoudre ce problème seul :
j'ai dans 6 colonnes des angles (provenant d'une girouette) allant de 0 à 360°.
Je souhaiterai faire la moyenne à la fin de chaque ligne de ces angles afin de les mettre sur un graphique pour les étudier (environ 4000 lignes de 6 colonnes).
Mon problème se pose lorsque les valeurs sont proches de 0°, c'est à dire par exemple 3*355° , et 3*2° ... ma moyenne est alors de 177.5° alors que je souhaiterai qu'elle soit de 358.5°.
J'ai trouvé une formule permettant de faire l'addition pour deux angles : ici la cellule B15 et la cellule A15
(…)
Je bute sur la moyenne de deux angles : 90 et 270.
Quel doit être le résultat : 0, 360 ou 180 ?
Normalement elle devrait renvoyer un message d'erreur car il n'y a pas de résultat !
(…)
Effectivement, dans le cas de deux angles fe mesure 90° et 270° (ou de tout couple d'angles dont la différence des mesures est un multiple de 180°), la moyenne n'est pas définie.
Plus généralement, la moyenne de n angles A1, A2, …, An tels que la somme des vecteurs unitaires d'angles A1, A2, …, An est nulle n'est pas définie.
S'agissant du relevé de direction par une girouette, je suppose que notre ami cherche une moyenne de directions relativement voisines ; par conséquent, ce cas délicat ne devrait pas se produire. Mais sait-on jamais ? Comme (trop) souvent, nous cherchons à résoudre un problème vaguement posé, sans aucun support ni échantillon représentatif des données possibles. C'est pourquoi nous envisagerons tout de même l'éventualité que la moyenne n'existe pas. Mais prenons les choses dans l'ordre…
(…)
J'ai aussi essayé la fonction MOD, comme pour un calcul d'heures avant et après 24:00
Il me semble que c'est la piste qu'il faudrait exploiter, mais je n'y suis pas encore parvenu.
(…)
Pas de doute, un calcul modulo 360 va apparaître. C'est une bonne piste. Mais c'est un peu court': il va falloir raffiner un tantinet.
En première approche, on se bornera au cas de deux angles (plage B4:C4, par exemple).
On peut regarder quelque chose comme
Code:
=MOD(MOYENNE(B4:C4);360)
La fonction modulo 360 permettra de ramener le résultat dans l'intervalle [0 ; 360[.
Hélas, comme on pouvait s'en douter, cela ne fonctionne pas toujours' pour 1° et 359° on préférerait trouver 0° plutôt que 180°.
On observe que le résultat n'est correct que si MAX(B4:C4)-MIN(B4:C4)<180°(Nous avons déjà évoqué le cas litigieux de l'égalité à 180° : nous le règlerons plus tard.)
Si MAX(B4:C4)-MIN(B4:C4)>180° on voit que le résultat correct est celui de la formule décalé de 180°.
Ce qu'ayant vu, le problème est résolu': pour rattraper ce décalage, il suffit d'ajouter 360° à MIN(B4:C4). La formule devient
Sous la dernière pièce jointe, remplace la valeur de E19 par 270
Ta formule renvoie 13.3, la mienne aussi (S19), nous sommes donc d'accord.
Mais la moyenne de B19:G19 est 73.3 !
C'est pourquoi je disais que l'amplitude autorisée est de maximum 180.
Teste aussi avec les valeurs : 0, 60, 120, 180, 240 et 360
Nos deux formules renvoient 345, le résultat devrait être 165
Pour le moment je ne cherche plus la formule, j'essaie de comprendre le pourquoi de cette amplitude maximum (avec des petits dessins, c'est plus facile !).
Je n'ai pas compris grand chose du problème
Tibo, ne serais-tu pas quelque peu modeste ?
La limite des 190 est due au fait qu'au-delà de cette valeur il y a possibilité d'obtenir deux résultats avec les mêmes valeurs mais disposés dans un ordre différent :
10.0, 70.0, 130.0, 190.0, 250.0 et 310.0
190.0, 250.0, 310.0, 10.0, 70.0 et 130.0
En supposant que les valeurs sont affichées dans un ordre chronologique, la moyenne de la première série est 160, de la deuxième 340, soit une différence de 180.
Si les six valeurs représentent les relevés d'une journée (toutes les quatre heures) le résultat n'est pas fort fiable, car en faisant la moyenne, y compris des valeurs intermédiaires (toutes les heures), on obtiendra probablement un résultat différent.
Dans ce cas le mieux serait de prendre la moyenne des deux valeurs extrêmes.
De plus, après consultation des relevés de l'IRM (Institut Royal Météorologique - Belgique) il n'y a pas d'exemple d'un changement de direction du vent de plus 180 en une seule journée.
Raisonnement forcément valable aussi si les six valeurs représentent les relevés d'une heure (toutes les 10 minutes).
Édition :
Salut juju, je n'avais pas pris connaissance de ton dernier message avant de rédiger le mien.
Juste un petit fichier d'aide pour visualiser facilement vos diverses configurations ; on voit d'un coup d'oeil si la formule ne convient pas.
Il suffit de faire un Copier-Coller des valeurs d'angles dans les cellules jaunes et vos formules dans les cellules vertes puis de double-cliquer en face de la ligne à représenter.
On peut augmenter le nombre de lignes, à condition d'insérer les cellules avant la dernière ligne pour conserver le nom de plage et la MFC.
A deux relevés correspondent deux moyennes possibles suivant que le vent se soit déplacé dans le sens des aiguilles d'une montre ou dans le sens contraire, la différence entre ces deux moyennes étant égale à 180.
Lorsque ces deux relevés ont des valeurs proches l'une de l'autre, la logique voudrait que ce soit dans le sens de la plus petite différence.
Idem pour six relevés dont la différence entre le maximum et le minimum est faible.
Ce qu'il faudrait savoir :
- le temps écoulé entre deux relevés successifs, une heure, une journée ou autre chose ?
- statistiquement l'écart maximum observé entre deux et six relevés ?
Le formule proposée se base sur deux hypothèses :
- la girouette se déplace dans la direction du plus écart entre deux relevés
- l'angle de déplacement entre les valeurs minimum et maximum de six relevés ne dépassent jamais 180
Avec une réponse à ces questions et en pièce jointe un exemple de relevés réels permettrait d'y voir plus clair.
Ce qu'il faudrait savoir :
- le temps écoulé entre deux relevés successifs, une heure, une journée ou autre chose ?
- statistiquement l'écart maximum observé entre deux et six relevés ?
Le formule proposée se base sur deux hypothèses :
- la girouette se déplace dans la direction du plus écart entre deux relevés
- l'angle de déplacement entre les valeurs minimum et maximum de six relevés ne dépassent jamais 180
Avec une réponse à ces questions et en pièce jointe un exemple de relevés réels permettrait d'y voir plus clair.
Pardon je n'avais pas pensé à mettre un échantillon représentatif du problème 😕
Celui ci l'est : j'ai mi en orange les cases ou =moyenne() ne fonctionne plus
Ici il n'y a qu'une colonne de concernée, mais il pourrait bien sur y avoir 3 colonnes avec des valeurs inférieures à 90° et 3 autres supérieures à 270°.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD