Runge Kutta Verfahren < Sonstiges < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:55 Mi 08.09.2021 | Autor: | Leon33 |
Aufgabe | Hallo alle zusammen
Hier die Aufgabe:
Gegeben sei folgendes Butcher Tableau
7/10. 7/10
1
Wusste nicht wie ich anders die Tabelle darstellen soll
i) Wie lautet die Verfahrensvorschrift des zugehörigen impliziten Runge Kutta Verfahrens für das allgemeine Problem
y`(t) = f(t,y(t)) um eine Näherung [latex] [mm] u_{j+1} [/mm] [/latex]
an[latex] [mm] y(t_{j+1}) [/mm] [/latex] von [mm] u_j [/mm] ungefähr [mm] j(t_j) [/mm] aus zu berechnen ?
ii) Es sei das Anfangswertproblem
y`(t) = sin(t) *y(t) , y(pi) = 2
gegeben . Berechnen sie unter Verwendung des durch das Butcher Tableau gegebenen Runge Kutta Verfahrens für die Schrittweite h = pi/4 eine Näherung an[latex] y(3/2*pi) [/latex]
iii) Berechnen sie den Fehler zur exakten Lösung y(3/2*pi) = - 2/e
Hinweis :
Die hier berechnete Näherung muss nicht unbedingt eine gute sein
Habt ihr tipps wie ich bei der i) vorgehen soll? |
Habe die frage nicht gestellt .
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 07:18 Do 09.09.2021 | Autor: | meili |
Hallo Leon33,
> Hallo alle zusammen
>
> Hier die Aufgabe:
>
> Gegeben sei folgendes Butcher Tableau
>
> 7/10. 7/10
>
> 1
>
> Wusste nicht wie ich anders die Tabelle darstellen soll
>
> i) Wie lautet die Verfahrensvorschrift des zugehörigen
> impliziten Runge Kutta Verfahrens für das allgemeine
> Problem
> y'(t) = f(t,y(t)) um eine Näherung [latex] [mm]u_{j+1}[/mm]
> [/latex]
>
> an[latex] [mm]y(t_{j+1})[/mm] [/latex] von [mm]u_j[/mm] ungefähr [mm]j(t_j)[/mm] aus
> zu berechnen ?
>
> ii) Es sei das Anfangswertproblem
>
> y'(t) = sin(t) *y(t) , y(pi) = 2
>
> gegeben . Berechnen sie unter Verwendung des durch das
> Butcher Tableau gegebenen Runge Kutta Verfahrens für die
> Schrittweite h = pi/4 eine Näherung an[latex] y(3/2*pi)
> [/latex]
>
> iii) Berechnen sie den Fehler zur exakten Lösung
> y(3/2*pi) = - 2/e
> Hinweis :
> Die hier berechnete Näherung muss nicht unbedingt eine
> gute sein
>
>
> Habt ihr tipps wie ich bei der i) vorgehen soll?
Die Definition der Runge-Kutta-Verfahren heraussuchen.
Da findet sich dann hoffentlich auch eine Verfahrensvorschrift bzw.
verschiedene Teile, die zu einer Verfahrensvorschrift zusammengebaut
werden können.
Mit den Bezeichnungen aus der Aufgabe:
[mm] $u_{j+1} [/mm] = [mm] u_j [/mm] + h [mm] \summe_{n=1}^{s} b_n k_n$
[/mm]
[mm] $k_i [/mm] = f [mm] \left(t_j +h c_i, u_j + h \summe_{l=1}^{s} a_{il}k_l \right) \quad [/mm] i=1 , [mm] \ldots [/mm] , s$
Wenn ich deine Butcher-Tabelle richtig interpretiere,
ist $c = [mm] c_1 [/mm] = [mm] \bruch{7}{10}, [/mm] A = [mm] a_{1,1} [/mm] = [mm] \bruch{7}{10}, [/mm] b = [mm] b_1 [/mm] = 1$ für ein 1-stufiges, implizites Runge-Kutta-Verfahren (s=1).
> Habe die frage nicht gestellt .
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:05 Do 09.09.2021 | Autor: | Leon33 |
Aufgabe | [latex] [mm] u_{j+1} [/mm] = [mm] u_j +h*b_1*k_1 [/mm] [/latex]
[latex] [mm] u_{j+1} [/mm] = [mm] u_j +h*k_1 [/mm] [/latex]
Ich hoffe das ich es korrekt angewendet hab.
[latex] [mm] k_{1} [/mm] = [mm] (t_j [/mm] +h*7/10; [mm] u_{j} [/mm] +h*7/10* [mm] k_1) [/mm] [/latex] |
Hast du auch tipps für die ii) ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:33 Do 09.09.2021 | Autor: | fred97 |
> [latex] [mm]u_{j+1}[/mm] = [mm]u_j +h*b_1*k_1[/mm] [/latex]
Das stimmt.
>
> [latex] [mm]u_{j+1}[/mm] = [mm]u_j +h*k_1[/mm] [/latex]
Auch das stimmt, denn [mm] b_1=1.
[/mm]
>
>
> Ich hoffe das ich es korrekt angewendet hab.
>
> [latex] [mm]k_{1}[/mm] = [mm](t_j[/mm] +h*7/10; [mm]u_{j}[/mm] +h*7/10* [mm]k_1)[/mm] [/latex]
Das stimmt nicht. Du hast die Funktion f verschlampert !
Richtig ist
[mm] $k_1=f(t_j+ \frac{7}{10}h, u_j+\frac{7}{10}hk_1)$
[/mm]
>
>
>
> Hast du auch tipps für die ii) ?
Hier
https://de.wikipedia.org/wiki/Runge-Kutta-Verfahren
findest Du alles.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:42 Do 09.09.2021 | Autor: | Leon33 |
Den Artikel habe ich bereits vor dem posten der Frage schon gelesen ,aber richtig schlau bin ich davon nicht genommen :)
Kann jemand so einen kleinen Schritt geben bitte ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:30 Fr 10.09.2021 | Autor: | meili |
Hallo Leon33,
Tipps für ii):
$f(t, y(t)) = sin(t)*y(t)$
$h = [mm] \bruch{\pi}{4}$
[/mm]
[mm] $t_0 [/mm] = [mm] \pi$ [/mm]
[mm] $t_1 [/mm] = [mm] t_0 [/mm] + h = [mm] \pi [/mm] + [mm] \bruch{\pi}{4}$ [/mm]
[mm] $t_2 [/mm] = [mm] t_0 [/mm] + 2*h = [mm] \bruch{3}{2}*\pi$
[/mm]
[mm] $u_0 [/mm] = [mm] y(t_0) [/mm] = [mm] y(\pi) [/mm] = 2$
[mm] $u_2$ [/mm] ist die gesuchte Näherung an $y( [mm] \bruch{3}{2}*\pi [/mm] )$
In [mm] $k_1 [/mm] = [mm] f(t_j [/mm] + [mm] \bruch{7}{10}*h, u_j [/mm] + [mm] \bruch{7}{10}*h*k_1)$ [/mm]
für j=0 alles einsetzen und danach nach [mm] $k_1$ [/mm] auflösen.
Dann kann man für den ersten Schritt [mm] $u_1 [/mm] = [mm] u_0 [/mm] + [mm] \bruch{\pi}{4}*k_1$
[/mm]
berechnen.
Das gleiche nochmal für j=1, wieder [mm] $k_1$ [/mm] berechnen und dann [mm] $u_2$.
[/mm]
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:42 Sa 11.09.2021 | Autor: | Leon33 |
f(t,y(t)) = sin(t)*y(t)
f(t,y(t)) = sin( 47pi/40 ) *y( (80+7pi)/40 *k1)
wie soll ich die Gleichung nach k1 auflösen ?
k1 = sin( [mm] t_j [/mm] + h* 7/10 ) * ( [mm] u_j [/mm] + h* 7/10 * [mm] k_1 [/mm] )
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:40 Sa 11.09.2021 | Autor: | meili |
Hallo Leon33,
> f(t,y(t)) = sin(t)*y(t)
>
> f(t,y(t)) = sin( 47pi/40 ) *y( (80+7pi)/40 *k1)
>
> wie soll ich die Gleichung nach k1 auflösen ?
>
Wie löst man Gleichungen?
Mit Äquivalenz- und Termumformungen.
>
> k1 = sin( [mm]t_j[/mm] + h* 7/10 ) * ( [mm]u_j[/mm] + h* 7/10 * [mm]k_1[/mm] )
ausmultiplizieren (ausserdem habe ich die Faktoren vertauscht):
$ [mm] k_1 [/mm] = [mm] u_j [/mm] * sin( [mm] t_j [/mm] + h* 7/10 ) +( h* 7/10 * [mm] k_1 [/mm] ) * sin( [mm] t_j [/mm] + h* 7/10 )$
Äquivalenzumformung $| -( h* 7/10 * [mm] k_1 [/mm] ) * sin( [mm] t_j [/mm] + h* 7/10 )$:
$ [mm] k_1 [/mm] -( h* 7/10 * [mm] k_1 [/mm] ) * sin( [mm] t_j [/mm] + h* 7/10 ) = [mm] u_j [/mm] * sin( [mm] t_j [/mm] + h* 7/10 )$
[mm] $k_1$ [/mm] ausklammern:
[mm] $k_1*(1 [/mm] - h* 7/10 * sin( [mm] t_j [/mm] + h* 7/10 ) ) = [mm] u_j [/mm] *sin( [mm] t_j [/mm] + h* 7/10 )$
Vorausgesetzt oder besser nachgeprüft, dass $1 - h* 7/10 * sin( [mm] t_j [/mm] + h* 7/10 ) [mm] \not= [/mm] 0$, dann $| : 1 - h* 7/10 * sin( [mm] t_j [/mm] + h* 7/10 )$:
[mm] $k_1 [/mm] = [mm] \bruch{ u_j * sin( t_j + h* 7/10 )}{ 1 - h* 7/10 * sin( t_j + h* 7/10 )}$
[/mm]
>
>
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:56 Sa 11.09.2021 | Autor: | Leon33 |
> Hallo Leon33,
>
> > f(t,y(t)) = sin(t)*y(t)
> >
> > f(t,y(t)) = sin( 47pi/40 ) *y( (80+7pi)/40 *k1)
> >
> > wie soll ich die Gleichung nach k1 auflösen ?
> >
> Wie löst man Gleichungen?
> Mit Äquivalenz- und Termumformungen.
> >
> > k1 = sin( [mm]t_j[/mm] + h* 7/10 ) * ( [mm]u_j[/mm] + h* 7/10 * [mm]k_1[/mm] )
>
> ausmultiplizieren (ausserdem habe ich die Faktoren
> vertauscht):
> [mm]k_1 = u_j * sin( t_j + h* 7/10 ) +( h* 7/10 * k_1 ) * sin( t_j + h* 7/10 )[/mm]
>
>
> Äquivalenzumformung [mm]| -( h* 7/10 * k_1 ) * sin( t_j + h* 7/10 )[/mm]:
>
> [mm]k_1 -( h* 7/10 * k_1 ) * sin( t_j + h* 7/10 ) = u_j * sin( t_j + h* 7/10 )[/mm]
>
> [mm]k_1[/mm] ausklammern:
> [mm]k_1*(1 - h* 7/10 * sin( t_j + h* 7/10 ) ) = u_j *sin( t_j + h* 7/10 )[/mm]
>
> Vorausgesetzt oder besser nachgeprüft, dass [mm]1 - h* 7/10 * sin( t_j + h* 7/10 ) \not= 0[/mm],
> dann [mm]| : 1 - h* 7/10 * sin( t_j + h* 7/10 )[/mm]:
>
> [mm]k_1 = \bruch{ u_j * sin( t_j + h* 7/10 )}{ 1 - h* 7/10 * sin( t_j + h* 7/10 )}[/mm]
>
> >
> >
> Gruß
> meili
ausmultiplizieren (ausserdem habe ich die Faktoren
> vertauscht):
> [mm]k_1 = u_j * sin( t_j + h* 7/10 ) +( h* 7/10 * k_1 ) * sin( t_j + h* 7/10 )[/mm]
Wie multiplizierst du das genau aus ,das du dazu kommst ?
Ich komme net darauf :)
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:35 So 12.09.2021 | Autor: | meili |
Hallo Leon33,
>
> ausmultiplizieren (ausserdem habe ich die Faktoren
> > vertauscht):
> > [mm]k_1 = u_j * sin( t_j + h* 7/10 ) +( h* 7/10 * k_1 ) * sin( t_j + h* 7/10 )[/mm]
>
> Wie multiplizierst du das genau aus ,das du dazu kommst ?
> Ich komme net darauf :)
Mit Distributivgesetz: $a*(b+c) = a*b+a+c$.
Dabei ist:
$a= sin( [mm] t_j [/mm] + h* 7/10 )$
$b= [mm] u_j$
[/mm]
$c= h* 7/10 * [mm] k_1$
[/mm]
Dann habe ich aber ohne Zwischenschritt auch gleich das
Kommutativgesetz der Multiplikation angewendet:
$a*b+a*c = b*a + c*a$
>
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:07 Do 09.09.2021 | Autor: | Leon33 |
sin( [mm] t_j [/mm] + h* 7/10 ) ( [mm] u_j [/mm] + h * 7/10 *k1 )
sin ( pi + pi/4 * 7/10) ( 2 + pi/4 * 7/10 [mm] *k_1)
[/mm]
sin ( 47pi/40 ) *( 2 + [mm] 7pi/40*k_1 [/mm] )
sin ( 47pi/40 ) *( [mm] (80+7pi)/40*k_1 [/mm] )
sin( [mm] t_1 [/mm] + h* 7/10 ) ( [mm] u_1 [/mm] + h * 7/10 *k1 )
Was setze ich für [mm] t_1 [/mm] und [mm] u_1 [/mm] ein?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:40 Fr 10.09.2021 | Autor: | meili |
Hallo Leon33,
> sin( [mm]t_j[/mm] + h* 7/10 ) ( [mm]u_j[/mm] + h * 7/10 *k1 )
Es fehlt: [mm] $k_1 [/mm] = [mm] \sin \ldots [/mm] $
>
> sin ( pi + pi/4 * 7/10) ( 2 + pi/4 * 7/10 [mm]*k_1)[/mm]
Dies ist als rechte Seite für j=0 der Gleichung ok, aber linke Seite der Gleichung [mm] $k_1$ [/mm] fehlt.
Vergleiche dazu Post zu vorheriger Frage.
>
> sin ( 47pi/40 ) *( 2 + [mm]7pi/40*k_1[/mm] )
>
> sin ( 47pi/40 ) *( [mm](80+7pi)/40*k_1[/mm] )
>
> sin( [mm]t_1[/mm] + h* 7/10 ) ( [mm]u_1[/mm] + h * 7/10 *k1 )
>
> Was setze ich für [mm]t_1[/mm] und [mm]u_1[/mm] ein?
Vergleiche Post zu vorheriger Frage.
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:57 So 12.09.2021 | Autor: | Leon33 |
Ich habe es jetzt bis k2 gerechnet ?
Soll ich auch k3 berechnen ?
Woher weiss ich wie weit ich berechnen soll?
Passt meine Rechnung melli?
Habe Rechnung im Anhang
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:57 So 12.09.2021 | Autor: | meili |
Hallo Leon33,
> Ich habe es jetzt bis k2 gerechnet ?
das reicht
>
> Soll ich auch k3 berechnen ?
nein
> Woher weiss ich wie weit ich berechnen soll?
Für die Aufgabe braucht man [mm] $u_2$, [/mm] da eine Näherung an $ y( [mm] \bruch{3}{2}\pi [/mm] ) $ gesucht ist, und $ [mm] t_2 [/mm] = [mm] t_0 [/mm] + [mm] 2\cdot{}h [/mm] = [mm] \bruch{3}{2}\pi [/mm] $ ist.
>
> Passt meine Rechnung melli?
Bei deiner Rechnung für k ist im Nenner eine Klammer an der falschen Stelle.
Es ist:
$ k = [mm] \bruch{ u_j \cdot{} sin( t_j + h\cdot{} 7/10 )}{ 1 - h\cdot{} 7/10 \cdot{} sin( t_j + h\cdot{} 7/10 )} [/mm] $
>
Bei sin den Rechner auf RAD stellen und nicht DEG benutzen.
> Habe Rechnung im Anhang
Ich habe folgende Werte raus:
[mm] $k_1 [/mm] = -0,4857$
[mm] $u_1 [/mm] = 1,6187$
[mm] $k_2 [/mm] = -0,5568$
[mm] $u_2 [/mm] = 1,1816$
(pi mit 3,14 gerechnet und auf 4 Nachkommastellen gerundet,
und hoffentlich nicht verrechnet; kommt auch vor)
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 00:29 Mo 13.09.2021 | Autor: | Leon33 |
Kannst du bitte auch kurz erklären was ich bei der iii) noch machen muss ? :)
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:49 Mo 13.09.2021 | Autor: | meili |
Hallo Leon33,
> Kannst du bitte auch kurz erklären was ich bei der iii)
> noch machen muss ? :)
>
Als Vorbereitung üben mathematische Texte zu lesen und zu verstehen.
>
iii) Berechnen sie den Fehler zur exakten Lösung y(3/2*pi) = - 2/e
Netterweise ist in der Aufgabe der Wert der exakten Lösung an der Stelle [mm] $\bruch{3}{2}\pi$ [/mm] angegeben. Der Wert ist $- [mm] \bruch{2}{e}$.
[/mm]
Mit Hilfe des angegebenen Runge-Kutta-Verfahrens hast du eine numerische Näherung an diesen Wert, nämlich [mm] $u_2$ [/mm] berechnet.
Nun ist nach dem Fehler gefragt. Um wie viel weicht die berechnete
Näherung vom exaten Wert ab. Also Differenz bilden.
Auserdem ist in der Aufgabe noch der Hinweis:
"Die hier berechnete Näherung muss nicht unbedingt eine gute sein"
gegeben.
Mit den Werten aus dem gegebenen Butcher Tableau ist das Runge-Kutta-Verfahren nicht besonders gut,
aber es sollte wahrscheinlich nur mal das Prinzip der Runge-Kutta-Verfahren geübt werden.
Interessant ist, wann ist ein Runge-Kutta-Verfahren gut.
Gruß
meili
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:38 Mo 13.09.2021 | Autor: | Leon33 |
Das wäre dann das exakte Ergebnis :
1.1816 - 2/e = 0.4458 ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:41 Mo 13.09.2021 | Autor: | fred97 |
> Das wäre dann das exakte Ergebnis :
>
> 1.1816 - 2/e = 0.4458 ?
Nein. Der exakte Wert ist -2/e.
Der Fehler ist dann 1.1816-(-2/e)=1.1816+2/e
|
|
|
|