Trigonometrische Funktion rekonstruieren (Kosinus-Satz)

Aufrufe: 443     Aktiv: 03.10.2025 um 23:54

0

Hallo, ich habe zu meinem Problem schon schriftlich einen Rechenweg ausgearbeitet, aber irgendwie lässt mich die Webseite kein Bild oder pdf hochladen. Also versuche ich jetzt erstmal Problem und mein Vorgehen zu beschreiben:

Für die Vorstellung: es geht um Windmessungen. Fahrtgeschweindigkeit (f) und tatsächlicher Wind (w) spannen einen Vektor auf, die gemessene Windgeschwindigkeit (m) (die Windmessung beschränkt sich nur auf Stärke ohne Richtung). Abhängig von der Fahrtrichtung zum tatsächlichen Wind ist die gemessene Windgeschwindigkeit unterschiedlich. Der Kosinus-Satz beschreibt diesen Zusammenhang ganz gut: m^2 = f^2 + w^2 - 2*f*w*cos(a), wobei a der Winkel zwischen f und w ist. Annahme: f und w sind immer konstant.

f ist bekannt und w soll durch Rekonstruktion ermittelt werden durch folgende Messungen. geg.: f, m1, m2, m3, delta12=d12=(a2-a1), delta23=d23=(a3-a2)

(-> a1; a2=a1+d12; a3=a1+d12+d23)

Aus den Messpunkten habe ich ein Gleichungssystem aus 3 Gleichungen aufgestellt und die unbekannte b eliminiert. Ergebnis war folgendes:

Zwischenrechnung: K= ( (m2^2-m1^2) * sin(d23/2 ) / ( (m3^2-m2^2) * sin(d12/2) )

tan(a) = ( K * sin(d12+d23/2) - sin(d12/2) ) / ( cos(d12/2) - K * cos(d12+d23/2) )

Ohne Lösungsweg ist mein Ergebnis bestimmt nicht viel wert, aber vielleicht hat ja jemand Zeit und Lust sich der Aufgabe anzunehmen und versucht die Kurve selbst zu rekonstruieren.

Vielen Dank im Voraus

VG Conner

EDIT vom 03.10.2025 um 16:20:

https://1drv.ms/b/c/25160fed097dd777/EQecAfblUuhEppGh12jhrSgBzsTthQ3HEVz6EWKZluJAmQ?e=7Ws3XS

Hier nochmal ein Bild zu meinem handschriftlichen Rechenweg. Ich hoffe es ist lesbar genug.

Um die Formel zu testen, habe ich eine Python Code folgenden geschrieben, der w und a berechnet:

import math

def KurvenRekonstruktion(P1,P2,P3,f):
    m1,m2,m3 = P1[0],P2[0],P3[0]
    d12,d23 = P2[1]-P1[1],P3[0]-P2[1]
    k = ((m2*m2-m1*m1)*math.sin(d23/2))/((m3*m3-m2*m2)*math.sin(d12/2))
    a1 = math.atan((k*math.sin(d12+d23/2)-math.sin(d12/2))/(math.cos(d12/2)-k*math.cos(d12+d23/2)))
    a2 = a1+d12
    a3 = a2+d23
    b1 = (m2*m2-m1*m1)/(math.cos(a1)-math.cos(a2))
    b2 = (m3*m3-m2*m2)/(math.cos(a2)-math.cos(a3))
    w1 = b1/(2*f)
    w2 = b2/(2*f)
    return (w1,w2)

EDIT vom 03.10.2025 um 16:21:

Ach, mein Problem ist, dass der Python Code falsche Werte ausgibt und ich weiß nicht wo der Fehler liegt.
gefragt

Punkte: 20

 

Verstehe nicht ganz, was Du suchst. Du hast doch anscheinend einen Lösungsweg, kannst ja Dein Ergebnis plotten und auf Plausibilität prüfen, gibt es Grund daran zu zweifeln?
Bilder hochladen ist hier oft ein Problem. Du könntest dazu auf eine externe URL verweisen. Und zur Darstellung von math. Ausdrücken bitte LaTeX benutzen, siehe https://media.mathefragen.de/static/files/mathjax_howto.pdf
  ─   mikn 03.10.2025 um 11:53
Kommentar schreiben
1 Antwort
0
Ok, das hilft schonmal, ist auch gut lesbar. Ich verstehe es so, dass Du drei Punkte $(m_i,\alpha_i)$ hast, sowie $f$, und suchst den Parameter $w$. Das gibt aber drei Gleichungen mit einer Unbekannten. Das ist i.Allg. nicht lösbar.
Der übliche Weg bei solchen Fragestellungen ist Ausgleichsrechnung. Dabei wird ein $w$ so bestimmt, dass die drei Gleichungen bestmöglich erfüllt sind (aber eben nicht erfüllt, sondern nur näherungsweise erfüllt).
Das führt hier zu einer Gleichung mit einer Unbekannten, die aber auch nur mit numerischen Methoden lösbar ist.
Ist nur meine Vermutung. Denn Du hast $\alpha_1$ als gesucht, aber auch als gegeben notiert...
Diese Antwort melden
geantwortet

Lehrer/Professor, Punkte: 40.29K

 

Oh Mist, also gegeben sind 3 Werte m_1, m_2, m_3 und die Differenz der Winkel zwischen diesen. Hier nochmal ein Bild zum veranschaulichen:
https://1drv.ms/i/c/25160fed097dd777/EeiMUZrHollGiEmlckTNPn0BcPDaJSaHYJJgWYQvxUwsew?e=St05X3
Somit ist nur α_1 und w gesucht. α_2 und α_3 lassen sich ja durch die bekannten Differenzen herleiten.
  ─   connerg 03.10.2025 um 18:37

Okay, heißt aber: zwei Unbekannte, drei Gleichungen, womit das oben gesagte weiterhin gilt. Nur die Bestimmung per Ausgleichsrechnung würde noch aufwendiger.   ─   mikn 03.10.2025 um 19:03

Ich verstehe nicht warum 3 Messungen nicht ausreichen. Bei einer normalen cos Funktion in folgender Form:
y = A*cos(x) + D (nur Amplitude und Y-Verschiebung sind unbekannt), kann man die Funktion doch auch exakt herleiten.
  ─   connerg 03.10.2025 um 19:19

I. Allg. braucht man bei Gleichungssystemen genausoviel Gleichungen wie Unbekannte. Also: schlechte Karten bei drei Gleichungen/Messungen mit zwei Unbekannten. Mit zwei Messungen geht es i.Allg. (auch bei der "normalen" cos-Funktion, in Sonderfällen aber nicht, wg Periodizität). Aber dann liegt der dritte Punkt eben nicht auf der Kurve.
Also: Gl I nach $w$ auflösen (quadr. Gleichung), Ergebnis in Gl II einsetzen: Eine Gleichung mit einer Unbekannten ($\delta_1$), danach auflösen.
  ─   mikn 03.10.2025 um 19:52

Ich habe meinen Fehler entdeckt. Mein Rechenweg stimmt, aber der Fehler ist dafür nicht weniger peinlich. Ich habe im Python Code die Punkte immer so eingetragen Pi(m,a) statt wie es der Code verlangt: Pi(a,m). Trotzdem vielen Dank für die Unterstützung.
LG Conner
  ─   connerg 03.10.2025 um 23:54

Kommentar schreiben