Zum Inhalt springen

Berechnung Mittelwert von Windrichtungen


Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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.

Geschrieben

Hab mal was getüftelt..

 

Habe die formel aber noch nicht getestet(!)

 

=((360-Feld1)+(360-Feld2)+Grösseres Feld von beiden) /2

oneworldflyer
Geschrieben

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°

Geschrieben

ebenfalls ungetestet:

 

((grösseress Feld) - (kleineres Feld)) / 2 + 180

Geschrieben

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.

oneworldflyer
Geschrieben

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.

oneworldflyer
Geschrieben

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à

Geschrieben
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

oneworldflyer
Geschrieben
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.

Geschrieben

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

Markus "Tomcat"
Geschrieben

Irgendwie die MOD Funktion einbauen? Hmmm ...

oneworldflyer
Geschrieben
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.

Geschrieben

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:

Geschrieben

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

Geschrieben

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

oneworldflyer
Geschrieben
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...

Geschrieben
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

oneworldflyer
Geschrieben
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*

Geschrieben

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

oneworldflyer
Geschrieben
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))

Geschrieben

Und wie lautet nun die ganze Formel im Excel? Ich habs nämlich immer noch nicht !

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...