Оптимизировать задача Live Editor обеспечивает визуальный интерфейс для fminbnd
, fminsearch
, fzero
, и lsqnonneg
решатели. Чтобы запустить задачу, нажмите кнопку New Live Script. Затем кликните по вкладке Insert и выберите Task > Optimize.
В этом примере показано, как минимизировать функцию где переменная a = π с помощью Оптимизировать задачи Live Editor.
Для видео, описывающего подобную задачу оптимизации, смотрите, Как Использовать Оптимизировать Live Editor Тэска.
На вкладке Home, в разделе File, нажимают кнопку New Live Script.
Вставьте Оптимизировать задачу Live Editor. Кликните по вкладке Insert и затем, в разделе Code, выберите Task > Optimize.
Для использования во вводе проблемных данных нажмите кнопку Section Break. Новые разделы появляются выше и ниже задачи.
В разделе выше Оптимизировать задачи введите следующий код.
a = pi; x0 = [-1 2];
Чтобы поместить эти переменные в рабочую область, нажмите Ctrl + Enter.
В разделе Specify problem type задачи нажмите кнопку Objective > Nonlinear и кнопку Constraints > Unconstrained. Задача показывает, что рекомендуемый решатель fminsearch
.
Примечание
Если у вас есть Optimization Toolbox™, ваш рекомендуемый решатель в этой точке отличается. Выбрать fminsearch
возобновлять пример.
В разделе Select problem data выберите Objective function > Local function и затем нажмите кнопку New. Функциональный скрипт появляется в новом разделе ниже задачи. Отредактируйте получившийся код, чтобы содержать следующие непрокомментированные линии.
function f = objectiveFcn(optimInput,a) x = optimInput(1); y = optimInput(2); f = 100*(y - x^2)^2 + (a - x)^2; end
В разделе Select problem data выберите objectiveFcn
как локальная функция.
В разделе Select problem data, под Function inputs, выбирают Optimization input > optimInput и Fixed input: a > a.
Выберите Initial point (x0) > x0.
В разделе Display progress выберите Objective value для графика.
Чтобы запустить решатель, кликните по кнопке ⁝ опций в правом верхнем из окна задачи и выберите Run Section.
Следующий график появляется.
Чтобы просмотреть точку решения, посмотрите во главе Оптимизировать задачи.
Решение
и objectiveValue
переменные возвращены в рабочую область. Чтобы просмотреть их значения, вставьте разрыв раздела ниже задачи и введите этот код.
disp(solution) disp(objectiveValue)
Запустите раздел путем нажатия Ctrl+Enter.
disp(solution)
3.1416 9.8696
disp(objectiveValue)
3.9946e-11
В этом примере показано, как использовать Оптимизировать задачу Live Editor найти точку x где because(x), = x.
На вкладке Home, в разделе File, нажимают кнопку New Live Script. Введите эти строки кода в live скрипт.
fun = @(x)cos(x) - x; x0 = 0;
Первая линия задает анонимную функцию fun
, который принимает значение 0 в точке x где because(x), = x. Вторая линия задает начальную точку x0
= 0, где fzero
начинает его поиск решения.
Поместите эти переменные в MATLAB® рабочая область путем нажатия Ctrl+Enter.
Вставьте Оптимизировать задачу Live Editor. Кликните по вкладке Insert и затем, в разделе Code, выберите Task > Optimize.
В разделе Specify problem type задачи выберите Solver > fzero.
В разделе Select problem data выберите Objective function > Function handle и затем выберите fun
. Выберите Initial point (x0) > x0.
В разделе прогресса Отображения выберите Objective value для графика.
Запустите решатель путем нажатия Ctrl+Enter.
Чтобы видеть значение решения, вставьте новый раздел ниже задачи путем нажатия кнопки Section Break на вкладке Insert. В новом разделе введите solution
и нажмите Ctrl+Enter.
solution
solution = 0.7391
Оптимизировать | fzero
| fminsearch