WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

symfunc mit 2 syms Unbek. in vorgegebenen Intervallen lösen

 

D(r)eadlock

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2016, 15:46     Titel: symfunc mit 2 syms Unbek. in vorgegebenen Intervallen lösen
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.04.2016, 20:06     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.