Функции построения графика решателя оптимизации

Что такое функция plot?

PlotFcns поле options структура задает одну или несколько функций, которые оптимизационная функция вызывает на каждой итерации, чтобы построить различные показатели прогресса. Передайте указатель на функцию или cell-массив указателей на функцию. Структура функции вывода совпадает со структурой выходной функции. Для получения дополнительной информации об этой структуре смотрите Выходные функции Решателя Оптимизации.

Можно использовать PlotFcns опция со следующими оптимизационными функциями MATLAB®:

Предопределенные функции построения графика для этих оптимизационных функций:

  • @optimplotx строит текущую точку

  • @optimplotfval строит значение функции

  • @optimplotfunccount строит функциональное количество (не доступный для fzero)

Чтобы просмотреть или изменить предопределенную функцию построения графика, откройте файл функции в редакторе MATLAB. Например, чтобы просмотреть файл функции для графического вывода текущей точки, введите:

edit optimplotx.m

Пример: Функция plot

Просмотрите прогресс использования минимизации fminsearch с функцией построения графика @optimplotfval:

  1. Запишите файл для целевой функции. В данном примере используйте:

    function f = onehump(x)
    
    r = x(1)^2 + x(2)^2;
    s = exp(-r);
    f = x(1)*s+r/20;
  2. Установите опции использовать функцию построения графика:

    options = optimset('PlotFcns',@optimplotfval);
  3. Вызвать fminsearch запуск от [2,1]:

    [x ffinal] = fminsearch(@onehump,[2,1],options)
  4. MATLAB возвращает следующее:

    x =
       -0.6691    0.0000
    
    ffinal =
       -0.4052

    As the iterations proceed, the function value first decreases, then becomes constant.

Похожие темы