logo
КР_ОПТ_с12

1.1.Визначення екстремумів функцій однієї змінної

Пошук мінімуму функції однією зміною виконує функція fminbnd. Визначати екстремуми цільової функції однієї змінної доцільно в такому порядку.

  1. Створити m-файл, що реалізовує обчислення значень цільової функції.

Файл можна створити, наприклад, з ім'ям fun1. Функція fun1 повинна приймати скалярний (або векторний) аргумент x і повертати скаляр (вектор) – значення цільової функції при заданому значенні аргументу x:

function у = fun1(x)

f = ...

Використання векторного аргументу дає можливість отримати вектор значень цільової функції і використовувати його при побудові графіка цільової функції. При зверненні до цільової функції використовується покажчик на неї

x = fminbnd(@fun1,. . .)

  1. Побудувати графік цільової функції.

Оскільки вживані алгоритми оптимізації реалізують пошук локальних мінімумів цільової функції, вид графіка цільової функції допомагає задати межі інтервалу пошуку екстремуму і визначити його характер – мінімум або максимум. Заздалегідь вибраний діапазон зміни аргументу цільовій функції може бути уточнений по вигляду отриманого графіка. Для побудови графіка використовується команда plot.

x = % вектор значень аргументу цільової функції

у = % вектор значень цільової функції

plot(. . .) % команда побудови графіка

  1. Задати такі параметри рішення задачі оптимізації:

  1. Знайти рішення екстремальної задачі, використовуючи функцію fminbnd.

Можливий варіант програми має вигляд

clear, clc

x1 = % межі інтервалу пошуку екстремуму

x2 =

options = optimset(.) % задати параметри оптимізації

[x,fval,exitflag] = fminbnd(@fun1,x1,x2,options)

Використовуйте функцію fprintf для форматного виведення значень x і fval. Способи використання fprintf можна отримати командами help fprintf.

  1. Позначити на графіці цільової функції обчислені точки екстремумів.

Для того, щоб при виводі в графічне вікно точок екстремуму зберегти графік функції, необхідно перед повторним використанням функції plot виконати команду hold on, і команду hold off після використання функції plot.

  1. Побудувати графіки наближення вирішення до точки екстремуму.

Графіки мають відображати залежності розв’язку x(k) і значення цільової функції f(k) від кількості ітерацій.

Для побудови графіків можна використовувати результати виводу в командне вікно відповідних значень на кожній ітерації, записавши їх у файл текстового формату. Щоб це зробити, потрібно перед рядком виклику функції fminbnd вставити в програму команди

diary('им’я_файла'), diary on

Вивід у файл закінчується після виконання в програмі команди diary off.

  1. Зробити висновки за завданням.