exponenta event banner

Оптимизировать

Оптимизация в интерактивном редакторе

Описание

Задача Оптимизировать (Optimize) позволяет интерактивно оптимизировать линейные и нелинейные целевые функции, подверженные ограничениям различных типов, и решать нелинейные системы уравнений. Задача автоматически генерирует код MATLAB ® для сценария в реальном времени.

С помощью этой задачи можно:

  • Укажите целевую функцию путем записи функции или просмотра для функции.

  • Задайте параметры решателя.

  • Выполните оптимизацию.

Общие сведения о задачах Live Editor см. в разделе Добавление интерактивных задач в сценарий Live.

Optimize task in Live Editor

Открыть задачу

Чтобы добавить задачу «Оптимизировать» в сценарий в режиме реального времени в редакторе MATLAB, на вкладке «Вставка редактора» выберите «Задача» > «Оптимизировать».

Insert Optimize Live Editor task

В качестве альтернативы, в блоке кода в сценарии введите соответствующее ключевое слово, например, fminbnd. Выберите «Оптимизировать» из предложенных завершений команды.

Choosing Optimize from command completion suggestions

Параметры

Решатель оптимизации, используемый MATLAB для решения задачи, указанный как один из следующих решателей:

  • fminbnd - минимизировать действительную функцию одной переменной в ограниченной области.

  • fminsearch - минимизация реальной функции нескольких переменных в неограниченной области.

  • lsqnonneg - минимизировать norm(C*x-d) подлежит x ≥ 0.

  • fzero - Найти реальную точку x где действительная нелинейная функция f(x) = 0.

Пример: fminsearch

Функция минимизации (для fminbnd или fminsearch) или найти корень (для fzero), указанный как дескриптор функции, имя локальной функции или файл функции.

  • Дескриптор функции - создание дескриптора функции в рабочей области. Затем в задаче Оптимизировать выберите Целевая функция > Дескриптор функции и выберите целевую функцию.

  • Локальная функция

    • Создать - в задаче Оптимизировать выберите Целевая функция > Локальная функция и нажмите кнопку Создать. Под задачей появится новое определение функции. Отредактируйте функцию так, чтобы она рассчитывала цель. Затем выберите локальную функцию.

    • Existing - Select Objective function > Local function и выберите локальную функцию.

  • Функциональный файл

    • Создать - в задаче Оптимизировать выберите Целевая функция > Из файла и нажмите кнопку Создать. Появится новый файл функции. Отредактируйте файл для вычисления цели, а затем сохраните файл по пути MATLAB. Нажмите кнопку «Обзор» и выберите файл.

    • Существующий - Выбрать From file затем Обзор... и выберите файл.

Совет

  • Для функций с дополнительными вводами команда Оптимизировать (Optimize) требует выбрать переменную оптимизации и указать, какие переменные рабочей области содержат фиксированные входные данные. Этот пример содержит три функциональных входа:

    Optimization input = "vars", Fixed input y = "y", Fixed input w = "w"

    Optimize генерирует код только после указания всех входов функций.

  • Optimize не может выполнить синтаксический анализ функции, содержащей varargin ввод или функция, содержащая ошибку.

  • При выборе целевой функции из файла команда Оптимизировать (Optimize) добавляет расположение файла к пути MATLAB.

  • Если Optimize имеет ошибку синтаксического анализа или если несколько локальных функций имеют одно и то же имя, список доступных локальных функций пуст.

См. также

Функции

Представлен в R2020b