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

Problem mit min step size/ zero crossing detection

 

Jens

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2008, 11:48     Titel: Problem mit min step size/ zero crossing detection
  Antworten mit Zitat      
Hallo zusammen,

in meinem Modell wird ein Massenstrom durch einen Behälter simuliert. Die zugehörigen Gleichungssysteme sind überwiegend steif - von daher habe ich mich hauptsächlich auf die Löser ode23s und (vorallem) ode15s konzentriert (andere Löser wurden getestet - produzierten jedoch keine nutzbaren Ergebnisse).

Folgendes Problem tritt nun auf:
Mit eingeschalteter Zero Crossing Detetction und Vorgabe einer minimalen Schrittweite hmin: Der Löser simuliert sehr langsam mit einer sehr kleinen Schrittweite. Diese ist ungefähr hmin*eps. Ist hmin zu klein gewählt, bleibt der Löser bei ca. t=10^-18 s stecken. Allerdings wird immer weiter simuliert - er kommt halt nur nicht "vorwärts".

Mit ausgeschalteter Zero Crossing Detection und Vorgabe einer minimalen Schrittweite hmin: Der Löser simuliert nun mit der vorgegebenen minimalen Schrittweite - allerdings wird mir entweder immer wieder die Warnung ausgegeben, dass der relative Fehler hochgesetzt wird (auf wahnsinnige Werte wie 10^23) (ode23s), oder aber der Löser bricht ab, mit dem Hinweis, dass er nicht konvergieren wird (ode15s).

Mir ist der Sinn der Zero Crossing Detection durchaus bewusst, insofern ist mir klar, dass mit eingeschalteter Detection der Löser langsamer wird und mehr rechnet - was ich allerdings nicht verstehe ist, wieso er die vorgegebene minimale Schrittweite unterschreiten kann - intuitiv hätte ich angenommen, dass er mir auch in diesem Fall immer wieder eine Meldung ausgibt, dass die Schrittweite herabgesetzt werden muss.

Hat jemand eine Idee wie ich dieses Unterschreiten verhindern kann, bzw. hat jemand mal ein ähnliches Problem erfahren und eine Lösung gefunden?

Schon mal danke für jede Antwort
Jens


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.