Задача «Оптимизировать интерактивный редактор» обеспечивает визуальный интерфейс для fminbnd, fminsearch, fzero, и lsqnonneg решатели. Чтобы запустить задачу, нажмите кнопку Создать сценарий в реальном времени. Затем перейдите на вкладку Вставка и выберите Задача > Оптимизировать.

В этом примере показано, как минимизировать функцию 2 + (a − x) 2, где переменная a = δ с помощью задачи Оптимизировать живой редактор (Optimize Live Editor).
Видеоролик, описывающий аналогичную проблему оптимизации, см. в разделе Как использовать задачу «Оптимизировать интерактивный редактор».
На вкладке Главная в разделе Файл нажмите кнопку Создать сценарий.
Вставка задачи «Оптимизировать интерактивный редактор». Перейдите на вкладку Вставка, а затем в разделе Код выберите Задача > Оптимизировать.

Для использования при вводе данных о проблемах нажмите кнопку «Разрыв раздела». Новые разделы появляются над и под задачей.
В разделе над задачей «Оптимизация» введите следующий код.
a = pi; x0 = [-1 2];
Чтобы поместить эти переменные в рабочее пространство, нажмите клавиши CTRL + ENTER.
В разделе «Указание типа проблемы» задачи нажмите кнопку «Цель» > «Нелинейный» и кнопку «Ограничения» > «Без ограничений». Задача показывает, что рекомендуемый решатель fminsearch.
Примечание
При наличии Toolbox™ оптимизации рекомендуемый решатель отличается. Выбирать fminsearch для продолжения работы с примером.
В разделе Выбор данных проблемы выберите Целевая функция > Локальная функция и нажмите кнопку Создать. Сценарий функции появляется в новом разделе под задачей. Отредактируйте результирующий код, чтобы он содержал следующие незафиксированные строки.
function f = objectiveFcn(optimInput,a) x = optimInput(1); y = optimInput(2); f = 100*(y - x^2)^2 + (a - x)^2; end
В разделе Выбор данных проблемы выберите objectiveFcn в качестве локальной функции.
В разделе Select problem data в разделе Function inputs выберите Optimization input > optimInput и Fixed input: a > a.

Выберите Начальная точка (x0) > x0.
В разделе Ход показа (Display progress) выберите Целевое значение (Objective value) для графика.
Чтобы запустить решатель, нажмите кнопку опций ⁝ в правом верхнем углу окна задачи и выберите Выполнить раздел.

Появится следующий график.

Чтобы просмотреть точку решения, посмотрите в верхней части задачи Оптимизировать.

solution и objectiveValue переменные возвращаются в рабочую область. Чтобы просмотреть их значения, вставьте разрыв раздела под задачей и введите этот код.
disp(solution) disp(objectiveValue)
Запустите раздел, нажав Ctrl + Enter.
disp(solution)
3.1416 9.8696
disp(objectiveValue)
3.9946e-11
В этом примере показано, как с помощью задачи «Оптимизировать интерактивный редактор» найти точку x, где cos (x) = x.
На вкладке Главная в разделе Файл нажмите кнопку Создать сценарий. Введите эти строки кода в сценарий в реальном времени.
fun = @(x)cos(x) - x; x0 = 0;
Первая строка определяет анонимную функцию fun, которое принимает значение 0 в точке x, где cos (x) = x. Вторая строка определяет начальную точкуx0 = 0, где fzero начинает поиск решения.
Поместите эти переменные в рабочую область MATLAB ®, нажав Ctrl + Enter.
Вставка задачи «Оптимизировать интерактивный редактор». Перейдите на вкладку Вставка, а затем в разделе Код выберите Задача > Оптимизировать.
В разделе Задание типа задачи выберите Решатель > fzero.
В разделе Выбор данных проблемы выберите Целевая функция > Дескриптор функции, а затем выберите fun. Выберите Начальная точка (x0) > x0.

В разделе Ход показа (Display progress) выберите Целевое значение (Objective value) для графика.

Запустите решатель, нажав Ctrl + Enter.

Чтобы увидеть значение решения, вставьте новый раздел под задачей, нажав кнопку Разрыв раздела (Section Break) на вкладке Вставить (Insert). В новом разделе введите solution и нажмите Ctrl + Enter.
solution
solution = 0.7391
fminsearch | fzero | Оптимизировать