|
|
ein System von ode's an Messwerte fitten |
|
Boanerges |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 09.05.10
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.05.2010, 14:10
Titel: ein System von ode's an Messwerte fitten
|
|
|
|
|
Hallo!
ich habe das folgende Problem.
Ich habe einen kontinuierlichen Rührkessel, in dem 3 Komponenten (A,B,C) reagieren (Gleichgewichtsreaktionen). Für die Stoffe B und C habe ich Messwerte. Jetzt möchte ich die Differentialgleichungen, die den Verlauf der Konzentrationen beschreiben an meine Messwerte fitten.
Ich habe es schon mit fminsearch versucht, bekomme aber kein befriedigendes Ergebnis.
In einem m-file habe ich die DGL's hinterlegt. Der sieht so aus:
Dann habe ich noch ein m-file, in dem der Fehler berechnet wird.
tm,cbm und ccm sind meine Messwerte, die ich in der Konsole eingebe. Mit
lasse ich mir jetzt meine Parameter ausgeben.
Meine Frage, gibt es einen besseren Weg als mit fminsearch die Parameter zu bestimmen. fminsearch ist scheinbar stark von der Anfangsschätzung abhängig. Ich habe aber leider keine Anhaltspunkte um eine ordentliche Schätzung zu machen. Die Parameter sollten außerdem nicht null werden.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.05.2010, 15:58
Titel:
|
|
Hallo,
fminsearch sucht nur nach einem lokalen Minimum. Etwas mehr Vorstellungen über die Parameter sollte man also reinstecken.
Alternativ kann man überlegen, Algorithmen aus der Global Optimization Toolbox (vor 2010a heißt sie Genetic Algorithm and Direct Search Toolbox) zu verwenden, z.B. patternsearch oder ga.
Mir fällt aber noch was auf: Die Zeile
sollte wohl so aussehen:
In der ursprünglichen Form kanns eigtl nicht klappen.
Ich bekomme den Code aber so oder so nicht mal zum Laufen...
Beispielwerte für cbm, ccm und tm würden wohl helfen.
Grüße,
Harald
|
|
|
Boanerges |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 09.05.10
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.05.2010, 18:42
Titel:
|
|
ja, dass stimmt bei fminsearch muss noch das a mit hin. wenn ich die folgenden zeilen im command window eingebe läuft der code bei mir
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.05.2010, 20:38
Titel:
|
|
Hallo,
bist du inzwischen weitergekommen? Ich habe es zwischenzeitlich mit genetischem Algorithmus probiert und schaffe es zwar, den Fehler zu reduzieren, aber nicht, ihn auf 0 zu bringen (und das sollte er wohl sein).
Zusätzlich erreiche ich diesen nicht sehr guten Zielfunktionswert mit mehreren Durchläufen und komme auf versch. Parameterwerte, was mich doch verwundert.
An dieser Stelle kann ich nur raten, die Problemstellung noch einmal zu überprüfen.
Da es sich um eine Art Curvefitting zu handeln scheint, könnte man auch die entsprechenden Algorithmen mal darauf ansetzen.
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 - 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.
|
|