Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

optimexpr

Cree una matriz de expresión de optimización vacía

Descripción

ejemplo

expr = optimexpr(n) crea una matriz Empty-by-1.nOptimizationExpression Se utiliza como valor inicial en un bucle que crea expresiones de optimización.expr

ejemplo

expr = optimexpr(cstr) crea una matriz vacía que puede utilizar el vector para la indexación.OptimizationExpressioncstr El número de elementos de es el mismo que la longitud de.exprcstr Cuando es un vector de fila, entonces es un vector de fila.cstrexpr Cuando es un vector de columna, entonces es un vector de columna.cstrexpr

ejemplo

expr = optimexpr(cstr1,n2,...,cstrk) O expr = optimexpr([n1,n2,...,nk])O expr = optimexpr({cstr1,cstr2,...,cstrk}), para cualquier combinación de enteros y nombres positivos, crea una matriz vacía de expresiones de optimización con dimensiones iguales a los enteros o las longitudes de las entradas de.njcstrjnjcstrj

Ejemplos

contraer todo

Cree una matriz vacía de tres expresiones de optimización.

expr = optimexpr(3)
expr =    3x1 OptimizationExpression array with properties:      IndexNames: {{}  {}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Cree una matriz de cadenas de nombres de color y una expresión de optimización que esté indexada por los nombres de color.

strexp = ["red","green","blue","yellow"]; expr = optimexpr(strexp)
expr =    1x4 OptimizationExpression array with properties:      IndexNames: {{}  {1x4 cell}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Puede usar una matriz de celdas de vectores de caracteres en lugar de cadenas para obtener el mismo efecto.

strexp = {'red','green','blue','yellow'}; expr = optimexpr(strexp)
expr =    1x4 OptimizationExpression array with properties:      IndexNames: {{}  {1x4 cell}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Si es 4-por-1 en lugar de 1-por-4, entonces también es 4-por-1:strexpexpr

strexp = ["red";"green";"blue";"yellow"]; expr = optimexpr(strexp)
expr =    4x1 OptimizationExpression array with properties:      IndexNames: {{1x4 cell}  {}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Cree una matriz vacía de 3 por 4 por 2 de expresiones de optimización.

expr = optimexpr(3,4,2)
expr =    3x4x2 OptimizationExpression array with properties:      IndexNames: {{}  {}  {}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Crear una matriz de 3 por 4 de expresiones de optimización, donde la primera dimensión está indexada por las cadenas y, y la segunda dimensión se indexa numéricamente."brass""stainless""galvanized"

bnames = ["brass","stainless","galvanized"]; expr = optimexpr(bnames,4)
expr =    3x4 OptimizationExpression array with properties:      IndexNames: {{1x3 cell}  {}}      Variables: [1x1 struct] containing 0 OptimizationVariables    See expression formulation with showexpr.  

Cree una expresión con un índice con nombre que indique que cada expresión es 1,5 veces el valor correspondiente.stainlessx(galvanized)

x = optimvar('x',bnames,4); expr('stainless',:) = x('galvanized',:)*1.5; showexpr(expr('stainless',:))
('stainless', 1)    1.5*x('galvanized', 1)  ('stainless', 2)    1.5*x('galvanized', 2)  ('stainless', 3)    1.5*x('galvanized', 3)  ('stainless', 4)    1.5*x('galvanized', 4) 

Argumentos de entrada

contraer todo

Dimensión variable, especificada como un entero positivo.

Ejemplo: 4

Tipos de datos: double

Nombres de índice, especificados como una matriz de cadenas o como una matriz de celdas de vectores de caracteres.

Ejemplo: expr = optimexpr(["Warehouse","Truck","City"])

Ejemplo: expr = optimexpr({'Warehouse','Truck','City'})

Tipos de datos: string | cell

Argumentos de salida

contraer todo

Expresión de optimización, devuelta como un objeto.OptimizationExpression

Sugerencias

  • Puede usar para crear expresiones vacías que rellene mediante programación, como en un bucle.optimexprfor

    x = optimvar('x',8); expr = optimexpr(4) for k = 1:4     expr(k) = 5*k*(x(2*k) - x(2*k-1)); end
  • Por lo general, es más eficaz crear expresiones mediante sentencias vectorizadas en lugar de bucles. Ver.Cree problemas de optimización eficientes

Introducido en R2017b