1.1.Визначення екстремумів функцій однієї змінної
Пошук мінімуму функції однією зміною виконує функція fminbnd. Визначати екстремуми цільової функції однієї змінної доцільно в такому порядку.
Створити m-файл, що реалізовує обчислення значень цільової функції.
Файл можна створити, наприклад, з ім'ям fun1. Функція fun1 повинна приймати скалярний (або векторний) аргумент x і повертати скаляр (вектор) – значення цільової функції при заданому значенні аргументу x:
function у = fun1(x)
f = ...
Використання векторного аргументу дає можливість отримати вектор значень цільової функції і використовувати його при побудові графіка цільової функції. При зверненні до цільової функції використовується покажчик на неї
x = fminbnd(@fun1,. . .)
Побудувати графік цільової функції.
Оскільки вживані алгоритми оптимізації реалізують пошук локальних мінімумів цільової функції, вид графіка цільової функції допомагає задати межі інтервалу пошуку екстремуму і визначити його характер – мінімум або максимум. Заздалегідь вибраний діапазон зміни аргументу цільовій функції може бути уточнений по вигляду отриманого графіка. Для побудови графіка використовується команда plot.
x = % вектор значень аргументу цільової функції
у = % вектор значень цільової функції
plot(. . .) % команда побудови графіка
Задати такі параметри рішення задачі оптимізації:
допустиме відхилення від точного рішення – 10–6.
відображення результатів на кожній ітерації.
Значення решти параметрів – за умовчанням. Параметри оптимізації задають командою optimset, варіанти використання цієї команди див. help optimset.
Знайти рішення екстремальної задачі, використовуючи функцію fminbnd.
Можливий варіант програми має вигляд
clear, clc
x1 = % межі інтервалу пошуку екстремуму
x2 =
options = optimset(.) % задати параметри оптимізації
[x,fval,exitflag] = fminbnd(@fun1,x1,x2,options)
Використовуйте функцію fprintf для форматного виведення значень x і fval. Способи використання fprintf можна отримати командами help fprintf.
Позначити на графіці цільової функції обчислені точки екстремумів.
Для того, щоб при виводі в графічне вікно точок екстремуму зберегти графік функції, необхідно перед повторним використанням функції plot виконати команду hold on, і команду hold off після використання функції plot.
Побудувати графіки наближення вирішення до точки екстремуму.
Графіки мають відображати залежності розв’язку x(k) і значення цільової функції f(k) від кількості ітерацій.
Для побудови графіків можна використовувати результати виводу в командне вікно відповідних значень на кожній ітерації, записавши їх у файл текстового формату. Щоб це зробити, потрібно перед рядком виклику функції fminbnd вставити в програму команди
diary('им’я_файла'), diary on
Вивід у файл закінчується після виконання в програмі команди diary off.
Зробити висновки за завданням.
- 1.Порядок виконання роботи
- 1.1.Визначення екстремумів функцій однієї змінної
- 1.2.Визначення екстремумів функцій декілька змінних
- 1.3.Рішення задачі лінійного програмування
- 2.Вказівки по оформленню роботи
- До записки пояснення повинні бути прикладені файли програми matlab на електронном носієві ксерокопії роботи до захисту не допускаються Література