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

Simulation stoppen bei Erreichen des Endwertes

 

DanielM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2009, 20:29     Titel: Simulation stoppen bei Erreichen des Endwertes
  Antworten mit Zitat      
Hallo zusammen.

Ich bin ein ziemlicher Neuling und brauche Hilfe.
Ich habe ein Simulinkmodell von einer beschleunigten Masse mit Reibung etc
Die Parameter sowie Diagrammausgabe steht in der .dat Datei

Die Geschwindigkeit nähert sich einem bestimmten Wert.
Ich möchte einmal die Simulation genau dann stoppen wenn eine bestimmte Geschwindigkeit erreit ist.
Zum 2. soll bestimmt werden welchem Grenzwert sich das Modell annähert
Ich habe das bis jetzt im Diagramm abgelesen ist mir aber zu ungenau.
Wie setzt man das in Matlab um ?

Danke für eure Hilfe


Tim
Forum-Century

Forum-Century



Beiträge: 140
Anmeldedatum: 03.11.07
Wohnort: Stuttgart
Version: 2011b+aktuellstes Release
     Beitrag Verfasst am: 25.07.2009, 12:54     Titel:
  Antworten mit Zitat      
Annahme: Dein System nähert sich streng monoton dem Endwert.

Dann reicht es die Differenz aus aktuellem und vorangegangenem Simulationsschritt zu bewerten. Wenn die Differenz kleiner als ein Wert W ist, bricht die Simulation ab. Die Frage ist nun wie man W wählt. Eine Möglichkeit wäre W als epsilon zu wählen (eps ist die kleinste Zahl für die gilt: 1+eps != 1 (das kommt durch die Darstellung von Fließkommazahlen, siehe IEEE754)). Es muss nicht unbedingt epsilon sein, es kann z.B. auch 0.001 sein. Dann hast du aber das Problem, dass dein Abbruchkriterium absolut ist, und nicht relativ (zu erwarteten Endwert). Sprich: Wenn dein Endwert umd die 1000 liegt bist du sehr genau, wenn er aber bei 0.01 liegt, machst du relativ einen großen Fehler. Um das zu umgehen multipliziert man W mit dem aktuellen Ausgang des Systems. Siehe Bild.

Achja, den Stop-Block gibts unter "Sinks".

danielm1.png
 Beschreibung:

Download
 Dateiname:  danielm1.png
 Dateigröße:  7.16 KB
 Heruntergeladen:  795 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Daniel M.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2009, 17:04     Titel:
  Antworten mit Zitat      
Hallo Tim ..
Vielen Dank schon mal für den Tip der Abbruch bei bestimmter Geschwindigkeit haut schon hin.
Die Annäherung an den Endwert klappt noch nicht.Ich habe alles so übernommen bis auf das epsilon.Was soll das sein eine Konstante ?
Wo finde ich das ?
Und wie kann ich die letzten Werte vor Abruch der Simulation Anzeigen lassen ? Sonst muss ich ja wieder im Diagramm ablesen.

Gruß Daniel
 
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.