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 starten aber durch Fehlermeldung abgebrochen

 

Flawo
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2012, 21:29     Titel: Simulation starten aber durch Fehlermeldung abgebrochen
  Antworten mit Zitat      
Hallo ihr,

es war ein Simulink-Model mit mehreren Subsystemen erstellt. Die Simulation des Oroginal-Models lief.

Danach wurden Paar Modifikationen des Models erstellt (die Änderungen des Original-Models waren nicht drastisch, sagen wir es war die Reihenfolge der erstellten Komponenten getauscht).

Bei der Modifikationen:

Simulationsprozess 'Run' startete und lief ca 0.11 sekunden, danach ergab sich Fehlermeldung in einem Addierer und Dividierer. Ich habe Simulationsschritt (step size) gewechselt und das hat geholfen: die Simulation der 3 von 4 Modifikationen laufen.
Bei der 4-ten Simulation habe ich das gleich probiert (Änderung der step-size sehr vile gespielt, tollerance, verschied. Methoden Runge-Kudta u.s.w. , Änderung der Start-Werte ) bis jetzt hat es nicht geholfen.

Was kann man da noch machen? Es war keine Änderung des Simulationsmodels außer Komponentenreihenfolge und verwandte Modifikationen funktionieren...
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 09.07.2012, 08:09     Titel:
  Antworten mit Zitat      
Bitte die genaue Fehlermeldung lieferen oder das Modell dem Technischen Support zur Verfügung stellen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Flawo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2012, 08:19     Titel:
  Antworten mit Zitat      
Simulation Diagnostics: Block error

Algebraic state in algebraic loop containing 'Variante_3' computed at time 2.0 is Inf or NaN. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 09.07.2012, 08:58     Titel:
  Antworten mit Zitat      
Die nächste Frage ist, ob die Modellerung ungünstig oder falsch ist oder die Meldung durch andere Modellierung verhindert werde kann, oder ob "es halt so ist", weil die zu modelliernde Realität einfach so ist.

Aufgrund der Tatsache, dass es wohl ein Modell gegeben hat, dass normal durchlief und nach leichter Modifikation nicht mehr, vermute ich, dass eine Modellierungsfehler vorliegt. Nach meiner Erfahrung kann man das nur unterstützen, wenn man das Modell vorliegen hat.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 09.07.2012, 10:16     Titel:
  Antworten mit Zitat      
So wie ich die Fehlermeldung interpretiere, hast du eine nicht konvergierende algebraische Schleife vorliegen. Algebraische Schleifen sind Systeme, deren Ausgang zum gleichen Simulationszeitpunkt vom Eingang abhängig ist, und der Eingang wiederum vom Ausgang abhängig ist. Solche Systeme kann Simulink iterativ lösen, es kann aber passieren, dass die Lösung nicht konvergiert. Dadurch bekommst du in irgendwelchen Solverwerten plötzlich ein "inf" oder "NaN", weil du außerhalb des darstellbaren Bereiches bist (weil double halt nicht unendlich viel Zahlen speichern kann...)

Diese Schleife musst du aufbrechen. Entweder über Delay-Blöcke (ändert allerdings unter Umständen das Systemverhalten) oder du modellierst deine Gleichungen neu.

Trotzdem: Ohne das Modell können wir dir wenig weiterhelfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Flawo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2012, 23:12     Titel:
  Antworten mit Zitat      
Anbei ist Blockschaltbild.

Das erwähne Fehlermeldung ergibt sich und dabei ist der Block 'Product3' [*/] gelb markiert (bei Run).
Wenn man damit bisschen mit dem Model spielt - dann wird der Block 'Sum' [+-] davor T6-T11 bei RUN gelb markiert...

Unbenannt_1.jpg
 Beschreibung:

Download
 Dateiname:  Unbenannt_1.jpg
 Dateigröße:  136.42 KB
 Heruntergeladen:  606 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
cybbi
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 84
Anmeldedatum: 23.08.11
Wohnort: ---
Version: Alle
     Beitrag Verfasst am: 13.07.2012, 07:52     Titel:
  Antworten mit Zitat      
Das liegt wie bereits bemerkt an einer algebraischen Schleife, die wohl nicht vernünftig aufgelöst werden kann. Ich hab dir das in folgendem Bild mal markiert (siehe Anhang).

Unbenannt_1.jpg
 Beschreibung:

Download
 Dateiname:  Unbenannt_1.jpg
 Dateigröße:  143.1 KB
 Heruntergeladen:  600 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Flawo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2012, 22:41     Titel:
  Antworten mit Zitat      
Hier (s.Anlage) nach der Einbau von Memory/Verzögerungsblöcke wurde die Simulation des Systems ins Laufen gebracht.
(Früher übliche Fehlermeldung 'Algebräische Schleife').

Jetzt liefert das Gesamtmodel alle Werte; außer im beigefügten Subsystem:

NaN für T4 Fluss Output
NaN für T8 (Unten)

Habe schon an verschiedenen Punkten Displays platziert. Nur noch immer keine T4 und T8 am Ausgang.

Meiner Meinung nach liegt das Problem wo Zweig 'T7-T4'. Wenn T7 schon bereitgestellt ist, ist noch kein T4 bereitgestellt... ??

Wie kann man T4 um richtigen Zeitpunkt zum Block T7-T4 liefern ? Sollte ein Startwert T4 auf irgendeine Weise zugewiesen werden?

Ich bitte euch um die Rettung.

Was kann man machen/tricken um T4 und T8 zum outputs bekommen?

Nant1.jpg
 Beschreibung:

Download
 Dateiname:  Nant1.jpg
 Dateigröße:  171.25 KB
 Heruntergeladen:  577 mal
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.