Argumentos de matriz
Los solvers de Optimization Toolbox™ aceptan vectores para muchos argumentos, como el punto inicial x0
, límites inferiores lb
y límites superiores ub
. También aceptan matrices para estos argumentos, donde matriz significa un arreglo de cualquier tamaño. Cuando, de forma natural, sus argumentos de solver son arreglos, no vectores, puede proporcionar los argumentos como arreglos.
A continuación se explica cómo los solvers gestionan argumentos de matriz.
De forma interna, los solvers convierten argumentos de matriz en vectores antes de procesarlos. Por ejemplo,
x0
se convierte enx0(:)
. Para ver una explicación de esta sintaxis, consulte la entradaA(:)
encolon
o la sección "Indexar con un solo índice" de Indexación de arreglos.Para la salida, los solvers transforman la solución
x
para que tenga el mismo tamaño que la entradax0
.Cuando
x0
es una matriz, los solvers pasanx
como una matriz del mismo tamaño quex0
tanto a la función objetivo como a cualquier función de restricción no lineal.Restricciones lineales, no obstante, toman
x
en formato de vector,x(:)
. En otras palabras, una restricción lineal con el formatoA*x ≤ b
oAeq*x = beq
toma
x
como un vector, no como una matriz. Asegúrese de que la matrizA
oAeq
tiene el mismo número de columnas que elementos tienex0
, o el solver dará error.