Verfasst am: 06.06.2008, 11:24
Titel: Abstand Punkt-Fläche als Extremwertaufgabe
Hallo,
Wie kann ich in Matlab den Abstand eines Punktes im Raum zu einer Fläche als Extremwertaufgabe formulieren?
Punkt: P0(X0,Y0,Z0)
Ebene: ax+by+cz=d
In etwa so: Abstandquadrat d(x,y,z)=(x-X0)^2+(y-Y0)^2+(z-Z0)^2 unter Nebenbedingung ax+by+cz=d.
Aber wie bringe ich das Matlab bei? Und mit welcher Funktion?
da Du eine nichtlineare Funktion hast und eine Nebenbedingung kommt wohl nur fmincon aus der Optimization Toolbox infrage (wenn man nicht das Minimum einfach ausrechnen will).
Dann hast Du eigentlich schon alles geliefert: die Funktion, die Konstanten und die Nebenbidingung. Du musst nur die Variablen x, y und z zu einem Vektor v zusammenfassen. Insgesamt etwa so:
Das Ergebnis ist aber nicht immer richtig. Heisst fast richtig. Es ist entweder auf 4 Nachkommastellen genau oder liegt bis zu 0.5 daneben.
Gibt es Möglichkeiten das Ergebnis genauer zu bekommen?
Habe es mit 'TolFun',1e-8 wie in der Matlab-Hilfe versucht-bringt nichts.
Mein (Vorzeichen-)Fehler!
Läuft einwandfrei. Danke nochmals und hier ein Beispiel zu nicht Linearer Nebenbedingung auf Basis des von Bijick gemachten Vorschlags:
ist nicht nötig, wenn man nur am Ergebnis und nicht am Verfahren interessiert ist.
2. "Abstand_opt" wird rot unterstrichen, weil das Ergebnis am Bildschirm ausgegeben werden soll. Der Matlab-Editor vermutet ein vergessenes Semikolon, das aber mit Bedacht nicht gesetzt wurde.
Herzliche Grüße
Bijick
_________________
>> why
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.