Matrixargumente
Die Solver der Optimization Toolbox™ akzeptieren Vektoren für viele Argumente, wie beispielsweise den Startpunkt x0, die unteren Schranken lb sowie die oberen Schranken ub. Sie akzeptieren für diese Argumente auch Matrizen, wobei unter einer Matrix ein Array beliebiger Größe zu verstehen ist. Wenn Ihre Solver-Argumente natürlicherweise als Arrays und nicht als Vektoren vorliegen, können Sie die Argumente gerne als Arrays angeben.
Die Solver gehen mit Matrixargumenten wie folgt um:
Die Solver wandeln Matrixargumente vor der Verarbeitung intern in Vektoren um. Beispielsweise wird
x0zux0(:). Eine Erläuterung dieser Syntax finden Sie im EintragA(:)der Funktioncolonoder im Abschnitt „Indizierung nach einzigem Index“ unter Array-Indizierung.Bei der Ausgabe formen die Solver die Lösung
xwieder in dieselbe Größe und Form wie die Eingabex0um.Wenn
x0eine Matrix ist, übergeben die Solverxals eine Matrix, deren Größe jener vonx0entspricht, sowohl an die Zielfunktion als auch an jede nichtlineare Nebenbedingungsfunktion.Linear Constraints verwenden
xjedoch in Vektorformx(:). Anders ausgedrückt: Eine lineare Nebenbedingung der FormA*x ≤ boderAeq*x = beqbehandelt
xals Vektor, nicht als Matrix. Stellen Sie sicher, dass die Spaltenanzahl Ihrer MatrixAoderAeqder Anzahl der Elemente vonx0entspricht, da der Solver sonst eine Fehlermeldung ausgibt.