Этот пример сценария помогает использовать задачу «Оптимизировать интерактивный редактор» для оптимизации или решения уравнений. Измените сценарий для собственной проблемы.
Сценарий решает проблему нелинейной оптимизации с нелинейными ограничениями.
Как правило, данные или значения передаются в решатель. Поместите эти значения в раздел ввода (где вы видите x0) и запустите раздел, выбрав Раздел > Выполнить раздел или нажав Control+Enter.
Установка начальной точки x0 и масштаб a для оптимизации.
x0 = [2;1]; a = 100;
Разместить x0 значение и любые другие данные о проблемах в рабочей области, запустив этот раздел перед продолжением.
В эту задачу включены функции объективных и нелинейных ограничений. Чтобы изменить эти функции, измените списки функций под задачей.
Чтобы изменить ограничения, выберите соответствующие типы ограничений и введите значения в поля ввода. Возможно, потребуется ввести значения в раздел, содержащий x0 и запустите раздел, чтобы поместить значения в рабочую область.
Запустите задачу, щелкнув полосатую строку слева, или выбрав Выполнить или Раздел > Выполнить раздел, или нажав Control+Enter.


Optimize сохраняет решение в переменной рабочей области solutionи сохраняет значение целевой функции в решении в переменной рабочей области objectiveValue. Эти имена переменных можно просмотреть и изменить в верхней части окна Optimize задача.
Просмотрите эти переменные.

Просмотрите значения нелинейной функции ограничения в решении.

Следующий код создает целевую функцию. Измените этот код для вашей проблемы.
function f = objectiveFcn(x,a) f = a*(x(2) - x(1)^2)^2 + (1 - x(1))^2; end
Следующий код создает функцию ограничения. Измените этот код для вашей проблемы.
function [c,ceq] = constraintFcn(x) c(1) = x(1)^2 + x(2)^2 - 5; c(2) = 3 - x(1)^2 - x(2)^2; ceq = []; % No equality constraints end