Hauptinhalt

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 x0 zu x0(:). Eine Erläuterung dieser Syntax finden Sie im Eintrag A(:) der Funktion colon oder im Abschnitt „Indizierung nach einzigem Index“ unter Array-Indizierung.

  • Bei der Ausgabe formen die Solver die Lösung x wieder in dieselbe Größe und Form wie die Eingabe x0 um.

  • Wenn x0 eine Matrix ist, übergeben die Solver x als eine Matrix, deren Größe jener von x0 entspricht, sowohl an die Zielfunktion als auch an jede nichtlineare Nebenbedingungsfunktion.

  • Linear Constraints verwenden x jedoch in Vektorform x(:). Anders ausgedrückt: Eine lineare Nebenbedingung der Form

    A*x ≤ b oder Aeq*x = beq

    behandelt x als Vektor, nicht als Matrix. Stellen Sie sicher, dass die Spaltenanzahl Ihrer Matrix A oder Aeq der Anzahl der Elemente von x0 entspricht, da der Solver sonst eine Fehlermeldung ausgibt.

Siehe auch

Themen