|
|
Numerische Minimierung einer Funktion |
|
LukeS |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2007, 00:04
Titel: Numerische Minimierung einer Funktion
|
|
Hallo zusammen
Ich hab ein kleines Problem bei folgender Aufgabe:
Zitat: |
Die Funktion blackboxfun (blackboxfun.p) ist eine skalare Funktion von zwei Veränderlichen. Analysieren (visualisieren) Sie die Funktion geeignet. Die Funktion hat ein Minimum. Finden Sie dieses Minimum möglichst genau. Minimum bei x = . . . , y = . . .) |
Das Plotten ist kein Problem. Ich habe das Problem, das Minimum zu finden.
Bis jetzt hab ich:
Wie kriege ich jetzt die die x- und y-Werte des Minimums?
Danke für eure Hilfe!
LukeS
|
|
|
|
|
LukeS |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 21.09.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2007, 11:15
Titel:
|
|
Also ich hab mal eine provisorische Lösung:
Vielleicht gibt es noch eine elegantere Lösung.
Für Tipps bin ich immer dankbar!
Gruss LukeS
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 24.09.2007, 13:00
Titel:
|
|
Hallo LukeS,
um das, was Du in der Schleife abfragst, eleganter zu lösen, gibt es die find-Funktion, die die Indizes zurückgibt, an denen beispielsweise z==minZ.
Allerdings frage ich mich, ob das überhaupt so funktionieren kann bei einer Funktion von zwei Veränderlichen. Denn so ist ja immer minX == minY. Wenn ich das richtig sehe, ist z eine Matrix. (Zu jedem Paar x,y gibt es einen Wert z.) Um das Minimum zu finden, müsste man über beide Dimensionen minimieren, also minZ = min(min(z)) oder minZ = min(z(:)). Mit dem find-Befehl kann man dann auch die beiden Indizes für x bzw. y herausbekommen:
Oder ist z doch ein Vektor? Das müsste man über die blackboxfun schon wissen... Und als Optimierer muss ich doch noch anmerken, dass man mit diesem Verfahren nur das Minimum der Matrix bestimmt, und nicht das der Funktion. Funktioniert denn der von dir gepostete Code, so wie du es brauchst?
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
Michaela |
Forum-Century
|
|
Beiträge: 239
|
|
|
|
Anmeldedatum: 12.07.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: bis 2007b
|
|
|
|
|
|
Verfasst am: 24.09.2007, 22:32
Titel:
|
|
|
|
|
Hallo LukeS,
ich vermute, dass Dir eine Optimierungs/Minimierungsroutine vermutlich weiterhilft.
vgl
http://www.gomatlab.de/optimierung-.....eine-diskussion-t260.html
Trotzdem die Antwort auf Deine zweite Frage:
Wie finde ich das Minimum einer Matrix?
Index ist nun dummerweise eine Zahl, nämlich der Index von minZ, wenn Z ein Vektor wäre (tipp mal Z( ein, nämlich dieser).
Um nun diese Indexnummer in die passenden row und column der Matrix umzurechnen gibt es die Funktion sub2ind.
Eine andere Möglichkeit ist:
Das Minimum befindet sich nun in Zeile indZ und Spalte indSpalten. Das ist aber nciht so schön wie sich direkt den Index ausgeben zu lassen.
Eine dritte Möglcihkeit ist eine Kombination
und indZ kann dann wie oben mit sub2ind (oder ind2sub) in row und column umgerechnet werden.
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
|
|
|
|
|
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.
|
|