Verfasst am: 06.02.2023, 14:24
Titel: lsqnonlin mit Nebenbedingungen
Hallo zusammen,
ich stehe vor folgendem Optimierungsproblem: Ich möchte mir drei zeitlich konstante Zielgrößen (x1,x2,x3) aus zeitlich veränderliche Inputdaten (a,b,c,d) vieler Versuche über eine Gleichung der Form: (x1*a^x2*(x3*b-c))-d=0 fitten. Dazu habe ich aus all meinen Versuchen die Inputdaten in Vektoren geschrieben und anschließend x1,x2, x3 über
Wie kann ich nun mehrere Nebenbedingungen formulieren, so dass x1(t) = const., x2(t) = const. , x3(t) = const. gilt?
Ich hatte mir das so vorgestellt, dass ich x2 und x3 festhalte und die Gleichung dann nach x1 umschreibe. Dadurch bekomme ich ein x1(t), für welches ich zu jedem Zeitpunkt die quadratische Abweichung vom optimierten x1 berechne und minimiere.
Ist es möglich mehrere Nebenbedingungen in lsqnonlin zu integrieren oder gibt es eine elegantere Lösung für das Problem?
ich verstehe die Frage nicht. lsqnonlin dürfte dir bei deinem Code einen Vektor x mit drei Elementen ausgeben, die x1, x2 und x3 entsprechen. Es gibt da gar keine zeitliche Abhängigkeit.
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 ;)
Trut
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 06.02.2023, 16:27
Titel:
Hallo Harald,
das ist richtig, dass lsqnonlin mir einen Vektor mit drei Elementen zurückgibt.
Ich versuche es anders zu formulieren: Wenn ich beispielsweise x1 und x2 festhalte und anschließend x3(t) über die zeitabhängigen Inputparameter eines einzelnen Versuchs (also einer kleinen Menge aller Inputparameter) a,b,c,d zurückrechne
Ich versuche es anders zu formulieren: Wenn ich beispielsweise x1 und x2 festhalte und anschließend x3(t) über die zeitabhängigen Inputparameter eines einzelnen Versuchs (also einer kleinen Menge aller Inputparameter) a,b,c,d zurückrechne
Warum sollte man das tun? Ich halte das ehrlich gesagt nicht für sinnvoll.
Zitat:
Mein eigentliches Ziel ist, dass die drei optimierten Größen versuchs- und damit zeitunabhängig werden.
Das sind sie doch?
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 ;)
Trut
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 08.02.2023, 09:06
Titel:
Hallo Harald,
ich bin ehrlich gesagt auch noch nicht sicher, ob das sinnvoll ist, aber ich würde gerne in irgendeiner Weise überprüfen, ob die drei optimierten Parameter tatsächlich in der Lage sind die Zeitabhängigkeit eines Teils der Inputparameter herauszunehmen. Mir fiel keine andere Methode ein, oder würdest Du behaupten, dass ich das implizit durch die Optimierung schon annehme?
was man z.B. machen könnte: Datenpunkte mit
scatter
plotten und nach Zeit einfärben um zu sehen, ob es bestimmte Muster gibt.
Man kann natürlich auch die Kurve an verschiedene Teile der Daten separat anpassen und schauen, wie stark die Unterschiede sind.
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 ;)
Trut
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 17.02.2023, 15:50
Titel:
Hallo Harald,
danke für die Tipps. Das werde ich mal versuchen!
Viele Grüße
Trut
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.