Numerik / stabiler Algorithmus

Einen wundeerschönen guten Tag,

ich brauche mal dringend Eure Hilfe!
Ich soll im Fach Numerik eine verbesserte Darstellung für vollgende Funktion finden:

f(x) = 1-cos(2x) / 2sin(x)

Es geht darum den Algorithmus durch Umformen in eine stabilere Form zu bringen, also muss das Minus verschwinden damit sich die Therme nicht auslöschen!

Wie mache ich das, bitte mit vollem Rechenweg zum nachvollziehen und selber anwenden!

Vielen Dank!!

Hallo Big.B,

ich bin mir nicht sicher (da die numerische Stabilität von Algorithmen nicht zu meinem Spezialgebiet gehört), aber ich denke nicht, dass es für alle Werte von x eine einzige maximal stabile Lösung gibt.

Für kleine x nahe Null oder für x in der Nähe von Pi lassen sich sicher entsprechende Ausdrücke konstruieren. Am besten schaust du einmal nach geeigneten Additionstheoremen, beispielsweise zu finden unter

http://de.wikipedia.org/wiki/Formelsammlung_Trigonom…

Mit freundlichen Grüßen,
Tigonaut

Hallo Tigonaut,
erstmal vielen Dank für die schnelle Antwort!
Man muss diese Funktion einfach umformen, sodass das Minus verschwindet!
Ich habe schon so gut wie alle Internetseiten ausprobiert!
MfG

Hi

Es geht darum den Algorithmus durch Umformen in eine stabilere
Form zu bringen, also muss das Minus verschwinden damit sich
die Therme nicht auslöschen!

Wieso muss das Minus weg?

Wie mache ich das, bitte mit vollem Rechenweg zum
nachvollziehen und selber anwenden!

Die Hausaufgaben solltest Du wirklich selber machen, ein Tipp liefert Dir bspw. Wolfram Alpha, wen Du dort cos(2x) eingibst:

http://www.wolframalpha.com/input/?i=cos%282x%29

da gibt es diverse alternative Formen.

Ich hoffe es hilft Dir.

Hallo,

die Form cos(2x) / sin(x) erinnert doch an die Winkeladdition:

cos( x+y ) = cos(x)cos(y) - sin(x)sin(y)

also einsetzen und cos^2 (x) = 1 - sin^2 (x) ersetzen.
{ f^2(x) := f(x) * f(x) }
Nur noch kürzen und das Resultat
1 - 1/( 2*sin(x) )
dürfte einfacher zu approximieren sein.

Gruß
G. Aust

Hallo,

Was bedeutet denn in diesem Zusammenhang stabil?
Und warum dürfen sich keine Terme auslöschen? Geht es um Probleme mit der Darstellungsgenauigkeit von Fließkommazahlen? (Nach dem Motto: ich ziehe eine kleine Zahl von einer großen ab und erhalte als Ergebnis die unmodifizierte große Zahl, weil die Darstellungsgeanuigkeit für diese Operation nicht reicht.)
Ich würde mir eher Gedanken über den Fall x=0 machen, denn dann ist das Ergebnis nicht definiert.
Ansonsten, wende doch mal möglichen Rechenreglen für trigonometrische Funktionen an, vielleicht hilft Dir ja eine weiter. Bsp.: sin(x)/cos(x)=tan(x), sin(x)^2+cos(x)^2=1, Additionstheoreme, …

Gruß,
cathune

Hallo Big.B,

ich finde dafür leider keine Lösung.

Mit freundlichen Grüßen,
Tigonaut

Hey,
vielen dank für die schnelle Antwort!

Ein Bsp, was mein Problem vielleicht besser beschreibt:

f(x)= cox^2(x) / 1-sin(x)

die Lösung dafür ist eine alternative Darstellung:

f(x)= sin(x)+1, durch umformen!

Meine Frage ist, wie kommt man darauf, welche Umformungen müssen vorgenommen werden?
Wo die Grundlegenden trigometrischen Identitäten stehen weiß ich auch aber wie wende ich diese an um auf das Ergebnis zu kommen?

MfG

Hey,
vielen dank für die schnelle Antwort!

Ein Bsp, was mein Problem vielleicht besser beschreibt:

f(x)= cox^2(x) / 1-sin(x)

die Lösung dafür ist eine alternative Darstellung:

f(x)= sin(x)+1, durch umformen!

Meine Frage ist, wie kommt man darauf, welche Umformungen müssen vorgenommen werden?
Wo die Grundlegenden trigometrischen Identitäten stehen weiß ich auch aber wie wende ich diese an um auf das Ergebnis zu kommen?

MfG.

Hey,
vielen dank für die schnelle Antwort!

Ein Bsp, was mein Problem vielleicht besser beschreibt:

f(x)= cox^2(x) / 1-sin(x)

die Lösung dafür ist eine alternative Darstellung:

f(x)= sin(x)+1, durch umformen!

Meine Frage ist, wie kommt man darauf, welche Umformungen müssen vorgenommen werden?
Wo die Grundlegenden trigometrischen Identitäten stehen weiß ich auch aber wie wende ich diese an um auf das Ergebnis zu kommen?

MfG…

Hi

Meine Frage ist, wie kommt man darauf, welche Umformungen
müssen vorgenommen werden?
Wo die Grundlegenden trigometrischen Identitäten stehen weiß
ich auch aber wie wende ich diese an um auf das Ergebnis zu
kommen?

Erfahrung und genaues hinschauen:

Ich nehme einfach mal an, dass Dein ursprüngliches Problem (1-cos(2x))/(2 sin(x)) hieß. Wolfram schreibt:

cos(2x)=-1+2cos^2(x)=1-2sin^2(x)=cos^2(x)-sin^2(x)

nund schaut mal sich die drei Möglichkeiten an und sieht evtl. das Nummer 2 (1-2sin^2(x)) hier am Besten passt, weil im Nenner ja auch sin(x) steht, also:

(1-cos(2x))/(2sin(x)) = (1-(1-2sin^2(x)))/(2sin(x))

Hilft das?

Carsten

PS: Auf Dauer hilft da wirklich nur trainieren…

Knalltuete, kann es sein, dass Du eine Klammer vergessen hast? Schau nach, vielleicht heisst der Ausdruck ja:
(1-cos(2x))/(2*sin(x))
So macht die Aufgabe dann auch Sinn.
Die numerisch stabile Loesung heisst nach Umstellen von (1-cos(2x)):
sin(x)
Kapiert? Wenn nicht, dann Studiengang wechseln, oder bisschen besser in Mathe aufpassen.
Zur Not einfach mal die Terme in Excel darstellen, das hilft auch schon fuers Verstaendins.
Weiter viel Erfolg :smile:)

Hallo,

die Antwort hört sich im Augenblick vermutlich etwas frech an: „durch Hinschauen“.
Genauso wie die Kombination cos(2x) / sin(x) an die Winkeladdition cos( x + x ) erinnert, so läßt der Ausdruck
cos^2(x) /( 1 - sin(x) )
an die Umformung sin^2(x) + cos^2(x) = 1 denken.
Wenn man das einsetzt, dann sollte die Form 1 - sin^2(x) an
die Form ( a^2 - b^2 ) denken lassen.
Einsetzen und kürzen.

Es ist eigentlich so, daß die Formeln entweder präzise oder zumindest in ungefährer Form im Hinterkopf gespeichert sind. und sich mit dem Signal melden, he - das sieht doch interessant aus, da müßte sich doch nach 1 oder 2 Schritten was kürzen lassen. Das Ganze ist wohl eine Form der Übung.

Meine Schulzeit ist ehrlich gesagt schon eine ganze Weile her und das Studium auch. Vermutlich habe ich früher auf Verdacht eine Weile die bevorzugte Formelsammlung meiner Wahl gewälzt.

Gruß
G. Aust

f(x) = 1- cos(2x) / 2sin(x)

f(x) = 1- 2*sin(x)*cos(x) / 2*sin(x)

f(x) = 1- cos(x)