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