Поместите Оптимизировать задачу Live Editor в live скрипт с разделом выше и двумя или больше разделами ниже задачи. Чтобы открыть Оптимизировать задачу в Live Editor, кликните по вкладке Insert и затем выберите Task > Optimize. Используйте кнопку Section Break на вкладке Insert, чтобы вставить новый раздел.
По умолчанию кнопка Output on right нажимается справа от окна задачи.
Этот выбор помещает выход справа от задачи. Чтобы поместить выход ниже задачи, нажмите кнопку Output inline.
Выше задачи включайте раздел для данных, в которых вы нуждаетесь для оптимизации. Например, начальная точка x0
, любые ограничительные матрицы, такие как Aeq
или beq
, и дополнительные параметры для объективных или нелинейных ограничительных функций принадлежат раздела выше задачи. Данные должны быть включены в раздел выше задачи так, чтобы можно было запустить целый скрипт успешно, например, после сохранения и перезагрузки его. Загрузки данных в рабочую область перед скриптом должны получить доступ к нему.
Поместите выходные параметры задачи в разделе ниже задачи. Например, отобразите solution
и objectiveValue
выходные параметры в этом разделе, после того, как задача пишет им в рабочую область. Можно включать несколько разделов ниже задачи просмотреть и работать с результатами задачи.
Итоговый раздел содержит любые локальные функции для проблемы. Локальные функции должны быть включены в конце live скрипта. Однако, если у вас есть функции, к которым вы получаете доступ больше чем из одного скрипта, включая их как отдельные файлы на MATLAB® путь может быть более удобным.
Оптимизируйте фронтэнд для основанного на решателе решения оптимизации и уравнения. По сути, это требует, чтобы все переменные были помещены в один вектор, как зарегистрировано в запись Скалярных Целевых функций. Например, предположите, что ваша целевая функция
В этом примере переменные x и z являются переменными оптимизации, и переменные y и w являются зафиксированными данными. Можно представлять функцию в разделе ниже Оптимизировать задачи можно следующим образом.
function f = myfun(vars,y,w) x = vars(1); z = vars(2); f = (x^2 + y^4)*exp(-z/(1 + x^2))*w*exp(-z); end
Задайте значения переменных y и w в разделе выше задачи.
y = log(pi); w = 2/3;
Запустите раздел выше задачи путем нажатия Ctrl+Enter, чтобы поместить y и w в рабочую область. Затем выберите соответствующие входные параметры в разделе Select problem data задачи.
Раздел Specify problem type задачи обеспечивает кнопки для выбора типа целевой функции и типов ограничения. После того, как вы выберете эти элементы, Оптимизируете, сокращает количество доступных решателей и показывает один решатель, как рекомендуется. Например, для проблемы с наименьшие квадраты объективные и верхние и нижние границы, Оптимизируйте, показывает что lsqnonlin
решатель рекомендуется.
Чтобы использовать решатель, который не доступен с текущими выборами, отмените выбор всех проблемных кнопок типа путем нажатия каждой нажатой кнопки.
Можно запустить Оптимизировать задачу Live Editor в различных способах:
Кликните по кнопке ⁝ опций в правом верхнем из окна задачи и выберите Run Section.
Щелкните в задаче и затем нажмите Ctrl+Enter.
Поставите задачу, чтобы автоматически работать после любого изменения путем нажатия кнопки autorun (рядом с кнопкой опций в правом верхнем из окна задачи). Если ваша задача является трудоемкой, не выбирайте эту установку.
Запустите раздел, содержащий задачу путем нажатия на чередуемую панель слева от задачи.
Запустите целый live скрипт от вкладки Live Editor путем нажатия кнопки Run, или путем нажатия F5.
Задача Live Editor позволяет вам контролировать прогресс решателя легко. Чтобы гарантировать, что решатель выполняет правильно, просмотрите, по крайней мере, график значения целевой функции. Кроме того, при помощи функции построения графика можно остановить решатель, не теряя данных.
Оптимизируйте внутренне создает код, чтобы совпадать с визуальными выборами. Можно просмотреть код путем нажатия на кнопку ⁝ опций и выбора Controls and Code или Code Only.
Код появляется ниже задачи.
Можно выбрать и скопировать этот код, чтобы изменить его для использования в других контекстах.
Чтобы преобразовать задачу от визуального интерфейса до применимого кода, выберите Convert Task to Editable Code. Этот выбор удаляет визуальный интерфейс Optimize и позволяет вам продолжать с помощью кода.