|
|
Optimierung mit lsqcurvefit |
|
Pillemann |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 21.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.06.2010, 20:42
Titel: Optimierung mit lsqcurvefit
|
 |
Hallo!
Ich habe eine Funktion, die von einigen Parametern abhängt, zu optimieren:
f(t)=f(P1,P2,P3...,t), so dass der Flächeninhalt zwischen der Kurve und meinem vorgegebenen Mittelwert minimal wird , wozu ich lsqcurvefit benutze (siehe Matlabhilfe) und es funktioniert auch sehr gut.
Einige meiner Parameter sind miteinander verknüpft: Pi=Pi(Pj).
Gibt es eine Möglichkeit, dass dem Compiler mitzuteilen, damit er Pi und Pj nicht immer gesondert optimiert, sondern hinterher Pi~Pi(Pj) ist?
Danke für die Hilfe! Wenn das Problem nicht klar ist, bitte fragen.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.06.2010, 21:25
Titel:
|
 |
Hallo,
wenn die Zusammenhänge in der Form gegeben sind, dass ein Parameter direkt durch den anderen gegeben ist, dann bau das doch einfach in die Formel ein?
Grüße,
Harald
|
|
|
Pillemann |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 21.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.06.2010, 23:06
Titel:
|
 |
Hallo Harald,
danke für die Antwort. Das Problem ist, dass die beiden parameter nur ungefähr von einander abhängen. Pi~Pi(Pj). Wenn ich jetzt meine formel umbaue, ist es ja ein steifes Pi=Pi(Pj), was die Zahl der Parameter und damit die Leistungsfähigkeit der Optimierung einschränkt. Aber dein Vorschlag war gut, ich kann ja einfach mit einem variablen Faktor arbeiten: Pi=A*Pi(Pj) ; A={0.7...1.3}. Es wäre nur schön gewesen, wenn es dafür eine von Matlab angebotene Lösung gäbe.
Gruß, Albrecht
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.06.2010, 12:14
Titel:
|
 |
Hallo,
das könnte man vielleicht als (nicht)lineare Nebenbedingung umsetzen. Dazu müsstest du aber Richtung fmincon gehen.
Grüße,
Harald
|
|
|
Pillemann |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 21.03.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.06.2010, 16:29
Titel:
|
 |
Hallo Harald,
fmincon findet ja nur die Extrema von mehrdimensionalen Funktionen mit Nebenbedingungen. Ich hingegen suche nicht den Wert des Extremums, sondern die Parameter, mit denen meine Funktion extrem wird. Dein Vorschlag hat aber gut funktioniert. Bevor ich mich jetzt noch tiefer in Matlab graben muss, würde ich mein Problem einfach so lösen.
Gruß
Albrecht
|
|
|
|
|
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.
|
|