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

Stick-Slip mit fixed-step / variable-step Solvern

 

Tralin

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 20:34     Titel: Stick-Slip mit fixed-step / variable-step Solvern
  Antworten mit Zitat      
Hallo Zusammen,

ich habe versucht, das Stick-Slip-Simulationsmodell aus "Modellbildung und Simulation dynamischer Systeme" nachzuvollziehen. Dabei ist mir aufgefallen, dass in den Beispieldateien ein fixed-step-Solver verwendet wird. Die Ergebnisse der Simulation weichen fundamental von den Ergebnissen mit einem variable-step-Solver ab.

Die Beispieldatei ist hier downzuloaden:
https://www.oldenbourg-verlag.de/download/42298/everyone/25074
(Beispiel 3.2)

Anbei ein Foto, das zum einen die Ergebnisse mit fixed-step (ode5, 0.001 step size, Standardeinstellung) als gleichförmigere Schwingung mit großer Amplitude sowie variable-step (ode45) zeigt.

Kann mir jemand bitte erklären, wie die gravierenden Unterschiede zustande kommen sowie beantworten, welches Ergebnis nun das korrektere ist? Im Buch wird mit dem fixed-step-Solver gearbeitet und auch das Schaubild mit größerer Amplitude angegeben.

Vielen Dank für die Hilfe!
Tralin

fixed vs variable.jpg
 Beschreibung:

Download
 Dateiname:  fixed vs variable.jpg
 Dateigröße:  102.57 KB
 Heruntergeladen:  838 mal


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.07.2013, 21:32     Titel:
  Antworten mit Zitat      
Hallo,

es werden ja Näherungsverfahren verwendet.
ode5 integriert mit einer festen Schrittweite "stur" durch ohne sich dafür zu interessieren, wie gut oder schlecht die angenäherte Lösung ist.
ode45 arbeitet mit variable Schrittweite. Es wird intern im Grunde zweimal simuliert und aus dem Unterschied zwischen den beiden Lösungen der Simulationsfehler geschätzt. Ist der Simulationsfehler nicht innerhalb der eingestellten Toleranzen, wird die Schrittweite verkleinert, so dass die Toleranzen eingehalten werden.
ode45 wird also fast immer die besseren Ergebnisse liefern.

Generell würde ich so sagen: immer mit variabler Schrittweite simulieren, außer man möchte Code generieren. Dann muss man ja mit fester Schrittweite arbeiten, sollte aber sicherstellen, dass der Verlauf dann immer noch mit dem bei variabler Schrittweite übereinstimmt.

Du kannst bei deinem Modell ja mal die Schrittweite bei ode5 verkleinern. Wenn du das ausreichend tust, sollte sich der Verlauf dem von ode45 berechneten Verlauf annähern. Falls nicht, mal die Toleranz von ode45 heruntersetzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Tralin

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2013, 20:16     Titel:
  Antworten mit Zitat      
Wunderbar, ich danke für die ausführliche Erläuterung.

Ich habe nun die anderen variable-step-Solver ausprobiert. Diese liefern allesamt ein Ergebnis, das sehr nahe am ursprünglichen, also dem fixed-step-Ergebnis liegen. Ich werde nun mit einem dieser Verfahren weiterarbeiten, da sie am nächsten am Original liegen.

Wie gesagt: Vielen Dank!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.07.2013, 15:15     Titel:
  Antworten mit Zitat      
Hallo,

ich möchte es nochmal betonen: ich würde als Referenz immer eine Simulation mit einem variable-step Löser und niedriger Toleranz (max. 1e-6) nehmen. Bei fester Schrittweite hat man nunmal wenig bis gar keine Informationen darüber, wie genau die Lösung ist.

Grüße,
Harald
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.