DGL mit implizitem Euler-Verfahren

Neue Frage »

Margarita90 Auf diesen Beitrag antworten »
DGL mit implizitem Euler-Verfahren
Hallo,
ich habe die nichtlineare DGL-Anfangswertaufgabe

Dieses soll mit dem impliziten Euler-Verfahren gelöst werden.

Aber zuerst soll ich die DGL in ein System 1. Ordnung überführen.
Dafür setze ich und
Damit ergibt sich:

Ist das erstmal richtig so?

Jetzt ist gefragt, welches nichtlineare GLS in jedem Schritt des impliziten Euler-Verfahrens zu lösen ist.
Das weiß ich nicht so recht. Wahrscheinlich irgendwas mit dem Sinus...
Wir haben das implizite Euler-Verfahren so definiert:
Die Schrittweiten sind h und die die entsprechenden Punkte dazu ().
Das Verfahren: .
Also allgemein ist ja zu lösen. Das heißt mein f ist von t und x(t) abhängig. In meinem Fall heißt es , aber das f=sin(u) ist nicht von v abhängig...also sieht es doch anders aus?!?

Könntet ihr mir bitte helfen? Und entschuldigt, wenn es jetzt etwas verwirrend aufgeschrieben ist...

lg
system-agent Auf diesen Beitrag antworten »

Aus deinem Aufschrieb geht wirklich nicht genau hervor was du gemacht hast.

Um diese DGL in ein System erster Ordnung zu überführen, setze den Vektor
.

Dann hast du .

Nun hast du also eine neue DGL
.

Wende darauf implizit Euler an.
Riemannson Auf diesen Beitrag antworten »

dann sollte



sein oder?

doch wie kriegt man darauf dann euler?

es soll ja



sein.

ist ?
system-agent Auf diesen Beitrag antworten »

Zitat:
Original von Riemannson
dann sollte



sein oder?


Ja, genau.

Dann hast du also
definiert durch .

Es ist hier eben sehr angenehm, dass nicht auch noch von der Zeit abhängt. Falls du darauf bestehst noch die Zeit zu berücksichtigen, dann ist
definiert durch
.
Riemannson Auf diesen Beitrag antworten »

danke soweit!

doch jetzt probiere ich den ersten Schritt:

sei:


dann ist doch mit euler:


oder bin ich auf dem Holzweg?
system-agent Auf diesen Beitrag antworten »

Zitat:
Original von Riemannson

sei:



Nach Aufgabe soll allerdings sein.
Ändere aber lieber die Bezeichnungen: Bezeichne die numerische Lösung am Zeitpunkt durch , also .

Dann kriegst du tatsächlich, dass
.
 
 
Riemannson Auf diesen Beitrag antworten »

Zitat:
Original von system-agent

Nach Aufgabe soll allerdings sein.


es gibt noch eine 2. Aufgabe bei der man das ganze mit matlab lösen soll und dort soll man selbst wählen, daher meine Werte.

dann also im ersten Schritt folgendes Gleichungssystem zu lösen:



richtig?
system-agent Auf diesen Beitrag antworten »

Ja, genau.
Margarita90 Auf diesen Beitrag antworten »

Wow, hier wurde ja schon ganz schön gearbeitet. Erstmal danke für die Hilfe!

Ich hätte da jetzt noch eine grundlegende Frage:
Ich berechne da jetzt eine Iterierte nach der anderen in meinem Intervall. Und dann? Dann habe ich die Punkte, die meine gesuchte Funktion (also die Lösung der DGL) annähern? Aber dann muss durch die Punkte doch immernoch ein Graph gelegt werden? Oder hab ich da etwas falsch verstanden?

Danke!
Riemannson Auf diesen Beitrag antworten »

ich würde sagen:

zeichne die Punkte einfach ein und verbinde sie, je kleiner die schrittweite, desto besser die annäherung. Es sollte doch schön 3 dimensional werden...

denke ich.
system-agent Auf diesen Beitrag antworten »

Ja, einfach die Punkte einzeichnen und verbinden, mehr tut man nicht. Ist auch garnicht nötig, denn die numerische Lösung ist per Definition diese Abfolge von diskreten Punkten. Das Verbinden der Punkte passiert nur für ein nettes Bild.


Zitat:
Original von Riemannson
Es sollte doch schön 3 dimensional werden...


Naja. Es ist eine DGL in der Ebene, das heisst die exakte Lösung ist eine Kurve .

In Matlab kannst du das wie folgt plotten:
Falls du mal die Iteration gemacht hast, kriegst du Punkte die die numerische Lösung darstellen [ Punkte, denn die Anfangsbedingungen kennst du schon].
Diese legst du in einer Matrix u ab. Dann nutze
code:
1:
plot(u(1,:),u(2,:))

Das liefert dir die [numerische] Lösungskurve für in .
Margarita90 Auf diesen Beitrag antworten »

Okay, vielen vielen Dank.
Eine kleine Frage hätte ich dann noch:
Bei fsolve muss ich ja einen Startvektor x_0 angeben. Da such ich mir auch wieder irgendeinen aus oder muss ich da etwas beachten?
Riemannson Auf diesen Beitrag antworten »

soweit ich weiß muss der startvektor möglichst nahe an der gesuchte lösung liegen. ich wähle daher in jeder schleife den startvektor gleich der lösung, der alte schleife.

(bin mir aber nicht ganz sicher aber bei mir siehts gut aus Augenzwinkern ...)
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »