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

Frage bzgl. DGL-System in Simulink

 

NeedHelp
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 10.10.23
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2023, 22:13     Titel: Frage bzgl. DGL-System in Simulink
  Antworten mit Zitat      
Hallo zusammen,

Ich habe ein Problem bzw. eine Frage zu Simulink. Und zwar habe ich das folgende
DGL-System in Simulink umgesetzt (Siehe Abb. 1-3):

<br />
\frac{dX}{dt} = (C_2\cdot C_4\cdot \frac{C_5}{X+Y-C_5}+C_3-(C_2\cdot C_4+C_3)\cdot \frac{X}{X+Y})\cdot C_1
<br />

<br />
\frac{dY}{dt} = (C_2\cdot C_6\cdot C_7-C_3\cdot 0.5-(C_2\cdot C_6-C_3\cdot 0.5)\cdot \frac{Y}{X+Y})\cdot C_1
<br />
Das funktioniert prinzipiell auch, also X und Y nehmen ungefähr die stationären Endwerte
an, die ich erwarten würde. Allerdings schwanken beide Werte ein bisschen und pendeln
sich nicht komplett auf einen konstanten Wert ein (siehe Abb. 4).
Da ich noch nicht so viel Erfahrung mit Simulink habe, weiß ich an der Stelle nicht so ganz
ob das "so in Ordnung ist", und falls nicht warum nicht.
Da die Eingangsbedindungen alle konstant sind, müsste sich das System meiner Meinung nach eigentlich
am Ende auf einen konstanten Wert einschwingen, also so dass in den beiden Scopes nur noch "horizontale
Striche" zu sehen sind.
Mein erster Erklärungsversuch wäre, dass die Gleichungen wegen den X/(X+Y) bzw. Y/(X+Y)-Termen ein nichtlineares
DGL-System darstellen. Ich verwende dafür momentan den Solver ode45 in Simulink, meine Erklärung wäre dass
der mit der Art von DGL nur bedingt umgehen kann(ODE = Ordinary Differential Equation, also kann der Solver
wahrscheinlich nur gewöhnliche Differentialgleichungen und keine Nichtlinearen)...
An der Stelle stehe ich aber ehrlich gesagt auf dem Schlauch, da mein Verständnis für Numerik ehrlich gesagt
bei den "normalen" Solvern aufhört und ich dazu auch sonst Online wenig brauchbares gefunden habe.
Also falls sich jemand mit den Solvern auskennt oder da sonst einen Fehler erkennt, würde mich sehr freuen.

MfG

Test.slx
 Beschreibung:

Download
 Dateiname:  Test.slx
 Dateigröße:  40 KB
 Heruntergeladen:  107 mal
Abbildung_4.png
 Beschreibung:

Download
 Dateiname:  Abbildung_4.png
 Dateigröße:  25.99 KB
 Heruntergeladen:  93 mal
Abbildung_3.png
 Beschreibung:

Download
 Dateiname:  Abbildung_3.png
 Dateigröße:  29.17 KB
 Heruntergeladen:  100 mal
Abbildung_2.png
 Beschreibung:

Download
 Dateiname:  Abbildung_2.png
 Dateigröße:  27.46 KB
 Heruntergeladen:  115 mal
Abbildung_1.png
 Beschreibung:

Download
 Dateiname:  Abbildung_1.png
 Dateigröße:  23.83 KB
 Heruntergeladen:  109 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

das Problem liegt in den Toleranzen. Setze in Modeling > Model Settings > Solver > Solver Details die Relative Tolerance auf einen geringeren Wert, z.B. 1e-9, und du siehst das gewünschte Verhalten.

Die Formeln sind zumindest bei mir leider zerschossen.
Wenn man den Verdacht hat, dass etwas nicht stimmt, kann man nur schrittweise durchgehen und schauen, ob alle Terme richtig über Blöcke implementiert sind. Eine Überlegung wäre, die rechten Seiten der Differentialgleichungen über MATLAB Function-Blöcke zu implementieren. So lassen sich die Formeln leichter übertragen.

"Gewöhnliche DGLen" (im Unterschied zu partiellen DGLen) bedeutet übrigens, dass nur Ableitungen nach der Zeit vorkommen. Mit linear oder nichtlinear hat das erst mal nichts zu tun.

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
 
NeedHelp
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 10.10.23
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2023, 21:59     Titel:
  Antworten mit Zitat      
Hallo,

Vielen Dank für die schnelle Hilfe, wäre da echt nicht direkt draufgekommen.
Das mit den Formeln war mir leider nicht direkt beim Posten aufgefallen.

VG
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.