PlotFcns
поле options
структура задает одну или несколько функций что оптимизация вызовы функции в каждой итерации, чтобы построить различные показатели прогресса. Передайте указатель на функцию или cell-массив указателей на функцию. Структура функции вывода совпадает со структурой выходной функции. Для получения дополнительной информации об этой структуре смотрите Выходные функции.
Можно использовать PlotFcns
опция со следующими функциями оптимизации MATLAB®:
Предопределенные функции построения графика для этих функций оптимизации:
@optimplotx
строит текущую точку
@optimplotfval
строит значение функции
@optimplotfunccount
строит функциональное количество (не доступный для fzero
)
Чтобы просмотреть или изменить предопределенную функцию построения графика, откройте файл функции в редакторе MATLAB. Например, чтобы просмотреть файл функции для графического вывода текущей точки, введите:
edit optimplotx.m
Просмотрите прогресс минимизации с помощью fminsearch
с функцией построения графика @optimplotfval
:
Запишите файл для целевой функции. В данном примере используйте:
function f = onehump(x) r = x(1)^2 + x(2)^2; s = exp(-r); f = x(1)*s+r/20;
Установите опции использовать функцию построения графика:
options = optimset('PlotFcns',@optimplotfval);
Вызовите fminsearch
запуск от [2,1]:
[x ffinal] = fminsearch(@onehump,[2,1],options)
MATLAB возвращает следующее:
x = -0.6691 0.0000 ffinal = -0.4052