This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Matrix Arguments

Optimization Toolbox™ solvers accept vectors for many arguments, such as the initial point x0, lower bounds lb, and upper bounds ub. They also accept matrices for these arguments, where matrix means an array of any size. When your solver arguments are naturally arrays, not vectors, feel free to provide the arguments as arrays.

Here is how solvers handle matrix arguments.

  • Internally, solvers convert matrix arguments into vectors before processing. For example, x0 becomes x0(:). For an explanation of this syntax, see the A(:) entry in colon, or the "Indexing with a Single Index" section of Array Indexing (MATLAB).

  • For output, solvers reshape the solution x to the same size as the input x0.

  • When x0 is a matrix, solvers pass x as a matrix of the same size as x0 to both the objective function and to any nonlinear constraint function.

  • Linear Constraints, though, take x in vector form, x(:). In other words, a linear constraint of the form

    A*x ≤ b or Aeq*x = beq

    takes x as a vector, not a matrix. Ensure that your matrix A or Aeq has the same number of columns as x0 has elements, or the solver will error.

See Also

Related Topics