|
|
symfunc mit 2 syms Unbek. in vorgegebenen Intervallen lösen |
|
D(r)eadlock |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.04.2016, 15:46
Titel: symfunc mit 2 syms Unbek. in vorgegebenen Intervallen lösen
|
 |
Hallo Zusammen,
gegen war ein komplexeren Problem, dass von 3D Matrizenoperationen auf ein Formel heruntergebrochen werden konnte, von dem nur noch das Minimum bestimmt werden muss.
zB t(y, z) = 12z^2 + 0.33y * 1/z
Die variablen z und y sind als/mit "syms" definiert.
Zusätzlich kenne ich das Intervall in dem y und z liegen müssen.
z.B. y = [1:1:10] z = [8:1:10]
Wie kann ich diese Informationen verknüpfen, um das Minimum zu finden?
Klar kann ich es bei diesem Beispiel noch mit for-Schleifen oder händisch machen, im realen Problem ist das Intervall von y und z aber eher > 1000.
Entschuldigung wenn ich Begriffe nicht präzise verwende, es fühlt sich im Moment eher an als würde ich mich durch einen dschungel schlagen (Dokumentation), leider ohne Erfolg.
Vielen Dank.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.04.2016, 20:06
Titel:
|
 |
Hallo,
wenn du ohnehin symbolisch rechnest, warum dann nicht auch die Optimierung?
Sprich: nach y und z differenzieren und auf 0 setzen. Dann weißt du, was das Minimum im inneren des Bereichs ist (sofern es eines gibt; ob es sich um ein lokales Minimum oder Maximum handelt, braucht man gar nicht zu überprüfen, da Maxima im späteren Verlauf ohnehin wegfallen).
Dann musst du noch auf dem Rand nach einem Minimum suchen. Dazu kannst du y = ymin einsetzen und dann nach z differenzieren und so das Minimum auf diesem Randstück finden. Dasselbe für y = ymax, und umgekehrt für festgehaltenes z. Dann müssen noch die Werte an den Ecken ermittelt werden.
Das Minimum all der bisher gefundenen Werte ist dann das gewünschte Minimum.
Falls die Gleichungen hierfür zu kompliziert werden, kannst du
fmincon
verwenden.
Grüße,
Harald
|
|
|
|
|
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.
|
|