matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenDifferentialgleichungenEingebettete Runge-Kutta
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Differentialgleichungen" - Eingebettete Runge-Kutta
Eingebettete Runge-Kutta < DGL < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Differentialgleichungen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Eingebettete Runge-Kutta: Lösung der DGL u'=\lambda.u
Status: (Frage) beantwortet Status 
Datum: 22:59 Mi 09.12.2009
Autor: ftm2037

Aufgabe
Gegeben ist das folgende eingebettete RK-Verfahren:
c = (0 , 1 , 1/2)
A = (0 , 0  , 0)
    (1 , 0  , 0)
    (1/4,1/4, 0)
b = (1/2  , 1/2 , 0)
[mm] \overline{b} [/mm] = (1/6 , 1/6 , 4/6)
Bestimme die Lösung nach einem Zeitschritt für die DGL [mm] u'=\lambda.u, [/mm] d.h. bestimme [mm] U^{n+1} [/mm] und [mm] \overline{U}^{n+1} [/mm] unter der Annahme , dass [mm] U^{n} [/mm] bekannt ist.

Hallo,

ich weiß nicht, womit ich anfangen soll. Folgendes ist mir nicht klar:

1- Ist das Eingebettete RK-Verfahren  eigentlich eine Aufgabe, die aus 2 normalen RK-Verfahren besteht?

2- Mit welcher Formel muss ich [mm] U^{n+1} [/mm] und [mm] \overline{U}^{n+1} [/mm] auchrechnen?

Ich wäre sehr dankbar, wenn einer mir einen Ansatz geben könnte.

Grüße


Ich habe diese Frage in keine anderen Foren gestellt.

        
Bezug
Eingebettete Runge-Kutta: Antwort
Status: (Antwort) fertig Status 
Datum: 09:20 Do 10.12.2009
Autor: pi-roland

Hallo,

bei den eingebetteten Verfahren handelt es sich in der Tat um zwei Runge-Kutta-Verfahren. Dabei dient das mit der (meist) höheren Ordnung zur Bestimmung der Lösung der Differentialgleichung (hier wird b benutzt) und das andere zur Abschätzung des Fehlers (hier wird b* oder in deinem Fall [mm] \overline{b} [/mm] verwendet).
Zur Lösung hilft dir die Formel:
[mm] U^{n+1}=U^n+\summe_{j=1}^{s}b_jk_j [/mm]
Dabei ist
[mm] k_1=\lambda*U^n [/mm]
[mm] k_2=\lambda*U^n+a_{21}*h*k_1=\lambda*U^n+1*h*\lambda*U^n [/mm]
[mm] k_3=\lambda*U^n+a_{31}*h*k_1+a_{32}*h*k_2=\dots [/mm]
Das zusammenzufassen überlasse ich dir. Außerdem habe ich hier angenommen das die Schrittweite [mm] \(h\) [/mm] ist.
Nun könntest du dich wundern, warum die c gar nicht benutzt wurde. Das ist nicht nötig, da deine Differentialgleichung keine explizite Zeitabhängigkeit hat.
Viel Erfolg weiterhin,

Roland.

Bezug
                
Bezug
Eingebettete Runge-Kutta: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:12 So 13.12.2009
Autor: ftm2037

Hallo,

danke! Das hat mir sehr geholfen. Da habe ich aber zwei Fragen:

1- Woher erkenne ich diese explizite Zeitabhängigkeit? Meinst du damit, dass   u'=Lambda.u   unabhängig vom t ist? Wenn das so ist, werden dann z.B. [mm] f(k_{2} [/mm] , [mm] t_{n}) [/mm] und [mm] f(k_{2} [/mm] , [mm] t_{n}+h) [/mm] und [mm] f(k_{2} [/mm] , [mm] t_{n}+h/2) [/mm] usw.  alle mit einander gleich?

2- Wie rechne ich die Ks? Ich dachte so:

[mm] k_{i} [/mm] = [mm] U^n [/mm] + h. [mm] \summe_{j=1}^{i-1} (a_{ij}. f(k_{j} [/mm] , [mm] t_{n} [/mm] + [mm] c_{j}h)) [/mm]

[mm] k_{1} [/mm] = [mm] U^n [/mm]
[mm] k_{2} [/mm] = [mm] U^n [/mm] + h. [mm] f(k_{1} [/mm] , [mm] t_{n}) [/mm] = [mm] U^n [/mm] + lambda. [mm] U^n [/mm]
[mm] k_{3} [/mm] = [mm] U^n [/mm] + 1/4 h. f( [mm] k_{1} [/mm] , [mm] t_{n}) [/mm] + 1/4h. [mm] f(k_{2} [/mm] , [mm] t_{n} [/mm] + h) =
[mm] U^n [/mm] + 1/4h [mm] (U^n [/mm] +  lambda.  [mm] (U^n [/mm] + lambda. [mm] U^n)) [/mm]

Was ich in deiner Lösung nicht verstehe, warum ist
[mm] k_{1} [/mm] = lambda. [mm] U^n? [/mm]

Grüße







Bezug
                        
Bezug
Eingebettete Runge-Kutta: Antwort
Status: (Antwort) fertig Status 
Datum: 00:32 Mo 14.12.2009
Autor: pi-roland

Hallo,

vorab noch eine Bitte: Schau dir mal den Formeleditor an - es macht keinen Spaß deine Nachrichten zu lesen... Wenn du ein Sternchen (*) setzt, dann macht der daraus einen Malpunkt [mm] (\cdot). [/mm] Außerdem kannst du vor lambda ein \ setzten, damit du ein [mm] \lambda [/mm] erhältst.

> Hallo,
>  
> danke! Das hat mir sehr geholfen. Da habe ich aber zwei
> Fragen:
>
> 1- Woher erkenne ich diese explizite Zeitabhängigkeit?
> Meinst du damit, dass   u'=Lambda.u   unabhängig vom t
> ist? Wenn das so ist, werden dann z.B. [mm]f(k_{2}[/mm] , [mm]t_{n})[/mm] und
> [mm]f(k_{2}[/mm] , [mm]t_{n}+h)[/mm] und [mm]f(k_{2}[/mm] , [mm]t_{n}+h/2)[/mm] usw.  alle mit
> einander gleich?
>  

Ja, u' ist unabhängig von t. Aber dein Beispiel dazu passt nicht ganz. Man berechnet ja die Funktion nicht von verschiedenen Zeiten, sondern von den Orten zu den dazugehörigen Zeiten. Also [mm] f(k_1,t_n) [/mm] und [mm] f(k_2,t_n+h/2) [/mm] usw... Ein Beispiel für explizite Zeitabhängigkeit wäre: [mm] f(u,t)=\lambda*u+\sin [/mm] t
Da macht es Sinn, dass auch unterschiedliche Zeiten benutzt werden.

> 2- Wie rechne ich die Ks? Ich dachte so:
>  
> [mm]k_{i}[/mm] = [mm]U^n[/mm] + h. [mm]\summe_{j=1}^{i-1} (a_{ij}. f(k_{j}[/mm] ,
> [mm]t_{n}[/mm] + [mm]c_{j}h))[/mm]

Die Formel stimmt so nicht. Aber ehe ich jetzt interpretiere, was du gemeint haben könntest, schreibe ich die richtige Variante auf. Man geht davon aus, dass [mm] U^n [/mm] bekannt ist. Die einfachste Variante ist das Euler-Verfahren (Runge-Kutta 1. Ordnung), welches davon aus geht, dass im nächsten Zeitschritt [mm] U^{n+1}=U^n+h*f(U^n) [/mm] gilt. [mm] f(U^n) [/mm] ist die Ableitung von der Lösungsfunktion, die durch die Gleichung [mm] u'=f(u)=\lambda*u [/mm] gegeben ist, an der Stelle [mm] U^n, [/mm] also [mm] f(U^n)=\lambda*U^n. [/mm] Dein Runge-Kutta-Algorithmus benutzt nun nicht nur die Ableitung an dieser Stelle, sondern auch an anderen, um damit den "wahren" (er ist immer noch genähert, aber von besserer Qualität) Wert des nächsten berechneten Wertes zu bestimmen.
Blöder Satz, also nochmal... Runge-Kutta benutzt nicht nur [mm] f(U^n), [/mm] sondern beispielsweise auch [mm] f(U^n+\frac{h}{2}) [/mm] usw. gewichtet diese Ableitungen noch sinnvoll und "mittelt" daraus einen besseren Wert für den nächsten Zeitschritt.
Die ks sind dabei "Abkürzungen" für die Differentialgleichungsfunktion (in deinem Fall f(u)) zu den unterschiedlichen Zeiten, bzw. an verschiedenen Stellen.
[mm] k_1=f(U^n) [/mm]
[mm] k_2=f(U^n+ha_{21}*k_1) [/mm]
[mm] k_3=f(U^n+ha_{31}*k_1+ha_{32}*k_2) [/mm]
[mm] k_4=f(U^n+ha_{41}*k_1+ha_{42}*k_2+ha_{43}*k_3) [/mm]
Was nun damit berechnet wird, hab ich in der vorherigen Antwort schon einmal getippt, nämlich:
[mm] U^{n+1}=U^n+\summe_{j=1}^{s}b_jk_j [/mm]
s=4, da es sich um ein vierstufiges Runge-Kutta-Verfahren handelt.
Analog funktioniert die Gleichung für [mm] \overline{U}^{n+1}: [/mm]
[mm] \overline{U}^{n+1}=U^n+\summe_{j=1}^{s}\overline{b}_jk_j [/mm]
Und die Berechnung des Fehlers ist: [mm] e^{n+1}=U^{n+1}-\overline{U}^{n+1} [/mm]

> [mm]k_{1}[/mm] = [mm]U^n[/mm]
>  [mm]k_{2}[/mm] = [mm]U^n[/mm] + h. [mm]f(k_{1}[/mm] , [mm]t_{n})[/mm] = [mm]U^n[/mm] + lambda. [mm]U^n[/mm]
>  [mm]k_{3}[/mm] = [mm]U^n[/mm] + 1/4 h. f( [mm]k_{1}[/mm] , [mm]t_{n})[/mm] + 1/4h. [mm]f(k_{2}[/mm] ,
> [mm]t_{n}[/mm] + h) =
>   [mm]U^n[/mm] + 1/4h [mm](U^n[/mm] +  lambda.  [mm](U^n[/mm] + lambda. [mm]U^n))[/mm]
>  

So ist das erstmal falsch.

> Was ich in deiner Lösung nicht verstehe, warum ist
>   [mm]k_{1}[/mm] = lambda. [mm]U^n?[/mm]

Ich hoffe, diese letzte Frage ist nach obigen Ausführungen auch beantwortet.
Diese k-Werte auszurechnen macht halt in der Informatik Sinn, da so eine Differentialgleichung beliebig kompliziert werden kann und somit viel Rechenaufwand kostet. Ist der Wert aber einmal berechnet, so kann er leicht aus dem Speicher wieder abgerufen werden.

> Grüße

Viel Erfolg noch,

Roland.


Bezug
                                
Bezug
Eingebettete Runge-Kutta: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 03:06 Mo 14.12.2009
Autor: ftm2037

Hallo Roland,

Herzlichen Dank für die ausführliche Antwort!

Grüße

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Differentialgleichungen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]