|
|
Kinetische Parameter bestimmen |
|
Marten |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2020, 15:00
Titel: Kinetische Parameter bestimmen
|
|
Schönen guten Tag,
ich habe einen speziellen Anwendungsfall und komme nicht auf die Lösung und denke, dass das nicht analytisch funktionieren wird. Ich habe auch ein wenig recherchiert und gesehen, dass man das Problem mit einer MATLAB Global Optimization Toolbox lösen kann und ich habe davon nicht so die Ahnung ehrlich gesagt.
Ich möchte folgende Gleichung lösen und Parameter bestimmen:
k=F/W∙(2^(m+n))/((3^(n ) * p^(m+n))) * ∫((2-x)/(1-x))^(m+n) von 0 nach U
F/W, P und U ist bekannt. k, m und n möchte ich bestimmen. Das ist ein kinetischer Ansatz und ich habe 9 dieser Gleichungen aber wenn ich wüsste, wie man sie löst wäre es perfekt.
k ist die Reaktionsgeschwindigkeit und m un n sind die Ordnungen. m un n können sogar negative Zahlen annehmen.
Wolfram alpha spuckte mir eine "incomplete beta function" aus, aber das habe ich nicht ganz verstanden.
Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.03.2020, 15:56
Titel:
|
|
Hallo,
ich würde mit der Optimization Toolbox anfangen.
Sehen die anderen Gleichungen genauso aus, nur mit anderen Werten für F/W, P und U? Dann ist das ein kleinste-Quadrate Problem und kann z.B. mit
lsqnonlin
gelöst werden.
Falls die anderen Gleichungen anders aussehen, enthalten die die gleichen Parameter oder andere?
Edit: Noch eine Nachfrage: wenn m und n "Ordnungen" sind, müssen sie dann ganzzahlig sein? Dann müsste man das doch anders angehen.
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 ;)
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2020, 16:28
Titel:
|
|
|
|
|
Harald hat Folgendes geschrieben: |
Hallo,
ich würde mit der Optimization Toolbox anfangen.
Sehen die anderen Gleichungen genauso aus, nur mit anderen Werten für F/W, P und U? Dann ist das ein kleinste-Quadrate Problem und kann z.B. mit
lsqnonlin
gelöst werden.
Falls die anderen Gleichungen anders aussehen, enthalten die die gleichen Parameter oder andere?
Edit: Noch eine Nachfrage: wenn m und n "Ordnungen" sind, müssen sie dann ganzzahlig sein? Dann müsste man das doch anders angehen.
Grüße,
Harald |
Also ich habe Matlab, aber habe bisher nur mal hin und wieder etwas mit rumgespeilt leider .
genau die anderen Gleichungen sehen in etwa genau so aus. F/W und P kann ich varrieren. U messe ich also der Umsatz.
das ist zum beispiel eine andere Gleichung:
k2=F/W∙(3^(m+n)/((2^(m+2n) * pges^(m+n))) ∫((2-x)/(1-x))^(m+n)
für jede Gleichung hat k, m und n einen anderen Wert. Nein die Ordnungen müssen nicht ganzzahlig sein und können auch negativ sein. Das ist ein Formalkinetischer Ansatz der erstmal keinen richtigen physikalischen Hintergrund hat. Soll mir aber später in Aspen besser helfen bei meinen Modell als eins aus der Literatur.
Danke dir und Grüße
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2020, 17:09
Titel:
|
|
|
|
|
Harald hat Folgendes geschrieben: |
Hallo,
ich würde mit der Optimization Toolbox anfangen.
Sehen die anderen Gleichungen genauso aus, nur mit anderen Werten für F/W, P und U? Dann ist das ein kleinste-Quadrate Problem und kann z.B. mit
lsqnonlin
gelöst werden.
Falls die anderen Gleichungen anders aussehen, enthalten die die gleichen Parameter oder andere?
Edit: Noch eine Nachfrage: wenn m und n "Ordnungen" sind, müssen sie dann ganzzahlig sein? Dann müsste man das doch anders angehen.
Grüße,
Harald |
Das steht auf der Beschreibung zu deinem Befehl:
Zitat: |
Description
Nonlinear least-squares solver
Solves nonlinear least-squares curve fitting problems of the form
minx//f(x)//22=minx (f1(x)^2+f2(x)^2+...+fn(x)2)
with optional lower and upper bounds lb and ub on the components of x.
x, lb, and ub can be vectors or matrices; see Matrix Arguments.
Rather than compute the value //f(x)//22 (the sum of squares), lsqnonlin requires the user-defined function to compute the vector-valued function
|
und bei mir im Paper steht:
W/F=∫dx/(k∙pCO^(m)∙p_(H2)^(n)) von 0 nach U = 1/(k∙pCO^(m)∙p_(H2)^(n) * ∫((3-x)/(1-x))^(m+n) dx von 0 nach U
W/F=a*f1(x)+b*f2(x)+c*f3(x)+d*f4(x)+..
Sieht ja schon ähnlich aus aber nicht ganz
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.03.2020, 20:34
Titel:
|
|
Hallo,
ja, das wäre schon schön, wenn ein Computer jegliche, wie auch immer formulierte Probleme lösen könnte. In aller Regel muss aber doch der Mensch die Vorarbeit leisten und das Problem in eine für den Computer passende Form bringen. Hier ist das eigentlich gar nicht so schwer:
Wenn du eine Gleichung ls = rs hast (ls = linke Seite, rs = rechte Seite), dann setzt du f = rs - ls, und schon ist das in der benötigten Form. Jede Gleichung wird zu einem f.
Wenn du das "Formel"-Tag und LaTeX-Syntax nutzt, werden deine Gleichungen deutlich lesbarer.
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 ;)
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2020, 21:00
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
ja, das wäre schon schön, wenn ein Computer jegliche, wie auch immer formulierte Probleme lösen könnte. In aller Regel muss aber doch der Mensch die Vorarbeit leisten und das Problem in eine für den Computer passende Form bringen. Hier ist das eigentlich gar nicht so schwer:
Wenn du eine Gleichung ls = rs hast (ls = linke Seite, rs = rechte Seite), dann setzt du f = rs - ls, und schon ist das in der benötigten Form. Jede Gleichung wird zu einem f.
Wenn du das "Formel"-Tag und LaTeX-Syntax nutzt, werden deine Gleichungen deutlich lesbarer.
Grüße,
Harald |
Ich weiß ja das das jemand anderes auch gelöst hat mit Matlab. Das mit der linke und rechte Seite habe ich nicht verstanden. Inwiefern sollte es einfacher sein die Gleichung zu lösen, wenn ich k auf die andere Seite rüber bring?
Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.03.2020, 21:10
Titel:
|
|
Hallo,
weil es dann in der Form ist, die lsqnonlin benötigt. Eine Gleichung zu lösen ist nichts anderes als die Abweichungen zwischen rechter und linker Seite zu minimieren.
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 ;)
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2020, 21:59
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
weil es dann in der Form ist, die lsqnonlin benötigt. Eine Gleichung zu lösen ist nichts anderes als die Abweichungen zwischen rechter und linker Seite zu minimieren.
Grüße,
Harald |
Ich hab mir den Code grad eben angeguckt.. woher weißt ich denn welcher für mich ist?
Und wie sag ich dem, dass ich k n und m bestimmen will?
Alle meine Reaktionen haben unterschiedliche Geschwindigkeiten und Ordnungen..
Gruß und danke dir
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.03.2020, 23:30
Titel:
|
|
Hallo,
welchen "Code" denn? Die Syntax-Varianten? Fang doch mal mit der ersten an.
Zitat: |
Und wie sag ich dem, dass ich k n und m bestimmen will? |
Du kannst sie zu einem Vektor, sagen wir u, zusammenfassen und dann mit u(1), u(2), u(3) arbeiten.
Zitat: |
Alle meine Reaktionen haben unterschiedliche Geschwindigkeiten und Ordnungen.. |
Dann sind die Gleichungen also voneinander unabhängig? Dann würde ich sie auch separat voneinander lösen. Wenn du keine anderweitigen Einschränkungen hast, wirst du aber mindestens so viele Gleichungen wie zu bestimmende Größen brauchen.
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 ;)
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2020, 10:55
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
welchen "Code" denn? Die Syntax-Varianten? Fang doch mal mit der ersten an.
Zitat: |
Und wie sag ich dem, dass ich k n und m bestimmen will? |
Du kannst sie zu einem Vektor, sagen wir u, zusammenfassen und dann mit u(1), u(2), u(3) arbeiten.
Zitat: |
Alle meine Reaktionen haben unterschiedliche Geschwindigkeiten und Ordnungen.. |
Dann sind die Gleichungen also voneinander unabhängig? Dann würde ich sie auch separat voneinander lösen. Wenn du keine anderweitigen Einschränkungen hast, wirst du aber mindestens so viele Gleichungen wie zu bestimmende Größen brauchen.
Grüße,
Harald |
Ja sie sind von einander unabhängig.. hmmmm ich habe noch einen anderen kinetischen Ansatz der ähnlich ist und mathematisch leichter zu lösen beziehungsweise wäre vermutlich das Ergebnis sogar gleich, aber ich möchte das es später schön aussieht im Paper
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.03.2020, 11:22
Titel:
|
|
Hallo,
möglich ist viel.
Für die etwas andere Herangehensweise gibt es dann auch eine andere Lösung, z.B.
fminunc
.
Um zu maximieren, minimierst du die mit -1 multiplizierte Funktion.
Zur Berechnung des Integrals in der Zielfunktion kannst du
integral
verwenden.
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 ;)
|
|
|
Marten |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 09.10.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2020, 11:58
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
möglich ist viel.
Für die etwas andere Herangehensweise gibt es dann auch eine andere Lösung, z.B.
fminunc
.
Um zu maximieren, minimierst du die mit -1 multiplizierte Funktion.
Zur Berechnung des Integrals in der Zielfunktion kannst du
integral
verwenden.
Grüße,
Harald |
Puh das sieht auch echt kompliziert aus.. ich werd mal nen Arbeitskollegen fragen ob er weiß wie man die Syntax eintippen muss und hoffe das das klappt.. danke dir
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.03.2020, 12:58
Titel:
|
|
Hallo,
ich behaupte, so schwierig ist das nicht. Man muss halt mal den Anfang machen. Wenn konkrete Probleme auftreten, dann gerne wieder melden.
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 - 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.
|
|