|
|
Hilfestellung beim Lösen zweier Differentialgleichungen |
|
Venti96 |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 22.08.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2018, 16:36
Titel: Hilfestellung beim Lösen zweier Differentialgleichungen
|
|
|
|
|
Guten Tag liebe Forumsmitglieder,
ich bin noch unerfahren im Umgang mit Matlab und Simulink und hoffe, dass ich von euch Hilfestellung erhalten kann.
Mein Problem: Ich habe ein System mit einem Druckbehälter gefüllt mit komprimierter Luft (P1(t)), einem Ventil und daran angeschlossen ein Rohr.
Ich muss den Ausgangsdruck P2(t) nach einem Ventil berechnen um damit die Geschwindigkeit eines Zylinders nach einer bestimmten Strecke x(t) bestimmen. Das bedeutet ich habe zwei Differentialgleichungen.
Meine gegeben Formeln sind:
Volumenstrom in Teilchen/s (Gl.1)
reales Gasgesetz für den Druckbehälter (Gl.2)
reales Gasgesetz für das Rohr (Gl.3)
Differentialgleichung für die Teilchenanzahl im Druckbehälter (Gl.4)
Differentialgleichung für die Teilchenanzahl im Rohr (Gl.5)
Gegeben ist alles bis auf P1(t), P2(t), N1(t), N2(t), x(t)
die Anfangsbedingungen sind P1(0)=300 bar; P2(0)=0 bar
Mein zweites Problem:
Den Druck P2 brauche ich in folgender Bewegungsgleichung zum Beschleunigen eines Zylinders (Gl.6):
und damit zum Berechnen der Endgeschwindigkeit v mit der Differentialgleichung (Gl.7):
Auch hier ist bis auf das gesuchte v und P2(t) alles gegeben.
Wie würdet ihr jetzt vorgehen?
Finde keinen richtigen Anfang Ich müsste doch durch (Gl. 4) zusammen mit (Gl. 2) -Q bestimmen können, da ich P1(0) kenne. Dadurch dann natürlich auch Q. Durch integrieren erhalte ich N2(t) und damit kann ich auf P2(t) schließen?
Ihr merkt schon, ich bin ein wenig damit überfordert. Habe mir schon Quellen zur Verwendung der ode45 Funktion und dessen Syntax angeschaut und gehe mal davon aus, dass ich hier ein Differentialgleichungssytem aus mehreren Differentialgleichungen besitze die alle voneinander abhängen.
Ich hoffe der Beitrag ist nicht zu Umfangreich.
Schon im Voraus einmal vielen Dank für eure Hilfe!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.08.2018, 16:50
Titel:
|
|
Hallo,
erste Frage: willst du das in Simulink (Blöcke, insbesondere Integratoren) oder in MATLAB (ode45 mit einer DGL-Funktion) angehen?
In jedem Fall stehen im Zentrum die Differentialgleichungen für N1 und N2 (4 und 5). Q bekommst du aus 1, und die darin enthaltenen P1 und P2 durch Auflösen der Gleichungen 2 und 3. N1 und N2 sind in diesen Gleichungen
a) MATLAB: Eingabeargument der DGL-Funktion
b) Simulink: Ausgänge der Integratoren
Das zweite Problem sollte dann verhältnismäßig einfach sein.
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 ;)
|
|
|
Venti96 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 22.08.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2018, 19:13
Titel:
|
|
Danke schonmal für die schnelle Antwort.
Ich möchte die Gleichungen als Matlab Funktion in ein Simulink Modell einfügen, also ohne Blockschaltbilder. Also sozusagen die Matlabfunktion in das Simulink Modell einbetten.
Wenn ich das richtig verstanden habe, dann soll ich die Gl. 2 nach P1(t) umstellen:
(Gl. 2.1)
und Gl. 3 nach P2(t) umstellen:
(Gl. 3.1)
Dann in Gl. 1 P1(t) und P2(t) durch die Gl. 2.1 & Gl. 3.1 ersetzen.
Dann die DGL Gl. 4 & 5 aufstellen?
Und dann? Ich habe doch dann die zusätzliche Abhängigkeit von x(t) noch durch P2(t)?
Kann ich trotzdem ganz normal die ode45 funktion nutzen? Und wie genau erhalte ich daraus mein P2(t)? Habe das System glaube ich noch nicht ganz verstanden.
Ich probiere es mal aus und schreibe den Code hier rein.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.08.2018, 21:39
Titel:
|
|
Hallo,
habe ich übersehen. Dann musst du x gleich als 3. und 4. DGL einbauen.
Fang mit 4 Integratoren an, beschrifte die Ein- und Ausgänge. x ist dann einer der Ausgänge und kann in der MATLAB Function verwendet werden.
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 ;)
|
|
|
Venti96 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 22.08.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2018, 22:49
Titel:
|
|
Die Integratoren sind doch Bausteine von Simulink oder?
Ich wollte es so lösen, dass ich eine Matlab-funktion schreibe und diese dann in Simulink einfüge, also ohne Integratoren Blöcke.
Sozusagen wollte ich hier erstmal die Lösung durch die Verwendung des ode45 erzielen.
Mein Problem besteht aber leider immernoch.
Also der Kern des Problems ist: Wie erhalte ich P2 aus den Gleichungen und wie anschließend v
Trotzdem vielen Dank für jede Antwort!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.08.2018, 23:04
Titel:
|
|
Hallo,
Zitat: |
Ich wollte es so lösen, dass ich eine Matlab-funktion schreibe und diese dann in Simulink einfüge, also ohne Integratoren Blöcke. |
Das ist meines Erachtens nicht sinnvoll, da du Schwierigkeiten haben wirst, die Dynamik in die MATLAB-Function zu bringen. Ich würde sagen, entweder Simulink mit Integrator-Blöcken oder reines MATLAB.
Zitat: |
Wie erhalte ich P2 aus den Gleichungen und wie anschließend v |
Du hast doch schon nach P2 aufgelöst. Was meinst du mit v? Die Ableitung von x? Du musst die DGL 2. Ordnung in 2 DGLen 1. Ordnung umschreiben.
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 ;)
|
|
|
Venti96 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 22.08.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2018, 23:29
Titel:
|
|
Zitat: |
Ich würde sagen, entweder Simulink mit Integrator-Blöcken oder reines MATLAB. |
Okay vielen Dank, dann werde ich mich morgen früh mal einlesen wie man diese richtig verwendet.
Zitat: |
Du hast doch schon nach P2 aufgelöst. |
Ja das stimmt, aber es ist doch noch abhängig von N2(t) und x(t) kann ich das trotzdem in die Gl. 6 einsetzten und dann aufteilen in 2 DGL 1. Ordnung?
Ja mit v meine ich die Geschwindigkeit aus Differentialgleichung Gl. 7.
Wie gesagt ich lese mir morgen früh nochmal was durch und melde mich dann wieder.
Gute Nacht erstmal und nochmals vielen Dank!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.08.2018, 09:24
Titel:
|
|
Hallo,
grob gesagt für Verwendung von ode45:
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 ;)
|
|
|
Venti96 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 22.08.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2018, 02:20
Titel:
|
|
Ich habe das ganze heute mal mit Simulink aufgebaut.
Ich lade euch die Datei hier mal hoch.
Diese Fehlermeldung taucht auf:
Ich denke mal ich muss noch irgendwelche Grenzen einbauen:
v>0; P2(t)>0 ;P1(t)>0 oder was meint ihr?
Gute Nacht
Beschreibung: |
|
Download |
Dateiname: |
DGL_System_Ventil.slx |
Dateigröße: |
29.44 KB |
Heruntergeladen: |
217 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.08.2018, 14:40
Titel:
|
|
Hallo,
ein scharfer Blick auf die Zeile: nach dem A fehlt ein * für Multiplikation.
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 ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|