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

Algebraic Loop warning in meinem Simulink Modell

 

Speedmaxl
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 27.11.2020, 14:56     Titel: Algebraic Loop warning in meinem Simulink Modell
  Antworten mit Zitat      
Hallo zusammen,

Ich habe die Tage mein Modell eines Zwei-Freiheitsgrade-Schwingers (Pendel mit Feder und Dämpfer hängt an vertikal geführten Masseblock welcher ebenfalls mit Feder und Dämpfer oben aufgehängt ist) in Simulink modelliert. Das Programm lief auch soweit ganz gut und brachte plausible Ergebnisse.

Jedoch bei gewissen Eingaben (speziell bei Anfangswerten bei den Integrieren) bekomme ich seit 2 Tagen eine "Algebraic Loop" Warning von Simulink zurück. Habe mich bisher mit der RelativTolerance sowie verschiedenen Solvern (ODE45 und ODE15) herumgespielt. Jedoch ohne Erfolg. Nach einer Recherche bin ich auf ein paar Tricks gekommen die besagten, in der betroffenen Schleife einen Memory Block oder eine Transfer Function einzubauen. Dies übersteigt aber nun mein Bescheidenes Wissen auf dem Gebiet der Schwingungs-Simulation.

Ich hab Screenshots der betroffenen Schleife sowie der Fehlermeldung hinzugefügt. Hoffe, es sind soweit genug Infos und es kann mir jemand ein paar Inputs geben, wie man die Schleife wieder zum laufen bringt.

Vielen Dank.

algebraic loop1.png
 Beschreibung:
Fehlermeldung

Download
 Dateiname:  algebraic loop1.png
 Dateigröße:  95.67 KB
 Heruntergeladen:  237 mal
algebraic loop.png
 Beschreibung:
betroffene Schleife

Download
 Dateiname:  algebraic loop.png
 Dateigröße:  104.07 KB
 Heruntergeladen:  231 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

der Anhang hebt ja schön gelb hervor, wo die algebraische Schleife ist.

In meiner Erfahrung deutet eine algebraische Schleife meist auf einen Modellierungsfehler hin. Wenn es um die Modellierung einer diskreten oder kontinuierlichen Dynamik geht, dann fehlt ein Unit Delay oder Integrator.
Um beim Beheben zu helfen, müsste man wissen, welche Gleichungen du denn da umsetzen möchtest.

Für die Übersichtlichkeit würde ich empfehlen, Signalkreuzungen möglichst zu vermeiden und einen möglichst klaren Fluss von links nach rechts im Modell sicherzustellen. Von rechts nach links sollten nach Möglichkeit wirklich nur einfache Rückführungen gehen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 27.11.2020, 17:17     Titel:
  Antworten mit Zitat      
Danke mal für die Antwort,

Ja stimmt, DGL's und System habe ich in den Anhang gegeben. Modelliert wäre es für mich richtig. Bin es zumindest schon x-mal durchgegangen.
Der Fehler kommt auch nicht jedesmal. Eigentlich nur, wenn ich bei zwei Integratoren gleichzeitig einen Anfangswert festlege...

Bezüglich Übersicht: Ja da hast du recht, das muss ich noch besser strukturieren.

Grüße,
Paul

DGL's.png
 Beschreibung:

Download
 Dateiname:  DGL's.png
 Dateigröße:  8.09 KB
 Heruntergeladen:  212 mal
System zu DGL's.jpeg
 Beschreibung:

Download
 Dateiname:  System zu DGL's.jpeg
 Dateigröße:  132.1 KB
 Heruntergeladen:  209 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.11.2020, 17:30     Titel:
  Antworten mit Zitat      
Hallo,

ja, da kommen die zweiten Ableitungen mehrfach vor. Ich erinnere mich jetzt.

In MATLAB kann man das ja über eine Massenmatrix lösen, in Simulink auch:
https://www.gomatlab.de/implementat.....n-in-simulink-t36716.html

Das "ärgerliche" ist hier, dass die Massenmatrix von phi abhängt und in jedem Simulationsschritt berechnet werden muss.
Kann es denn sein, dass die Massenmatrix je nach Parametern singulär wird? Das wäre eine sehr gute Erklärung für Probleme bei der Simulation.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 27.11.2020, 18:01     Titel:
  Antworten mit Zitat      
Hm.. ok das ist ein guter Punkt. Da ich die DGL's im klassischen Sinn hergeleitet habe, habe ich noch gar keine Massenmatrix definiert und muss mich da erst einlesen zu dem Thema..

Nur verstehe ich noch nicht so ganz, wie ich diese Massenmatrix später in Simulink einbaue. Ist da das Modell komplett neu aufzubauen?

Danke,
Grüße
Paul
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.11.2020, 20:36     Titel:
  Antworten mit Zitat      
Hallo,

das mit der Massenmatrix ist "nicht so schlimm", würde ich behaupten. Wie im anderen Thread gesagt: erst als System erster Ordnung umschreiben, dann sollte das ohne allzu große Probleme gehen.

Zitat:
Nur verstehe ich noch nicht so ganz, wie ich diese Massenmatrix später in Simulink einbaue. Ist da das Modell komplett neu aufzubauen?

Komplett neu würde ich jetzt nicht sagen, auch wenn es so oder so eine gute Übung sein kann, das Modell besser strukturiert aufzubauen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 29.11.2020, 12:00     Titel:
  Antworten mit Zitat      
Hallo,

Also ich habe es jetzt geschafft, meine Massenmatrix aufzustellen Smile

In der Zwischenzeit bin ich aber auf einen Benutzerfehler meinerseits draufgekommen.
Ich hatte versehentlich viel zu hohe Werte für meine Anfangsbedingungen festgelegt. Da ist mir ein (etwas peinlicher) Fehler unterlaufen. Damit ich den Anfangswert für phi (externer Eingang am Integrator) in Grad eingeben kann, habe ich einen Vorfaktor hinzugefügt und der lautete bei mir *180/pi anstatt *pi/180... damit kamen natürlich viel zu hohe rad-Werte in die Berechnung rein. Und damit ist der Solver nicht klar gekommen.
Kann es sein, dass es daran gelegen hat, weil seit ich das geändert habe, läuft es wieder...?

Lg Paul
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 29.11.2020, 12:07     Titel:
  Antworten mit Zitat      
PS: ich hab mich gerade mit den Anfangswerten für phi gespielt..
Die Fehlermeldung kommt jetzt ab einem Wert von 33°. Ist das Systemtechnisch erklär- bzw. vertretbar, oder sollte ich hier noch weiter optimieren?

Grüße,
Paul
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2020, 12:14     Titel:
  Antworten mit Zitat      
Hallo,

die interessante Frage finde ich: wie sieht denn die Massematrix aus, wenn die algebraische Schleife auftritt? Ohne das momentane Modell ist es schwierig, mehr dazu zu sagen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 29.11.2020, 13:14     Titel:
  Antworten mit Zitat      
Habe die Massenmatrix im Anhang gegeben. In Matlab löst der Solver die DGL ohne Probleme.
Die Frage ist jetzt nur, wie bekomme ich Simulink dazu es auch so zu machen...?

Grüße Paul

Bildschirmfoto 2020-11-29 um 12.12.39.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2020-11-29 um 12.12.39.png
 Dateigröße:  15.13 KB
 Heruntergeladen:  230 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 29.11.2020, 13:42     Titel:
  Antworten mit Zitat      
Also, ich denke ich habe mich vorher falsch ausgedrückt. Ich hab am ursprünglichen Simulink Modell noch nichts geändert. Lediglich die Dgl‘s mit eben der Matrix aus dem Anhang direkt in MATLAB gelöst...
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 29.11.2020, 13:51     Titel:
  Antworten mit Zitat      
Ich versuche heute mal das Simulink Modell anhand der jetzt 4 neuen DGL‘s aufzubauen und werde dann berichten.

Lg Paul
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 02.12.2020, 01:26     Titel:
  Antworten mit Zitat      
Hallo,
ich bin leider noch nicht zu meinem neuen Simulinkmodell gekommen, da ich seit gestern an einer anderen Baustelle arbeite.
Es geht darum, zuerst einen Plot der Eigenfrequenzen (Masse und Pendel zu erzeugen). Diese möchte ich mit dem bode Befehl aus meiner Zustandsraumdarstellung ausgelesen und plotten.
Leider wird mir nur die erste Eigenfrequenz der vertikalen Masse angezeigt (f0_1) und ich komme einfach nicht darauf, wie ich mir f0_phi auch plotten lassen kann...

Hab den Code im Anhang und zusätzlich einen Screenshot, wie das ganze ausschauen sollte...

Grüße,
Paul

Bildschirmfoto 2020-12-02 um 00.25.03.png
 Beschreibung:
Soll

Download
 Dateiname:  Bildschirmfoto 2020-12-02 um 00.25.03.png
 Dateigröße:  46.77 KB
 Heruntergeladen:  204 mal
Bestimmung Eigenfrequenzen.png
 Beschreibung:
Ist

Download
 Dateiname:  Bestimmung Eigenfrequenzen.png
 Dateigröße:  397.71 KB
 Heruntergeladen:  200 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.12.2020, 09:50     Titel:
  Antworten mit Zitat      
Hallo,

ich kenne mich mit Bode-Diagrammen nur sehr begrenzt aus.
Wenn eine Frage wenig mit dem bisherigen Thema zu tun hat, bitte ein neues Thema erstellen. So besteht zumindest eine größere Chance, dass auch jemand anders drauf schaut.
Bitte dann auch den Code als solchen zur Verfügung stellen und nicht nur einen Screenshot davon. Dann kann man den Code auch ausführen und sich die Variablen ansehen ohne den Code abzutippen (was ich nicht vorhabe Wink ).

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Speedmaxl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.20
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 02.12.2020, 17:24     Titel:
  Antworten mit Zitat      
Hallo Harald!
Ja stimmt, da hast du recht. Wäre gescheiter... Wink
Werd das Problem an einer eigenen Stelle posten.

Lg Paul
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.