0 Daumen
2,7k Aufrufe

ich soll die rekursive Folge von  ln(x-2) = 1/x +sin (x/8)    in Maple bilden, also mittels Fixpunkt-Iteration eine näherungsweise Lösung der Gleichung bestimmen. dafür soll ich die Gleichung handschriftlich in die Form x=g(x) bringen und einen geeigneten Startwert wählen. Die rekursive Folge x1 = g (x0), x2=g(x1), x3... 

Das Ergebnis soll mit der Lösung der Gleichung (fsolve soll verwendet werden) verglichen werden.


Wäre sehr dankbar für Ihre Hilfe,


Beste Grüße,


Avatar von

ok du sollst also ln(x-2) = 1/x + sin(x/8) nach x umstellen. Und wo ist da das Problem ?

Das Problem ist das ich vergessen habe, wie man das machen soll)

kannst du die Gleichung nach x umstellen?  weißt du wie man einene günstigen startwert wählt ? Kannst du generell ein iteratives vervahren in maple umsetzten?     ( ich kenne maple nicht und lerne grade erst was über It. V. )

Ich kann umstellen, verstehe aber nicht genau, wie man genau in die Form x=g(x) bringt, weiss nicht wie man eine günstige Startwert wählt. In Maple kann ich das machen. Probleme habe ich mit schriftlichem Teil.

1 Antwort

+1 Daumen

Stell das doch einfach mal nach x um und poste dein Ergebnis. Dann setze das um in Maple und probiere ein paar Startwert aus. Löse die Gleichung auch mit fsolve. Danach können wir weiter diskutieren.

Avatar von 39 k

Habe die Gleichung nach x umgestellt:


x = 1/(sin (x/8)-ln(x-2)). Ist das richtig?

Im Nenner sind die Vorzeichen nicht richtig

Entschuldungung) 


x = -(1/(sin (x/8)-ln(x-2)))

Also bei konvergiert das Verfahren nicht. Kann das der Sinn der Aufgabe sein?

Weiss das nicht genau, kann diese Aufgabe mit Maple nicht  lösen, weil es für x = fsolve(-(1/(sin(x/8))-ln(x-2))); "Error, (in ln) numeric exception: division by zero" schreibt.  Probiere jetzt nochmal.

Und was mit dem geeigneten Starwert? 

Hier mein Versuch mit Mathcad

Bild Mathematik Wie  man am Ergebnis sieht, werden die Werte imaginär. Auch bei der direkten Suche muss man einen Startwert vorgeben aber nicht jeder funktioniert. Ich habe 5 gewählt, da geht es. Bei 3 geht es nicht mehr.

Der Startwert muss größer als 2 sein, sonst startet man beim Logarithmus mit einem negativen Argument. Aber wie gesagt, bei mir konvergiert das Verfahren nicht.

Wahrscheinlich liegt es daran, dass die 1'te Ableitung nicht zwischen 1 und +1 -1 \text{ und } +1 liegt, was eine hinreichende Bedingung für die Konvergenz ist.

Danke, jetzt probiere ich nochmal.

Kann nich verstehen, was ich hier falsch mache Bild Mathematik

Ich denke da ist nichts falsch. Bei mir kommt ja das gleiche raus. Allerdings solltest Du einen Startwert größer als 2 nehmen, sonst startes Du ja mit einem negativen Argument beim Logarithmus. Versuchs mal mit 4 oder 5

Vielen Dank für all deine Hilfe!

War die Lösung denn richtig?

War die Lösung denn richtig?

Nein! Damit das Fixpunkt-Verfahren konvergiert, muss der Betrag der Steigung der gewählten Funktion (hier das g(x)g(x)) in der Umgebung des Fixpunktes kleiner als 1 sein. Das ist aber bei der gewählten Funktion x=g1(x)=1ln(x2)sin(x8)x=g_1(x)=\frac 1{\ln(x-2)-\sin(\frac x8)} nicht der Fall.

Das xx kommt in der Gleichung an drei Stellen vor. Löst man die Gleichung nach dem xx im Logarithmus auf, so erhält man x=g2(x)=e1x+sin(x8)+2x = g_2(x) = e^{\frac 1x+sin(\frac x8)}+2Plotlux öffnen

f1(x) = e^(1/x+sin(x/8))+2f2(x) = xf3(x) = 1/(ln(x-2)-sin(x/8))Zoom: x(-2…10) y(-2…6)

schaut man sich die Graphen der beiden Funktionen an (g1g_1 grün, g2g_2 blau), so wird deutlich, dass g1g_1 für die Iteration ungeeignet ist, wohin gegen g2g_2 im Fixpunkt eine Steigung hat, deren Betrag deutlich kleiner als 1 ist. Der Fixpunkt ist der Schnittpunkt mit der Geraden y=xy=x (rot).

Egal ob man als Startwert z.B. x=2x=2 oder x=10x=10 wählt, man kommt mit g2(x)g_2(x) sehr schnell zu einer guten Näherung:2104.111514.854754.085134.173334.082414.091634.082134.083084.082114.082204.082104.082114.082104.082104.082104.08210\begin{array}{rr}2& 10\\ 4.11151& 4.85475\\ 4.08513& 4.17333\\ 4.08241& 4.09163\\ 4.08213& 4.08308\\ 4.08211& 4.08220\\ 4.08210& 4.08211\\ 4.08210& 4.08210\\ 4.08210& 4.08210\end{array}

Ein anderes Problem?

Stell deine Frage