|
|
Lineare Gleichung als Nebenbedingung in gamultiobj |
|
Bobby45 |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.04.2016, 10:35
Titel: Lineare Gleichung als Nebenbedingung in gamultiobj
|
 |
Hallo zusammen,
ich führe eine Optimierung mit gamultiobj durch. Als Nebenbedingung möchte ich eine Gleichung der Form
benutzen.
In der Hilfe habe ich gefunden, dass man die Nebenbedinung in der Form
angibt.
Meine Matrix A enthält 4x8760 Werte, b enthält 8760x1 Werte. In gamultiobj ist der Lösungsvektor als Zeilenvektor definiert, bei mir mit 4 Werten, also 1x4.
Wie lässt sich meine Nebenbedinung korrekt formulieren?
Viele Dank im Vorraus!
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.04.2016, 11:09
Titel:
|
 |
Hallo,
8760 Gleichungen für 4 Unbekannte klingt etwas merkwürdig. Sollten es nicht vielleicht eher Ungleichungen sein?
Es sollte ausreichen, A zu transponieren.
Grüße,
Harald
|
|
|
Bobby45 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.04.2016, 11:22
Titel:
|
 |
Hallo Harald,
danke für die schnelle Antwort.
Die 8760 Werte stehen für Stunden im Jahr und die Nebenbedinung soll sicherstellen, dass die Lösung so gewählt wird, dass die Gleichung erfüllt ist.
Da der Lösungsvektor x in der Optimierung als Zeilenvektor festgesetzt ist, reicht es leider nicht A zu transponieren (es gibt den Fehler "Inner matrix dimensions must agree."). Falls man x ebenfalls transponieren könnte, würde es klappen...
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.04.2016, 11:43
Titel:
|
 |
Hallo,
Zitat: |
Die 8760 Werte stehen für Stunden im Jahr |
Die Bedeutung der Zahl habe ich geahnt.
Zitat: |
die Nebenbedinung soll sicherstellen, dass die Lösung so gewählt wird, dass die Gleichung erfüllt ist. |
Überlege aber doch mal, ob das realistisch ist. Wie sollen 4 Unbekannte 8760 Gleichungen erfüllen? Entweder sind die Gleichungen ineinander enthalten (und wieso dann soviele?), oder das wird nicht erfüllbar sein.
Kannst du mal deinen Code zur Verfügung stellen?
Grüße,
Harald
|
|
|
Bobby45 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.04.2016, 11:19
Titel:
|
 |
Hallo Harald,
du hast vollkommen recht, die Nebenbedinung macht so keinen Sinn.
Und ich glaube desweiteren, dass es Matlab doch egal ist ob der Lösungsvektor x ein Zeilen- oder Spaltenvektor ist.
Danke, dass du mich auf die richtige Fährte gebracht hast
|
|
|
|
|
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.
|
|