Создайте пустой массив выражения оптимизации
expr = optimexpr(n)
expr = optimexpr(cstr)
expr = optimexpr(cstr1,n2,...,cstrk)
expr = optimexpr([n1,n2,...,nk])
expr = optimexpr({cstr1,cstr2,...,cstrk})
создает пустой expr
= optimexpr(n
)n
-by-1 массив OptimizationExpression
. Используйте expr
в качестве начального значения в цикле, который создает выражения оптимизации.
создает пустой массив expr
= optimexpr(cstr
)OptimizationExpression
, который может использовать векторный cstr
для индексации. Число элементов expr
совпадает с длиной cstr
. Когда cstr
является вектором - строкой, затем expr
является вектором - строкой. Когда cstr
является вектор-столбцом, затем expr
является вектор-столбцом.
или expr
= optimexpr(cstr
1,n
2,...,cstr
k)
или expr
= optimexpr([n
1,n
2,...,n
k])
, для любой комбинации положительных целых чисел expr
= optimexpr({cstr
1,cstr
2,...,cstr
k})n
j и имена cstr
j, создает пустой массив выражений оптимизации с размерностями, равными целым числам n
j или продолжительности записей cstr
j.
Можно использовать optimexpr
, чтобы создать пустые выражения, которые вы заполняете программно, такой как в цикле for
.
x = optimvar('x',8); expr = optimexpr(4) for k = 1:4 expr(k) = 5*k*(x(2*k) - x(2*k-1)); end
Обычно более эффективно создать выражения векторизованными операторами, а не циклами. Смотрите Создают Эффективные Задачи оптимизации.