Ich bin sowohl Anfänger mit Matlab als auch Anfänger in Sachen Optimierung. Möchte aber trotzdem folgendes Problem lösen:
Ich sollte 3 Datenvektoren mit einer e Funktion y=k*A*exp(-l*B*x) annähern. A und B sind die unbekannte Variablen. Die Unbekannten sind für alle drei Datenvektoren gleich. k und l sind unterschiedlich bei den drei Datenvektoren unterschiedlich aber für jeden Datenvektor bekannt.
Ich wollte dieses Probelm mit fminsearch lösen und als Funktion einen Cell-Array der drei Funktionen übergeben. fun={@f1, f2, f3} in denen die jeweils unterschiedlichen k's und l's übergeben werden.
Wenn ich fminsearch mit einer Funktion aufrufe, klappt das ohne Probleme. Wie kann ich fminsearch auf mehrere Funktionen erweitern?
das hört sich für mich an, also ob Du mehrere Objectives hast (dargestellt durch die drei Funktionen). Also A und B sollen so bestimmt werden, daß y(i), i = 1:3 minimiert werden.
Meines Erachtens gibt es zwei Möglichkeiten, daß zu bearbeiten (bin offen für andere Vorschläge).
1. Entweder Du machst eine MultiObjective Optimierung, dann wäre folgendes interessant:
Choosing a Solver :: Setting Up an Optimization (Optimization Toolbox™)
http://www.mathworks.com/access/hel.....rhkghv-18.html#brhkghv-21
web([docroot,'/toolbox/optim/ug/brhkghv-18.html#brhkghv-21'])
2. Oder aber Du änderst Deine Zielfunktion. Zum Beispiel könntest Du die Summe der drei Funktionen minimieren.
Es hängt also von dem ab was Deinen Anforderungen am besten entgegen kommt
Gruß,
Martin
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
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.