Zum Inhalt springen

Berechnung Mittelwert von Windrichtungen


willard

Empfohlene Beiträge

Mein Mathe-Schlauch hat wieder mal einen Knopf drin. Eine scheinbar einfache Aufgabe, aber schaffs gerade nicht: Wie berechne ich mit einer allgemein gültigen Formel einen Mittelwert zwischen 2 Windrichtungen?

 

Beispiel:

Wind 1: 320 Grad

Wind 2: 20 Grad

Mittelwert: 350 Grad

 

Der Extremfall von 2 Richtungen, die genau entgegengesetzt sind, muss nicht abgedeckt werden (Wind 1 aus Westen, Wind 2 aus Osten, Mittelwert = Nord oder Süd?).

 

Besten Dank im voraus für Eure Hilfe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

 

Die Differenz zwischen den beiden Richtungen ist 60°. Denn 320° plus 60° sind ja wieder 20°.

 

So, die Hälfte von 60° (Mitte..) ist 30°. 320° plus diese 30° sind nun die 350°.

 

Ganz einfach,

Gruss Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Andy, aber im Kopf rechnen kann ich das auch :-)

 

Nein, ich suche eine Formel, mit der ich dies auch einem Computer klarmachen kann. Das Problem sind ja Winkelpaare, die wie in meinem Beispiel über die 360/0-Gradmarke hinausgehen. Da reicht es dann nicht mehr, das arithmetische Mittel zu berechnen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Falls Du einen Übersprung von 360/0 hast, rechnest Du einfach 360 dazu.

 

in deinem Beispiel: Wind 2 = 380 Grad.

 

Nachher: Wind1 + Wind2 / 2 = Mittelwert.

320 + 380 = 700 / 2 = 350

Link zu diesem Kommentar
Auf anderen Seiten teilen

Michel, danke für die Antwort. Das ist mir aber soweit schon klar. Mit einem Algorythmus kann ich das Problem auch leicht lösen.

 

Ich suche aber nach einer einfachen (Excel-)Formel. Wie ich da testen kann, ob ich einen solchen Sprung über die Nullgradmarke habe, ist mir leider noch nicht klar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer

Es geht einfacher in Excel:

 

=Mittelwert(Wert1; Wert2; Wert3; etc.)

 

Um die 360°-Schwelle zu berücksichtigen, einfach alle Windangaben umformulieren, z.b. 020° = 380°. Sollte funktionieren.

 

Habe diese Formel für meine Maturaarbeit gebraucht.

 

Bsp.:

Wert1: 350°

Wert2: 020° -> 380° (360° + x)

 

=Mittelwert(350; 380) = 365°

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aaron: Interessanter Ansatz. Aber funktioniert leider nicht.

Florens: Das klappt definitiv nicht. Das würde in meinem Beispiel einen Mittelwert von 170 Grad ergeben.

Michel: Auch diese Formel führt nicht zum gewünschten Ergebnis.

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer

Florens: Das klappt definitiv nicht. Das würde in meinem Beispiel einen Mittelwert von 170 Grad ergeben.

 

Warum?

 

320 + (360+20) = 700 / 2 = 350

 

Edit: ich versuche eine Formel mit IF/THEN zu basteln.

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer

Da hast Du Deine Formel:

 

=WENN(180<A1<360;A1;360+A1)

 

Diese Formel überwacht, ob Dein Wert zwischen 180° und 360° liegt. Wenn ja, nimmt er den Wert. Wenn nein, dann addiert er 360° dazu.

 

Voilà

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da hast Du Deine Formel:

 

=WENN(180<A1<360;A1;360+A1)

 

Diese Formel überwacht, ob Dein Wert zwischen 180° und 360° liegt. Wenn ja, nimmt er den Wert. Wenn nein, dann addiert er 360° dazu.

 

Voilà

 

Hallo zusammen,

 

die Chance für meinen Erstling hier:

 

Florens, Dein Vorschlag funktioniert leider auch nicht!

A1 = 140°

A2 = 200°

 

Ergibt nach deiner Formel 350°, weil du aus A1 500° machst.

 

Mein Vorschlag:

Wenn A2-A1 zwischen -180° und +180° liegt, dann normaler Mittelwert.

Ansonsten Mittelwert + 180°

 

Grüße, Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer
Ergibt nach deiner Formel 350°, weil du aus A1 500° machst.

 

Das ist schon komisch. Die Bedingung ist ja, dass wenn A1 zwischen 180° und 360° ist, dass dann der Wert von A1 unverändert genommen wird. Ist die Bedingung nicht erfüllt, dann muss 360° addiert werden. Wahrscheinlich ist der Code falsch, die Idee dahinter muss aber funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube, dass deine Idee schon falsch ist.

Betrachte doch mal diese drei Fälle:

 

Erstens:

A1 = 177°

A2 = 179°

 

Zweitens:

A1 = 179°

A2 = 181°

 

Drittens:

A1 = 181°

A2 = 183°

 

Sie unterscheiden sich fast nicht. Trotzdem behandelst du sie extrem unterschiedlich!

 

Richtig ist natürlich, dass man eine Fallunterscheidung machen muss. Die entscheidende Frage ist aber, ob das "V", das die zwei Windrichtungen aufspannen, die Null-Grad-Linie mit überstreicht, oder nicht. Und das stellt man fest, in dem man prüft, ob die Differenz A2 - A1 größer 180° (oder ggf. kleiner -180°) ist.

 

Grüsse, Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer
Erstens:

A1 = 177°

A2 = 179°

 

Zweitens:

A1 = 179°

A2 = 181°

 

Drittens:

A1 = 181°

A2 = 183°

 

Das ist allerdings ein interessantes Problem.

 

Meine Idee funktioniert nur teilweise..

 

Die Idee muss also sein:

 

Bedingung a)

Beide Werte sind entweder beide zwischen 180 u. 360 oder zwischen 001 und 179. Dann gilt:

 

[b](A1+A2) / 2[/b]

 

Bedingung b)

Je ein Wert ist zwischen 180 u. 360 und 001 u. 179. Dann gilt:

 

[b][A1+(A2+360)] / 2[/b]

 

Das müsste nun funktionieren.

 

Jedoch sehe ich ein, dass das Rechnen mit der Differenz von A1 und A2 einfacher sein muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bedingung b)

Je ein Wert ist zwischen 180 u. 360 und 001 u. 179. Dann gilt:

 

[b][A1+(A2+360)] / 2[/b]

 

 

hmmm.... :

(190+170+360)/2 = 360 :eek:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

 

Ich habe mich damit auch schon den Kopf zerbrochen. Am Schluss hatte ich im Excel die korrekte Formel gefunden (allerdings liegt die Datei auf einem anderen PC, d.h. ich kann die Formel nicht sofort liefern). Wenn ich mich richtig erinnere muss man 4 Fälle unterscheiden, je nachdem in welchem "Quadrant" (0-90, 90-180 usw.) man sich befindet...

 

Grüsse,

François

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

 

Ich denke es geht auch ohne Fallunterscheidungen. Fallunterscheidungen sind erstens nicht so schön und zweitens wollte Thomas keinen Algorithmus sondern eine Formel (und für mich ist etwas mit Fallunterscheidungen ein Algorithmus :)).

Wieso nicht einfach die Windrichtungen in Vektorschreibweise ausdrücken, dann diese zusammenzählen und Winkel der Resultierenden bestimmen. Das sollte in einer Zeile und ohne Fallunterscheidungen machbar sein.

 

 

Gruss

 

Philippe

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer
Windrichtungen in Vektorschreibweise

 

Wie soll das gehen? Da bräuchtest Du ja die Koordinaten im 3 (?)-Dimensionalen Raum. Das gibt dann mindestens so viel zu tun wie mit Fallunterscheidungen.

 

Die 4 Fälle leuchten aber ein...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie soll das gehen? Da bräuchtest Du ja die Koordinaten im 3 (?)-Dimensionalen Raum. Das gibt dann mindestens so viel zu tun wie mit Fallunterscheidungen.

 

das geht sehr einfach....2d reicht, Zentrum vorzugsweise bei (0,0)... damit v=(x,y)=(sin(theta), cos(theta)) ... elementarste Geometrie.... (ich hoffe sowas wird heut in der Schule noch behandelt, inkl Vektoraddition... und nicht nur modernes zeug wie Mengenlehre usw ;))

 

Mag sein, dass es ein wenig was zu tun gibt, aber die Aufgabe war ja das ganze als mathematische Formel und nicht als Algorithmus darzustellen (und wenn IFs drin sind, dann ist das ein Algorithmus, egal ob das in Excel nun immer noch Formel heisst oder nicht ;))

 

 

Gruss

 

Philippe

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer
das geht sehr einfach....2d reicht, Zentrum vorzugsweise bei (0,0)... damit v=(x,y)=(sin(theta), cos(theta)) ... elementarste Geometrie.... (ich hoffe sowas wird heut in der Schule noch behandelt, inkl Vektoraddition... und nicht nur modernes zeug wie Mengenlehre usw )

 

Haha sorry, ich realisiere gerade an was ich gedacht habe...

 

Ich habe an Vektorgeometrie (Richtungsvektoren) gedacht und habe mich gewundert, woher Du den Vektor kennst, wenn die Windstärke ja nicht bekannt ist...

 

Tja, ich realisiere, dass die Grundlagen verloren gehen, wenn man sich nur noch mit so abstrakten x und y Rechnungen, Wahrscheinlichkeitsverteilungen, Kurvendiskussion und so beschäftigen muss :rolleyes:

 

*duckundweg*

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das wollte ich auch noch probieren. Man muss aber auf "Rad" umstellen (d.h. 360 Grad = 2Pi), nicht wahr? Dann könnte es funktionieren. Ich werde es aber auch noch checken.

 

Gruss,

François

Link zu diesem Kommentar
Auf anderen Seiten teilen

oneworldflyer
Das wollte ich auch noch probieren. Man muss aber auf "Rad" umstellen (d.h. 360 Grad = 2Pi), nicht wahr? Dann könnte es funktionieren. Ich werde es aber auch noch checken.

 

Gruss,

François

 

Jo müsste man, wenn man mit Sinus etc. rechnet.

 

=(Bogenmass(xx))

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...