Выполните выражение оптимизации
Создайте выражение оптимизации в двух переменных.
x = optimvar('x',3,2); y = optimvar('y',1,2); expr = sum(x,1) - 2*y;
Выполните выражение в точке.
xmat = [3,-1; 0,1; 2,6]; sol.x = xmat; sol.y = [4,-3]; val = evaluate(expr,sol)
val = 1×2
-3 12
Решите задачу линейного программирования.
x = optimvar('x'); y = optimvar('y'); prob = optimproblem; prob.Objective = -x -y/3; prob.Constraints.cons1 = x + y <= 2; prob.Constraints.cons2 = x + y/4 <= 1; prob.Constraints.cons3 = x - y <= 2; prob.Constraints.cons4 = x/4 + y >= -1; prob.Constraints.cons5 = x + y >= 1; prob.Constraints.cons6 = -x + y <= 2; sol = solve(prob)
Solving problem using linprog. Optimal solution found.
sol = struct with fields:
x: 0.6667
y: 1.3333
Найдите значение целевой функции при решении.
val = evaluate(prob.Objective,sol)
val = -1.1111
expr
— Выражение оптимизацииOptimizationExpression
объектВыражение оптимизации, заданное как OptimizationExpression
объект.
Пример: expr = 5*x+3
, где x
OptimizationVariable
pt
— Значения переменных в выраженииЗначения переменных в выражении, заданном как структура. Структура pt
имеет следующие требования:
Все переменные в expr
совпадайте с именами полей в pt
.
Значения соответствующих имен полей являются числовыми.
Например, pt
может быть решение задачи оптимизации, как возвращено solve
.
Пример: pt.x = 3, pt.y = -5
Типы данных: struct
val
— Числовое значение выраженияЧисловое значение выражения, возвращенного как двойное.
Подход, основанный на проблеме не поддерживает комплексные числа в целевой функции, нелинейных равенствах или нелинейных неравенствах. Если функциональное вычисление имеет комплексное число, как раз когда промежуточное значение, конечный результат может быть неправильным.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.