|
|
ODE-System, Chemische Reaktionen |
|
blue_plasma |

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 17:39
Titel: ODE-System, Chemische Reaktionen
|
 |
Hallo!
Ich muss zu meiner Entschuldigung vorausschicken, dass ich nur wenig Erfahrung mit ML habe, und mich so 'durchhangele'...
Ich habe ein System von 11 ODE's (8 Konzentrationen, 3 Temperaturen) die ich in der Zeit lösen möchte. Ich habe schon Literatur gewälzt und habe wohl ein "steifes" System. In der ML-Hilfe habe ich gelesen, das man dem Solver helfen kann, indem man ihm Infos zur Jacobi-Matrix gibt...
Muß ich jetzt meine ODEs nach den abh. Var. ableiten und als Matrix dem ODE-Sovler geben, oder geht das auch anders?
blue_plasma
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 18:02
Titel:
|
 |
Hallo,
ich würde es zunächst einmal mit ode23s probieren.
Den Weg über die Jacobi-Matirx kannst du dann immer noch beschreiten.
Grüße,
Harald
|
|
|
blue_plasma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.04.2010, 16:28
Titel:
|
 |
Hallo Harald,
Danke für den Tip, aber leider hat eine Änderung des Solvers nix gebracht...
Ich hab' vergessen zu sagen, dass ich das Ganze mit der Linienmethode (Method of Lines, Rothe-Methode) programmieren will. Meine Lösung für die abh. Var. wird dann in einem Feld (t,yi) ausgegeben.
Leider steigt ML immer nach der "Hälte" der Zeit aus. Die Lösung bis dahin wird ausgegeben und ich bekomme dabei neg. Konzentrationen als Lösung...? Kann man da was machen?
Beste Grüße
blue_plasma
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.04.2010, 16:40
Titel:
|
 |
Hallo,
ohne weitere Kenntnis des Problems schwierig.
Ich würde mal die Toleranzen (AbsTol, RelTol) heruntersetzen.
"Linienmethode" sagt mir nichts.
Ansonsten vielleicht mal den Code posten oder per PN schicken.
Grüße,
Harald
|
|
|
Nicolas S. |

Forum-Century
|
 |
Beiträge: 146
|
 |
|
 |
Anmeldedatum: 15.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014a/b
|
 |
|
|
 |
|
Verfasst am: 23.04.2010, 09:26
Titel: Re: ODE-System, Chemische Reaktionen
|
 |
blue_plasma hat Folgendes geschrieben: |
Hallo!
Muß ich jetzt meine ODEs nach den abh. Var. ableiten und als Matrix dem ODE-Sovler geben, oder geht das auch anders?
blue_plasma |
Um die ursprüngliche Frage zu beantworten: Ja.
Bei meinen Systemen, die auch sehr steif sind, hilft es tatsächlich sehr, die Tangente/Jacobimatrix analytisch mitzugeben. Zumal das lösen dann auch deutlich schneller geht.
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.04.2010, 09:29
Titel:
|
 |
Noch ein Hinweis:
Je nach Komplexität der Funktionen kann die Symbolic Math Toolbox (sofern vorhanden) beim analytischen Ableiten hilfreich sein.
Grüße,
Harald
|
|
|
blue_plasma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.04.2010, 11:07
Titel:
|
 |
So. Wieder da nach Krankheit...
@Harald: Hat leider nix gebracht... Linienmethode: Schau mal da, ich finde das sehr interessant: http://de.wikipedia.org/wiki/Linienmethode
@nicolas S.: Uiiiii, 11x11 Ableitungen, ich glaub mir wird schlecht... aber da muß ich wohl durch. Ich bilde jetzt also die Ableitungen, schreibe die Elemente in eine Matrix und sage dann ML, dass sie da sind. Ist das prinzipiell richtig? PS: Kennst Du eine Carla? Haha!
Dank und Gruß
blue_plasma
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.04.2010, 11:46
Titel:
|
 |
Hallo,
willkommen zurück
Wenn ich das richtig verstehe, steckt in der Linienmethode lediglich die Vorarbeit zur Aufstellung der Differentialgleichungen.
Die Ableitung würde ich dann eben auch nicht von Hand berechnen, sondern wie gesagt z.B. mit der Symbolic Math Toolbox.
Grüße,
Harald
|
|
|
blue_plasma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.04.2010, 13:13
Titel:
|
 |
Ok, ich sitz grad wieder vor der Symb Toolbox und versuch' mal laut zu denken. Bitte korrigiert mich, wenn ich falsch liege.
Also meine erste abh. Var. ist CG, die andere CS. Die zeitliche Ableitung ist wie folgt gegeben. z ist für die Ortsableitungen. Ki sind Konstanten.
CGt = -K1*CGz+K2*CGzz+K3*(CS-CG)
Das erste Element der Jacobi-MAtrix sei J(1,1), dafür muß ich CGt nach CG ableiten (also d/dCG(CGt)), richtig?
In der Toolbox bekomme ich als Antwort: -K3
Stimmt das? Ich hab schon länger keine Mathe mehr betrieben...
blue_plasma
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.04.2010, 13:19
Titel:
|
 |
Hallo,
das stimmt, da
... und die Ableitung eines linearen Terms ist die Konstante davor.
Grüße,
Harald
|
|
|
blue_plasma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.04.2010, 13:35
Titel:
|
 |
Danke Harald!
Also ich muß die Ableitungen nach dem Ort gar nicht berücksichtigen? Das war nämlich so ein Hintergedanke von mir...
Was mach ich denn, wenn eine Konstante (im Bsp. Ki) vor einer Ortsableitung von meiner abh. Var. abhängt?
Danke und Gruß
blue_plasma
|
|
|
blue_plasma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 28.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.05.2010, 17:51
Titel:
|
 |
So, s' Wochenende ist vorbei und ich hab meine Jacobi-Matrix erstellt. D.h. ich habe mein Gl.system nach den abh. Variablen abgeleitet, eine (in meinem Fall) 11x11-Matrix erhalten. Manche Elemente sind konstant und manche hängen von abh. Variablen ab.
Ich bin nun am 'Probieren' (leider ) wie ich ML sage, dass es die Jac-Mat verwenden soll. Aus den Bsp. in der Dokumentation werd' ich leider nicht so richtig schlau....
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.05.2010, 20:26
Titel:
|
 |
Hallo,
lies dir mal in der Doku zu ode23s etc. diesen Absatz durch:
"For the stiff solvers ode15s, ode23s, ode23t, and ode23tb, ..."
Mit anderen Worten: du musst eine Funktion schreiben, die die Jacobi-Matrix auswertet. Am einfachsten dürfte es sein, aus der symbolischen Jacobi-Matrix einmalig ein Function Handle zu erstellen. Kleines Beispiel:
Achtung: zf sollte in deinem Fall zwei Eingabeargumente haben.
Dieses Function Handle dann mit odeset als 'Jacobian' zur Verfügung stellen.
Grüße,
Harald
|
|
|
|
|
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.
|
|