ich suche dringend eine Formel, um Winkel zu mitteln. Ich habe selbst schon
einige Zeit darauf verwandt eine Lösung zu suchen, war aber erfolglos
(sowohl bei Literatur als auch mit selbst Überlegen :-))
Gruss
Thiemo
Was verstehst du unter Winkel mitteln ?
Bitte, beschreibe die Aufgabenstellung genauer !
Was ist gegeben, was ist gesucht ?
Koenntest du deine (eventuell falschen) Ueberlegungen mitteilen, da der Ansatz
doch richtig sein koennte ?
--
_____________________________________________________________
NewsGroups Suchen, lesen, schreiben mit http://netnews.web.de
Gegeben sind verschiedene Richtungen auf der Windrose. Nun brauche ich den
Mittelwert von den Windrichtungen. Das Problem ist die Unstetigkeit bei
360° -> 0°. Zwei Beispiele:
1. alpha1 = 150°, alpha2 = 210°: arithmetisches Mittel: 180° -> alles
paletti
2. alpha1 = 30°, alpha2 = 330°: arithmetisches Mittel: 180° -> falsch
Problem:
bei nur zwei Winkeln ist die richtige Lösung relativ einfach zu finden. Ich
habe aber bis zu zwölf davon!
Gruss
Thiemo
>Gegeben sind verschiedene Richtungen auf der Windrose. Nun brauche ich den
>Mittelwert von den Windrichtungen. Das Problem ist die Unstetigkeit bei
>360° -> 0°. Zwei Beispiele:
>1. alpha1 = 150°, alpha2 = 210°: arithmetisches Mittel: 180° -> alles
>paletti
>2. alpha1 = 30°, alpha2 = 330°: arithmetisches Mittel: 180° -> falsch
>Problem:
>bei nur zwei Winkeln ist die richtige Lösung relativ einfach zu finden. Ich
>habe aber bis zu zwölf davon!
Ich glaube, dein Problem ist, dass du selbst nicht weißt, wie dieses
Mittel definiert sein soll. Wüsstest du es, könntest du es auch
berechnen. Also: was soll das Mittel von 50°, 120° und 270° sein - und
viel wichtiger: warum kommst du auf eine bestimmte Antwort?
Ein Spezialfall wäre, wenn alle Richtungen innerhalb eines Halbkreises
liegen. Dann könnte man von allen Winkeln die Mitte des Halbkreises
subtrahieren (ergibt den Bereich von -90° bis +90°), dann mitteln und
am Schluss dasselbe wieder addieren.
Helmut Richter
Also bei zwei Winkeln ist das recht einfach. Man wählt oBdA alpha2 > alpha
1. Dann berechnet man Delta = alpha2 - alpha1.
Fallunterscheidung:
1. delta < 180°
Der gesuchte Winkel ist: alpha1 + delta/2
2. delta > 180°
Man bilde die Differenz delta' = 360° - delta.
Der gesuchte Winkel ist nun:
(alpha2 + delta'/2) mod 360°
Sprich: Werden die 360° überschritten, so führt man es auf einen Winkel
zwischen 0° und 360° zurück.
3. delta = 180°
Hier gibt es keine eindeutige Lösung. Es kommen sowohl alpha1 + 90° als auch
alpha2 + 90° (natürlich wiederum auf Winkel zwischen 0° und 360°
zurückgeführt) als Lösung in Betracht.
Da ist natürlich die Frage, was Du denn genau damit machen willst.
Die gleiche Frage stellt sich mir auch, wenn ich es für mehr als 2 Winkel
lösen will. Nehmen wir mal an, Du hast drei Winkel alpha1 = 0°, alpha2 =
120° und alpha3 = 240°. Was soll jetzt hier (warum) der Mittelwert sein?
Also poste doch bitte mal, was Du denn genau mit der Lösung vorhast, dann
kann man Dir da besser helfen.
cu Michi
Der Spezialfall mit zwei Winkeln ist trivial.
>Also poste doch bitte mal, was Du denn genau mit der Lösung vorhast, dann
>kann man Dir da besser helfen.
Es geht darum, bei Windrichtungsmessungen 10-Minuten-Mittelwerte
Stundenmittelwerte zu generieren. undefinierte Werte sind tatsächlich ein
Problem. Allerdings kann man vielleicht davon ausgehen, dass man irgendeinen
Winkel nimmt, z. B. 0°, da der so richtig oder falsch wie alle anderen bzw.
das Weglassen ist.
Weitere Ideen?
Gruss Thiemo
PS: Ich knoble immer noch daran herum, aber im Moment scheint mir die Sache
sehr komplex zu werden. Ich werde sehr wahrscheinlich in Kürze mehr posten.
Das Problem ist, dass der Mensch ein "kontinuerliches" Gebilde wie den Kreis
auf eine Zahlenstrecke aufgebogen hat er hat künstlich einen Anfang und ein
Ende in den Kreis gefügt.
>Ein Spezialfall wäre, wenn alle Richtungen innerhalb eines Halbkreises
>liegen. Dann könnte man von allen Winkeln die Mitte des Halbkreises
>subtrahieren (ergibt den Bereich von -90° bis +90°), dann mitteln und
>am Schluss dasselbe wieder addieren.
Spezialfälle sind in der Regel einfacher als der Allgemeinfall zu lösen.
Aber genau letzterer interessiert. In meinen Gedankengängen bin ich
allerdings schon ein bisschen weiter gekommen als Dein Spezialfall. "Finde
die zwei benachbarten Punkte mit dem grössten Abstand von einander. Wenn nun
0° dazwischen liegt, kann arithmetisch gemittelt werden. Wenn nicht drehe
die Punkte soviel, dass 0° dazwischen zu liegen kommt. Was, wenn ich nun
mehrere solcher grösster Abstände habe?"
Anregungen?
Thiemo
ich habe mal einen Vorschlag, weiss aber nicht, ob der letzte Teil allgemein
ist oder ob es Fälle gibt, denen mein "Kochrezept" nicht gerecht wird.
- Finde die zwei benachbarten Punkte mit dem grössten Abstand voneinander
- Wenn 0° dazwischen liegt
- arithmetisch mitteln
- sonst
- Wenn es nur zwei Punkte mit diesem grössten Abstand gibt
- drehe alle Punkte um soviel, dass 0° zwischen diesen beiden Punkten
zu liegen kommt
- arithmetisch mitteln
-mache die Drehung rückgängig
-sonst
- Finde die zwei Punkte von den Punkten mit grösstem Abstand
voneinander, die am weitesten auseinander sind
- drehe alle Punkte um soviel, dass 0° zwischen diese beiden neuen
Punkte zu liegen kommt
- arithmetisch mitteln
- mache die Drehung rückgängig
Bemerkungen?
Thiemo
>Es geht darum, bei Windrichtungsmessungen 10-Minuten-Mittelwerte
>Stundenmittelwerte zu generieren. undefinierte Werte sind tatsächlich ein
>Problem. Allerdings kann man vielleicht davon ausgehen, dass man irgendeinen
>Winkel nimmt, z. B. 0°, da der so richtig oder falsch wie alle anderen bzw.
>das Weglassen ist.
Wäre es da nicht besser und zudem eindeutiger, man multiplizierte das
ganz mit der Windgeschwindigkeit? D.h. wenn der Wind mit Stärke 2 aus
N und dann mit 1 aus W bläst, dann insgesamt aus NNW statt aus NW?
Aber da kommt mir die rettende Idee: Wir nehmen einfach an, die
Windgeschwindigkeiten wären alle 1: dann lösen wir durch Mittelung der
Vektoren das ursprüngliche Problem. Also sin-Werte mitteln, cos-Werte
mitteln und dann den arctan von Øsin/Øcos. Welcher der beiden
arctan-Werte, ergibt sich daraus,welches Vorzeichen Øsin und Øcos
haben.
Helmut Richter
Hallo !
Das scheint recht kompliziert !
Winkel im Kreis kann von 0 bis 360 grad ( 360 grad ausgeschlossen, wegen der
Eindeutigkeit ) messen,
es geht aber auch von -180 grad bis +180 grad ( + 180 grad ausgeschlossen ! )
Koennte man diesen Gedanken weiterverfolgen ?
Wolfgang
Und was wäre die physikalische Bedeutung davon?
>Aber da kommt mir die rettende Idee: Wir nehmen einfach an, die
>Windgeschwindigkeiten wären alle 1: dann lösen wir durch Mittelung der
>Vektoren das ursprüngliche Problem. Also sin-Werte mitteln, cos-Werte
>mitteln und dann den arctan von Øsin/Øcos. Welcher der beiden
>arctan-Werte, ergibt sich daraus,welches Vorzeichen Øsin und Øcos
>haben.
Hab' ich schon versucht, funktioniert aber leider nicht. Entweder habe ich
etwas falsch gemacht, oder die lineare Mittelung verträgt sich nicht mit den
trigonometrischen Funktionen.
Vielleicht hast Du aber Bemerkungen zu meinem Posting "Winkelmessung 1.
Fassung" von 15:02 Uhr. Ich weiss allerdings nicht, wie ich die Sonderfälle
abfangen könnte, die keine definierte Richtung ergeben.
Gruss
Thiemo
Wenn ich nur schon Deinen Gedanken verstanden hätte! Was willst Du mit dem
Winkel im Kreis von 0° - 360° bezwecken und was mit -180° - 180°?
Thiemo
Auch mir kommt die Lösung reichlich kompliziert vor.
Mir erscheinen diese Drehungen als unnötig, aber vielleicht habe ich da was
übersehen.
Ich würde es wie folgt machen:
Du hast n Winkel, wir bezeichnen sie mit alpha1 bis alpha n.
Dazu gibst Du jedem Winkel eine "Stärke" a1 bis an, die Du am Anfang auf 1
setzt (um das arithmetische Mittel richtig zu berechnen).
Nun berechnest Du das arithmetische Mittel von alpha1 und alpha n, bekommst
so einen neuen Winkel alpha 1 und eine neue Stärke a1 = 2 .
Die Stärke von an wird auf 0 gesetzt, da sie nun "ersetzt" ist.
Da Du ja eigentlich keine Windstärken oder Zeiträume verwendest, könntest Du
so auch einen Ausgleichsmechanismus für zwei entgegengesetze Winde finden,
indem Du einfach sagst, beide heben sich gegenseitig auf. Sind also alpha i
= alpha j und a i = a j, so setze einfach a i = a j = 0.
Ich bin mir nicht sicher, wie Du das arithmetische Mitteln der Winkel
gemeint hast, sprich: berücksichtigst Du, ob der Winkel von Anfang an da war
oder im n-ten Schritt berechnet ist?
cu Michi
>>Wäre es da nicht besser und zudem eindeutiger, man multiplizierte das
>>ganz mit der Windgeschwindigkeit? D.h. wenn der Wind mit Stärke 2 aus
>>N und dann mit 1 aus W bläst, dann insgesamt aus NNW statt aus NW?
>Und was wäre die physikalische Bedeutung davon?
Die Richtung, in die ein Blatt insgesamt geflogen ist, das man am
Anfang losgelassen hat und das seitdem vom Wind bei wechselnden
Windrichtungen und -geschwindigkeiten fortgetragen wurde.
>>Aber da kommt mir die rettende Idee: Wir nehmen einfach an, die
>>Windgeschwindigkeiten wären alle 1: dann lösen wir durch Mittelung der
>>Vektoren das ursprüngliche Problem. Also sin-Werte mitteln, cos-Werte
>>mitteln und dann den arctan von Øsin/Øcos. Welcher der beiden
>>arctan-Werte, ergibt sich daraus,welches Vorzeichen Øsin und Øcos
>>haben.
>Hab' ich schon versucht, funktioniert aber leider nicht. Entweder habe ich
>etwas falsch gemacht, oder die lineare Mittelung verträgt sich nicht mit den
>trigonometrischen Funktionen.
Weiß nicht, warum das nicht gehen soll. Man addiert (oder mittelt, das
ist dasselbe, weil man sich am Ende nur für die Richtung, nicht aber
den Betrag interessiert) Einheitsvektoren in der jeweiligen Richtung
und bekommt einen mittleren Vektor. Der ist kein Einheitsvektor,
sondern i.d.R. kürzer (bei Mittelung), man darf also nicht arcsin und
arccos bilden, sondern arctan vom Quotienten. Warum sollte das nicht
gehen? Bitte ein Beispiel wo etwas anderes herauskommt als du
wolltest.
Ohne Gewähr so (s und c seinen Mittelwerte oder Summen von Sinus
bzw. Cosinus):
if (c == 0) {
if (s > 0) {
w = pi/2;
} else if (s < 0) {
w = 3*pi/2;
} else {
w = undefiniert;
};
} else {
w = Math.atan (s/c);
if (c < 0) {
w += pi;
};
if (w < 0) {
w += 2*pi;
};
};
grad = 57.2957795130823208 * w;
>Vielleicht hast Du aber Bemerkungen zu meinem Posting "Winkelmessung 1.
>Fassung" von 15:02 Uhr. Ich weiss allerdings nicht, wie ich die Sonderfälle
>abfangen könnte, die keine definierte Richtung ergeben.
Keine definierte Richtung ergibt sich, wenn am Ende alles im Kreis
ging, sich also die Vektoren zu einem Nullvektor aufaddieren.
Helmut Richter
Ich hätte auch lieber eine einfache.
>Dazu gibst Du jedem Winkel eine "Stärke" a1 bis an, die Du am Anfang auf 1
>setzt (um das arithmetische Mittel richtig zu berechnen).
>
>Nun berechnest Du das arithmetische Mittel von alpha1 und alpha n, bekommst
>so einen neuen Winkel alpha 1 und eine neue Stärke a1 = 2 .
>Die Stärke von an wird auf 0 gesetzt, da sie nun "ersetzt" ist.
>
>Da Du ja eigentlich keine Windstärken oder Zeiträume verwendest, könntest
Du
>so auch einen Ausgleichsmechanismus für zwei entgegengesetze Winde finden,
>indem Du einfach sagst, beide heben sich gegenseitig auf. Sind also alpha i
>= alpha j und a i = a j, so setze einfach a i = a j = 0.
Ïch muss Deine Method mal schnell ausprobieren, aber ich fürchte die
Unstetigkeit bei 0°/360° versaut alles.
>Ich bin mir nicht sicher, wie Du das arithmetische Mitteln der Winkel
>gemeint hast, sprich: berücksichtigst Du, ob der Winkel von Anfang an da
war
>oder im n-ten Schritt berechnet ist?
Nach meinen Schulbüchern ist das arithmetische Mittel wie folgt definiert:
mittel = summe(aller elemente)/anzahl(aller elemente).
Deine Methode ist eine arithmetische Mittelung in Stücken mit verschiedenen
Gewichtungen.
Ich melde mich, sobald ich mehr weiss.
Thiemo
> Ďch muss Deine Method mal schnell ausprobieren, aber ich fürchte die
> Unstetigkeit bei 0°/360° versaut alles.
>
Man koennte doch auch groessere Gradzahlen als 360 zu lassen. Ich wuerde
sowieso eher mit Pi arbeiten. Dein Ergebnis muesstes Du dann nur noch modulo
2Pi berechnen.
Nicky
> Nach meinen Schulbüchern ist das arithmetische Mittel wie folgt definiert:
> mittel = summe(aller elemente)/anzahl(aller elemente).
>
> Deine Methode ist eine arithmetische Mittelung in Stücken mit
verschiedenen
> Gewichtungen.
Nein, ist meine Methode nicht.
Nimm mal folgendes Beispiel (ich mache es jetzt mal an der
Schulnotenberechnung fest):
Du hast drei Noten, und zwar 1,1 und 4.
Was bekommst Du ins Zeugnis? Richtig, (1+1+4) / 3 = 2,0
Nehmen wir an, Du rechnest so, wie Du es ohne "Gewichtung" machen würdest:
(1+4) / 2 = 2,5
Nun hast Du die Noten 1 und 2,5.
(1+2,5) / 2 = 3,5/3 = 1,75.
Rechnest Du hingegen:
(1 + 2* 2,5) / 3 = (1+5)/3 = 6/3 = 2, so hast Du das richtige arithmetische
Mittel errechnet.
Daher brauchst Du notwendigerweise so etwas wie die "Stärke".
cu Michi
Ob man in Grad oder Radiant rechnet, spielt keine Rolle. Die Unstetigkeit
bleibt. Das Problem ist, wenn man zwei Winkel mittelt, liegt der
Mittelwinkel auf dem kleineren Kreissegment zwischen den Winkeln. Wenn nun
aber das kleiner Kreissegment auch die Unstetigkeit bei 0°/360° bzw. 0/2Pi
enthält , versagt die pure arithmetische Mittelung. Bei zwei Winkeln kann
man das leicht korrigieren, denn das Ergebnis ist um 180° verdreht. Aber
sobald mehr als zwei Winkel im Spiel sind, wir die Sache gleich kompliziert,
ganz zu schweigen vom allgemeinen Fall.
Thiemo
Was meinst Du mit mod? Ganzzahldivision die den Rest als Resultat zurück
gibt?
>Nein, ist meine Methode nicht.
>Nimm mal folgendes Beispiel (ich mache es jetzt mal an der
>Schulnotenberechnung fest):
>Du hast drei Noten, und zwar 1,1 und 4.
>Was bekommst Du ins Zeugnis? Richtig, (1+1+4) / 3 = 2,0
>Nehmen wir an, Du rechnest so, wie Du es ohne "Gewichtung" machen würdest:
>(1+4) / 2 = 2,5
>Nun hast Du die Noten 1 und 2,5.
>(1+2,5) / 2 = 3,5/3 = 1,75.
>
>Rechnest Du hingegen:
>(1 + 2* 2,5) / 3 = (1+5)/3 = 6/3 = 2, so hast Du das richtige arithmetische
>Mittel errechnet.
Ist Dir nicht aufgefallen, dass Du mit der Multiplikation von 2,5 mit 2, die
Division von (1+4) mit 2 rückgängig machst? Du kannst genauso gut schreiben:
(1+1+4)/3
Beispiel mit Winkeln 340°, 10°, 40°:
nach Augenmass ist der Mittelwinkel dieser drei wieder 10°
nach Deiner Rechnung
(340+10)/2=175
(40+2*175)/3=390/3=130!!!
Das mit mod interessiert mich. Wenn es dabei tatsächlich um den Rest einer
Ganzzahldivision geht, musst Du mir das Konzept der Mittelung damit
Erklären; ich blick's nicht. Und wenn nicht musst Du mir erklären, worum es
bei mod sich dreht.
Gruss
Thiemo
> Was meinst Du mit mod? Ganzzahldivision die den Rest als Resultat zurück
> gibt?
Nun ja, das ist natürlich bei der Lösung im Bogenmaß nicht möglich ... da
gibt's ja "kaum" ganze Zahlen.
Wenn Du hingegen mit Winkeln in ganzen Grad rechnest, dann ist es in der Tat
der Rest der ganzzahligen Division. Im Prinzip geht es ja darum, die Winkel
> = 360° auf Winkel im Intervall [0°; 360°) zurückzuführen.
> >Nein, ist meine Methode nicht.
> >Nimm mal folgendes Beispiel (ich mache es jetzt mal an der
> >Schulnotenberechnung fest):
> >Du hast drei Noten, und zwar 1,1 und 4.
> >Was bekommst Du ins Zeugnis? Richtig, (1+1+4) / 3 = 2,0
> >Nehmen wir an, Du rechnest so, wie Du es ohne "Gewichtung" machen
würdest:
> >(1+4) / 2 = 2,5
> >Nun hast Du die Noten 1 und 2,5.
> >(1+2,5) / 2 = 3,5/3 = 1,75.
> >
> >Rechnest Du hingegen:
> >(1 + 2* 2,5) / 3 = (1+5)/3 = 6/3 = 2, so hast Du das richtige
arithmetische
> >Mittel errechnet.
>
> Ist Dir nicht aufgefallen, dass Du mit der Multiplikation von 2,5 mit 2,
die
> Division von (1+4) mit 2 rückgängig machst? Du kannst genauso gut
schreiben:
> (1+1+4)/3
Könnte man so formulieren. In der Tat führe ich das Problem von n auf n-1
Winkel / Noten zurück.
Dabei muß ich natürlich beachten, daß einer dieser Winkel schon das Mittel
aus zwei anderen ist.
> Beispiel mit Winkeln 340°, 10°, 40°:
> nach Augenmass ist der Mittelwinkel dieser drei wieder 10°
> nach Deiner Rechnung
> (340+10)/2=175
> (40+2*175)/3=390/3=130!!!
Okay, ich werde meine Lösung mal ein wenig umformulieren:
Setzen wir: alpha1 = 340°, a1=1, alpha2 = 10°, a2 = 1, alpha3 = 40°, a3 = 1
Du berechnest wie gehabt (hast Du ja richtigerweise auf mein Posting hin als
trivial erkannt) den "Mittelwinkel" zwischen alpha1=340 und alpha2=10°.
Da kommst Du dann natürlich auf 355°.
Dann berechnest Du das arithmetische Mittel aus 355° und 40°. Da aber nun
insgesamt 3 Winkel berücksichtigt wurden (a1+a3), müssen wir hier den
berechneten "Abstandswinkel" durch drei teilen. Also ergeben sich 15°.
Diesen "Abstandswinkel" trägst Du nun a3 mal an alpha1 an.
In unserem Falle also: 355° + 15° = 10°, wenn man es auf besagtes
Winkelintervall zurückführt.
Wie gesagt: Im Prinzip läuft alles wie im Trivialfall nur eben die
"Gewichtung" ist entsprechend zu beachten.
> Das mit mod interessiert mich. Wenn es dabei tatsächlich um den Rest einer
> Ganzzahldivision geht, musst Du mir das Konzept der Mittelung damit
> Erklären; ich blick's nicht. Und wenn nicht musst Du mir erklären, worum
es
> bei mod sich dreht.
Ich hoffe, hier war die obige Erklärung einigermaßen ausreichend.
Nachher werde ich wenn Du willst nochmal sauber den ganzen Algorithmus
formulieren und posten.
cu Michi
Ja, mod=Modulo =Rest bei Gnazzahldivision
>Beispiel mit Winkeln 340°, 10°, 40°:
>nach Augenmass ist der Mittelwinkel dieser drei wieder 10°
Ne, nicht nur nach Augenmaß sogar genau 10°. Öffnungswinkel zwischen 340°
und 40°=60°, Mitte liegt also bei (340°+60°/2) mod 360 = 40°-60°/2 = 10°!
>nach Deiner Rechnung
>(340+10)/2=175
Rechne doch statt 340 mit (340-360)= -20 (wegen Unstetigkeit besser
mit -180° bis 180° rechnen), damit (-20+10)/2=-5
>(40+2*175)/3=390/3=130!!!
Mir obigem Ergebnis (im Allgemeinfall evtl. wieder -360 nehmen):
(40+2*(-5))/3=10°
>Das mit mod interessiert mich. Wenn es dabei tatsächlich um den Rest einer
>Ganzzahldivision geht, musst Du mir das Konzept der Mittelung damit
>Erklären; ich blick's nicht. Und wenn nicht musst Du mir erklären, worum es
>bei mod sich dreht.
Mit Mod nutzt man die "Perodizität" (mir fällt gerade nichts bessers ein)
des Kreises aus, da man ja 380° zu 20° vereinfachen kann.
Mod bedeutet in diesem Fall also nur: subtrahiere solange einen Vollkreis,
bis nur noch ein Teilkreis vorhanden ist.
CU
Ralf
--
"Der Kluge lernt aus allem und jedem, der Normale aus seinen
Erfahrungen und der Dumme weiß schon alles besser." (Sokrates)
Nicky
Wenn Du nun aber NO, NNO und WSW hast bekommst Du:
(45°+22.5°+292.5°)/3=120°!!!!!!!
Thiemo
Das Drehen per Augenmass kann ich machen, wenn ich nur mal eben schnell EINE
Gruppe von Winkeln mitteln will. Ich habe aber HUNDERTE von Winkelgruppen
von bis zu zwölf Winkeln!!! Versuche mal nur schon einen brauchbaren
Drehungswinkel zu finden bei Winkeln die ziemlich gelichmässig um den Kreis
verteilt sind!
>Mit Mod nutzt man die "Perodizität" (mir fällt gerade nichts bessers ein)
>des Kreises aus, da man ja 380° zu 20° vereinfachen kann.
>Mod bedeutet in diesem Fall also nur: subtrahiere solange einen Vollkreis,
>bis nur noch ein Teilkreis vorhanden ist.
Das kannst Du verwenden, um Winkel grösser als 360° wieder in [0°..360°)
zurückzuführen, was aber auf die Fragestellung keinen Einfluss hat. Denn das
(arithmetische) Mittel von Zahlen ergibt eine Zahl, die zwischen der
kleinsten und der grössten der Ursprünglichen Zahlen zu liegen kommt.
Gruss
Thiemo
Ich mache noch ein Zahlenbeispiel und gebe detailliert die Schritte an, die
ich vollziehe. Ich hoffe, ich habe Deine Methode jetzt richtig verstanden.
Winkel: 320°, 10°, 40°
320°,10°: Differenz 50 -> 50/2=25 -> 320+25=345
345°,40°: Differenz 55 -> 55/3=18.3->345+18.3=363.3=3.3
Mit Drehungsmethode +70°:
320°->10°, 10°->80°, 40°-110°
(10+80+110)/3=200/3=66.6
Rückdrehung -70°: 66.6-70= -3.3=356.6
Wenn ich also Deine Methode richtig interpretiert habe, kann sie nicht
stimmen oder, was ich allerdings weniger glaube, stimmt die Drehungsmethode
nicht. Übrigens versuche ich die Drehungsmethode zu verallgemeinern, so dass
man sie für beliebige Winkel gebrauchen kann (vgl. Winkelmittelung 1.
Fassung).
Gruss
Thiemo
>
> Gegeben sind verschiedene Richtungen auf der Windrose. Nun brauche ich den
> Mittelwert von den Windrichtungen. Das Problem ist die Unstetigkeit bei
> 360° -> 0°. Zwei Beispiele:
>
> 1. alpha1 = 150°, alpha2 = 210°: arithmetisches Mittel: 180° -> alles
> paletti
>
> 2. alpha1 = 30°, alpha2 = 330°: arithmetisches Mittel: 180° -> falsch
>
> Problem:
> bei nur zwei Winkeln ist die richtige Lösung relativ einfach zu finden. Ich
> habe aber bis zu zwölf davon!
>
Hallo Thiemo,
der Ansatz, etwas wie das arithmetische Mittel zu benutzen, erscheint
mir nicht sinnvoll. Das arithmetische Mittel setzt voraus, dass die
Merkmalsausprägungen, das sind hier die Windrichtungen, eine Rangordnung
haben. Nun kann man aber schlecht sagen, dass die Richtung NO mehr oder
weniger sei als NW.
Ich würde einen Ansatz über die Vektorrechnung benutzen. Du rechnest
jede Windrichtung in einen Vektor (cos(alpha)|sin(alpha)) um. Diese
Vektoren kannst du dann koordinatenweise addieren und erhälst dann einen
Vektor (a|b). Zum Schluß musst du das Ergebnis noch auf die Länge 1
normieren, indem du jede Koordinate durch sqrt(a^2+b^2) dividierst. Du
hast dann einen Vektor (a0|b0), der sich wieder als Winkel im
Einheitskreis interpretieren läßt, indem du arccos(a0) bzw arcsin(b0)
bestimmst. Du musst jedoch beachten, dass Rechner für Arkusfunktionen
nur eine Lösung liefern und du den Wert noch gemäß dem Quadranten
korrigieren musst.
Einen Sonderfall erhältst du, wenn die Summe (0|0) ergibt (was z.B. bei
zwei Richtungen der Fall ist für NW und SO). Diesen Sonderfall kann man
so deuten, dass die Windrichtungen auf der Windrose gleichmäßig verteilt
sind. Dann macht aber auch eine bestimmte Richtung als 'Mittelwert'
keinen Sinn.
Vielleicht kommst du mit diesem Ansatz weiter.
MfG
Regina
> Ich mache noch ein Zahlenbeispiel und gebe detailliert die Schritte an,
die
> ich vollziehe. Ich hoffe, ich habe Deine Methode jetzt richtig verstanden.
> Winkel: 320°, 10°, 40°
> 320°,10°: Differenz 50 -> 50/2=25 -> 320+25=345
> 345°,40°: Differenz 55 -> 55/3=18.3->345+18.3=363.3=3.3
>
> Mit Drehungsmethode +70°:
> 320°->10°, 10°->80°, 40°-110°
> (10+80+110)/3=200/3=66.6
> Rückdrehung -70°: 66.6-70= -3.3=356.6
>
> Wenn ich also Deine Methode richtig interpretiert habe, kann sie nicht
> stimmen oder, was ich allerdings weniger glaube, stimmt die
Drehungsmethode
> nicht. Übrigens versuche ich die Drehungsmethode zu verallgemeinern, so
dass
> man sie für beliebige Winkel gebrauchen kann (vgl. Winkelmittelung 1.
> Fassung).
Du hast die Winkel 320°, 10° und 40°. Wo liegt der Mittelwinkel nach
Augenmaß? Ich würde sagen: leicht im 1. Quadranten, da ja die Winkel 320°
und 40° gleich weit vom Winkel 0° entfernt sind und der dritte im 1.
Quadranten liegt.
Intuitiver ist auf jeden Fall die Lösung 3,3°. Wenn man das arithmetische
Mittel "naiv" definiert, dann würde ich sage, Deine Drehungslösung ist hier
falsch.
Ich werde mir nachher noch mal einige Gedanken dazu machen und dann nochmal
posten.
cu Michi
Ich habe das mathematisch gemacht, nicht per Augenmaß.
>Winkelgruppen von bis zu zwölf Winkeln!!! Versuche mal nur schon einen
>brauchbaren Drehungswinkel zu finden bei Winkeln die ziemlich gelichmässig
>um den Kreis verteilt sind!
Wieso willst Du eigentlich immer drehen? Nimm doch ganz einfach (wenn du
eine Anzahl N=2^n (sollte sich einrichten lassen nimm eben 16 statt 12) von
Winkeln hast) jeweils zwei Winkel, bestimme ihren Mittelwert (mit der obigen
Methode Öffnungswinkel/2 -> (Einer der Winkel + Oeffnugswinkel/2) mod 360 ->
neuer Winkel) nach n solchen Mittelungsschritten hast Du dein Ziel erreicht.
Ansonsten die Methode mit der "Gewichtung" von Carl Michael mit der Mod
Ergänzung.
Ansonsten mache es doch einfach mit Trigonometrischen Fkt.
>>Mit Mod nutzt man die "Perodizität" (mir fällt gerade nichts bessers ein)
>>des Kreises aus, da man ja 380° zu 20° vereinfachen kann.
>>Mod bedeutet in diesem Fall also nur: subtrahiere solange einen Vollkreis,
>>bis nur noch ein Teilkreis vorhanden ist.
>Das kannst Du verwenden, um Winkel grösser als 360° wieder in [0°..360°)
>zurückzuführen, was aber auf die Fragestellung keinen Einfluss hat. Denn
>das
Aber für die Methode wichtig ist.
>(arithmetische) Mittel von Zahlen ergibt eine Zahl, die zwischen der
>kleinsten und der grössten der Ursprünglichen Zahlen zu liegen kommt.
Bei obiger Methode wird eben nicht das arithmetische Mittel (Dein Fehler, Du
klebst am arithmetischen Mittel), sondern der "Mittelwinkel" bestimmt, der
kann über 360° liegen, deshalb Rückführung auf <360°.
Leider nicht. Ich muss die Winkel mitteln, die ich habe, was zwischen 1 und
12 alles sein kann. :-(
>Bei obiger Methode wird eben nicht das arithmetische Mittel (Dein Fehler,
Du
>klebst am arithmetischen Mittel), sondern der "Mittelwinkel" bestimmt, der
>kann über 360° liegen, deshalb Rückführung auf <360°.
Geb' ich unumwunden zu. Man hängt halt doch sehr an dem, was einem vertraut
ist. Ich hab' schon immer das arithmetische Genommen, um die Mitte von zwei
Dingen zu finden. Ich kenne zwar auch das geometrische Mittel (sqrt(a*b)),
aber dessen Bedeutung geht mir ziemlich ab. Geometrisch gesprochen ist das
die Seitenlänge des Quadrates mit derselben Fläche wie das Rechteck der
Seitenlängen a und b, aber wozu ich das dann gebrauchen kann, weiss ich auch
nicht.
Auf jeden Fall werde ich Michis Methode nochmals genauer anschauen, weil er
darauf gestossen ist, dass das arithmetische Mittel nicht mal bei relativ
einfachen Fällen korrekt ist. Ausserdem werde ich darum auch die Mittelung
im x-y-Koordinatensystem nochmals anschauen, die ich verworfen hatte, weil
sie andere Resultate ergeben hatte als die arithmetische Winkelmittelung,
die ich ja als korrekt angenommen hatte, aber eben sehr schwierig mit all
den Drehungen und Ausnahmen zu implementieren.
Gruss
Thiemo
Punkt für Dich. :-)
Ich probier' dann mal Deine Methode mit einigen Beispielen aus, mal sehen,
ob
sie besteht.
Thiemo
Dasselbe gilt allerdings für die normale Zahlengeraden. Man kann zwar
argumentieren, dass dabei eine Rangordnung bestünde, da ja grössere Zahlen
weiter von 0 weg sind, aber das selbe gilt für die Winkel eines Kreises. Das
Problem des Kreises ist hingegen, dass bei 360° einfach Ende Fahnenstange
ist und die ganze Sache wieder bei 0° beginnt, in diesem Sinne eine
Unstetigkeit. Das ist inzwischen aber schon irrelevant, da mir gezeigt
wurde, dass das arithmetische Mitteln mit Drehen, um der Unstetigkeit aus
dem Weg zu gehen, intuitiv nicht stimmt. Bsp.: Winkel 320°, 10° und 40°; die
arith. Mittelung mit Drehung ergibt -3.3°, während man von Auge sagen würde,
dass die Mitte zwischen 0° und 10° liegt, wobei näher an 0°.
>Ich würde einen Ansatz über die Vektorrechnung benutzen. Du rechnest
Diese Variante hatte ich schon verworfen, weil sie nicht dieselben Resultate
liefert, wie die arith. Mittelung mit Drehung. Da ich letztere inzwischen
als nicht korrekt erkannt habe (aber nicht weil die Winkel keine Rangordnung
haben), werde ich die Koordinatentransformation nochmals aufgreifen. Im
übrigen scheint mir, die Projektion eines Winkels auf die Koordinatenachsen
ebenso mit einer Rangordung einherzugehen.
>Vektor (a|b). Zum Schluß musst du das Ergebnis noch auf die Länge 1
>normieren, indem du jede Koordinate durch sqrt(a^2+b^2) dividierst. Du
>hast dann einen Vektor (a0|b0), der sich wieder als Winkel im
>Einheitskreis interpretieren läßt, indem du arccos(a0) bzw arcsin(b0)
Ich denke, für den Winkel ist die Länge des Vektors unerheblich.
>bestimmst. Du musst jedoch beachten, dass Rechner für Arkusfunktionen
>nur eine Lösung liefern und du den Wert noch gemäß dem Quadranten
>korrigieren musst.
In Excel gibt's dafür die Funktion arctan2(a,b). Mal sehen, ob es die auch
in Visual Basic gibt. ;-)
>Einen Sonderfall erhältst du, wenn die Summe (0|0) ergibt (was z.B. bei
>zwei Richtungen der Fall ist für NW und SO). Diesen Sonderfall kann man
>so deuten, dass die Windrichtungen auf der Windrose gleichmäßig verteilt
>sind. Dann macht aber auch eine bestimmte Richtung als 'Mittelwert'
>keinen Sinn.
Das ist richtig. Allerdings ist keine Richtung dann so gut oder schlecht wie
irgendeine.
Gruss
Thiemo
>
> Auf jeden Fall werde ich Michis Methode nochmals genauer anschauen, weil er
> darauf gestossen ist, dass das arithmetische Mittel nicht mal bei relativ
> einfachen Fällen korrekt ist. Ausserdem werde ich darum auch die Mittelung
> im x-y-Koordinatensystem nochmals anschauen, die ich verworfen hatte, weil
> sie andere Resultate ergeben hatte als die arithmetische Winkelmittelung,
> die ich ja als korrekt angenommen hatte, aber eben sehr schwierig mit all
> den Drehungen und Ausnahmen zu implementieren.
>
> Gruss
>
> Thiemo
Für 2 Winkel ist die "trigonometrische" Mittelung (siehe mein früheres Posting
in dsm) identisch zum arithmetischen Mittel. Ab drei Winkeln kann es
Unterschiede geben, die aber IMHO alle mit dem Problem der Unstetigkeit bei der
arithmetischen Mittelung zu tun haben. Es kann immer Fälle geben, bei denen ein
mittlerer Winkel eigentlich nicht definierbar ist, da es keine Vorzugsrichtung
gibt. Bei der trigonometrischen Mittelung ist dieser Fall sogar besonders
einfach erkennbar, da dann die Summe über die Cosini der Winkel und die Summe
über die Sini der Winkel beide gleichzeitig Null sind.
Warum willst Du eigentlich die "trigonometrische" Mittelung vermeiden?
Die Implementation ist straightforward und nachvollziehbar. Und das Ergebnis
stimmt mit der Anschauung bestens überein. Probleme mit der Rechenzeit bei den
Winkelfunktionen kann es ja bei ~10 Winkeln noch nicht sein.
Beste Grüße, Peter.
WIDERRUF:
Ich widerrufe meine obige Aussage, dass das arith. Mittel nicht stimmt. Bei
dem Beispiel, dass das hätte zeigen sollen, hatte ich einen dummen
Rechenfehler gemacht. Mea culpa, mea culpa. Auf jeden Fall muss ich Michis
Methode noch anschauen.
Thiemo
Stimmt, ich habe auch einen dummen Rechenfehler gemacht! Trotzdem, wenn
Deine Methode funktioniert...! Dann bin ich ziemlich viele sorgen los. :-)
Thiemo
Ok, noch ein anderer Schnellschuss, ohne dass ich jetzt die Zeit habe das
ganze mal durchzurechnen:
Jede gemessene Windrichtung wird duch eine Complexe Zahl auf dem Einheitskreis
dargestellt. Von diesen Zahlen wird das arithmetische Mittel berechnet, und
wenn es ungleich Null ist auf den Einheitskreisprojezieren. Dann hast Du deine
durchschnittliche Himmelsrichtung. Die Projektion ist leider notwendig, falls
mindestens zwei entgegengesetzte Himmelsrichtungen auftauchen. Beim Addieren
heben die sich weg, so dass der Betrag der Summe aller gemessenen
Himmelsrichtungen kleiner als n sein kann.
Nicky