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