|
|
Differentialgleichungssystem als Matrix lösen |
|
LaborDodo |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 01.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.11.2018, 19:56
Titel: Differentialgleichungssystem als Matrix lösen
|
|
|
|
|
Hallo zusammen,
ich bin ganz neu hier und hoffe das richtige Unterforum für meine frage gefunden zu haben.
Ich möchte ein chemisches Reaktionsgleichungssystem lösen. Für kleine Systeme habe ich das schon oft in matlab gemacht und es normalerweise in folgender Form in eine Funktion gepackt und mittels ode45 o.Ä. gelöst.
In nächste Zeit muss ich allerdings deutlich größere und komplexere Systeme lösen. Hierzu würde ich gerne die Gleichungen in der form dc/dt = K * c aufstellen und lösen.
Hierbei wären also dc/dt mein Vektor aus den Variablen links in der Gleichung und c der Vektor mit allen Konzentrationen und K meine Matrik mit den Ensprechenden Konstanten für alle Reaktionen.
Ich habe es Bereits über die Symbolic Toolbox versucht, da ich hierzu einiges gefunden habe. Allerdings wird das System sehr groß (>6000 Gleichungen) werden.
Falls das Problem hier einigen zu trivial vorkommt, ich nehme auch gerne Tips zur jeweiligen Literatur, anstelle von Lösungsvorschlägen entgenen.
Vielen Dank
Grüße
LaborDodo
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.11.2018, 10:00
Titel:
|
|
Hallo,
wenn mich meine Mathe-Kenntnisse nicht im Stich lassen, ist die Lösung
Solltest du aber sicherheitshalber an einem einfachen Beispiel verifizieren.
Die Frage ist aber, ob du mit der bisherigen Vorgehensweise nicht besser dran bist. Was spricht denn dagegen?
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 ;)
|
|
|
LaborDodo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 01.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.11.2018, 15:23
Titel:
|
|
Hallo Harald,
vielen Dank für die Antwort. Wenn alle meine Reaktionen erster Ordnung sind klappt das so auch. Allerding habe ich ggf auch welche zweiter Ordnung.
z.B.
Sowas in dieer Art, damit wäre die Matrix auch zeitabhängig. Nicht nur der Konzentrationsvektor.
Grüße
LaborDodo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.11.2018, 15:26
Titel:
|
|
Hallo,
nicht nur das. Dann ist das System nicht mehr linear und lässt sich nicht mehr in dieser Form beschreiben. Vielleicht in quadratischer Form, aber da ist mir keine solche Lösungsformel bekannt.
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 ;)
|
|
|
LaborDodo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 01.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.11.2018, 15:59
Titel:
|
|
Hallo,
daher hatte ich gehofft das ganze nummerisch in sinnvoller Zeit lösen zu könne.
Gruß
LaborDodo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.11.2018, 19:54
Titel:
|
|
Hallo,
hast du es denn mal mit einem "ganz normalen" ode45-Ansatz versucht?
Wenn die Matrix dünnbesetzt ist, dürfte die Auswertung recht schnell gehen. Sollte man natürlich ausnützen (
sparse
).
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 ;)
|
|
|
LaborDodo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 01.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2018, 08:21
Titel:
|
|
Hallo Harald,
ich dachte an genau das gleiche, hatte aber Probleme das System als Matrix so darzu stellen, dass es von ode45 bearbeitet werden kann.
Als einzelne Gleichungen war das gar kein Problem. Direkt als Matrizen allerdings schon. Hier habe ich nur die Möglichkeit es über eine Art Massenmatrix zu machen?
Aus der Dokumentation bin ich leider nicht richtig schlau geworden.
Gruß
LaborDodo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.11.2018, 09:19
Titel:
|
|
Hallo,
wie genau hast du es denn versucht und welche Probleme sind dabei aufgetreten?
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 ;)
|
|
|
LaborDodo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 01.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2018, 17:58
Titel:
|
|
Hallo Harald,
vielen Dank für deine Hilfe. Ich hatte den von dir vorgeschlagenen Weg ganz am Anfang meiner Matlabzeit mal versucht und dachte er würde prinzipiell nicht klappen. Aber siehe da es war nur ein kleiner Dimensionsfehler und er ist gelöst.
Das nächste Problem wartet allerding schon. Passt hier allerings nicht hin.
Beste Grüße
LaborDodo
|
|
|
|
|
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 - 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.
|
|