Создайте пустой массив выражения оптимизации
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(cstr1,n2,...,cstrk)или expr = optimexpr([n1,n2,...,nk]), для любой комбинации положительных целых чисел expr = optimexpr({cstr1,cstr2,...,cstrk})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
Обычно более эффективно создать выражения векторизованными операторами, а не циклами. Смотрите Создают Эффективные Задачи оптимизации.