WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Numerische Genauigkeit Runge-Kutta-Verfahren

 

Heilbronner99
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.12.2016, 17:20     Titel: Numerische Genauigkeit Runge-Kutta-Verfahren
  Antworten mit Zitat      
Hallo Zusammen,
ich habe bei unterschiedlichen Zeitschritten mit dem Runge-Kutta-Verfahren und dem Euler-Verfahren eine Funktion über der Zeit erstellt und die Genauigkeit anhand einer definierten Grenze betrachtet. Hierbei kam heraus, dass das Euler-Verfahren schneller ungenau wurde als das Runge-Kutta-Verfahren. Das Runge-Kutta-Verfahren begann erst ab sehr großen Zeitschritten zu oszillieren.

Was ist der Grund, warum das Euler Verfahren schneller ungenau wird und das Runge-Kutta zu oszillieren beginnt?

Hat hierzu jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen


Erano1
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 26.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.12.2016, 22:07     Titel:
  Antworten mit Zitat      
Hallo,

was hast du dir bis jetzt zu diesen Verfahren angeschaut? Wenn du dir die Methoden dahinter anschaust mit denen die DGLs gelöst werden, siehst du auch schnell wie die Unterschiede zu erklären sind.

Viele Grüße,
Erano1
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.12.2016, 22:07     Titel: Re: Numerische Genauigkeit Runge-Kutta-Verfahren
  Antworten mit Zitat      
Hallo Heilbronner99,

Das Runge-Kutta-Verfahren hat eine höhere Ordnung. Wenn Du z.B. ein Standard-RK4 verwendest, ist der lokale Diskretisierungs-Fehler O(h^5) und der akkumulierte Fehler in der Ordnung O(h^4).
Beim Euler-Verfahren ist der lokale Fehler bei O(h^2) und der akkumulierte bei O(h).

Das wird in den Numerik-Vorlesungen eingehend erklärt. Ein Blick in WikiPedia verrät auch wietere Details.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Heilbronner99
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2016, 07:48     Titel:
  Antworten mit Zitat      
Danke für eure Antworten.
Aber es liegt dann schließlich an der unterschiedlichen Anzahl an Stützstellen, warum der Euler früher ungenau wird oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.12.2016, 19:07     Titel:
  Antworten mit Zitat      
Hallo Heilbronner99,

Nein, tut es nicht.
O(h) bedeutet, dass die Fehler bei halber Schrittweite in etwas halb so groß werden. O(h^4) bedeutet, dass die halbe Schrittweite bereits 16 mal genauer ist.
Man kann auch ein Verfahren konstruieren, dass viele Stützstellen verwendet und trotzdem nicht genauer wird (das wäre allerdings etwas für die "Schön blöd" Schublade).
Andererseits nutzt das Runge-Kutta-Verfahren die zusätzlichen Stützstellen so aus, dass die Ordnung erhöht wird. Aber wie gesagt: Auch wenn Du dem Euler-Verfahren so viele Stützstellen gibst, wie das RK-Verfahren verwendet, wird es nicht genauso genau.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Heilbronner99
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 23.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2016, 19:15     Titel:
  Antworten mit Zitat      
Achso okay.
Und warum fängt dann der Kutta trotzdem bei sehr großen Schrittweiten an zu oszillieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.12.2016, 23:21     Titel:
  Antworten mit Zitat      
Hallo Heilbronner99,

Wieso "trotzdem"? Obwohl er bei kleinen Schrittweiten genauer ist als ein Euler-Verfahren? Das eine hat ja mit dem anderen nichts zu tun.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.