Лабы / Разработки / Labs3
.docЛабораторная работа 3
Минимизация дифференцируемых функций многих переменных
В лабораторной работе изучаются методы градиентного спуска, наискорейшего спуска, а также метод Ньютона.
Метод градиентного спуска
Основная
идея:
Если заданная функция дифференцируема
в области 
,
то направление наибыстрейшего локального
убывания функции совпадает с направлением
антиградиента. Итерационная процедура
метода градиентного спуска
заключается
в построении последовательности 
по правилу 
,
причем должно выполнятся неравенство
.
Условие: 
определяет окончание выполнения
программы.
Алгоритм:
 	1.
Задать 
.
Найти 
.
			2.
Найти
.
Если
,
то 
.
Иначе перейти к п.3.
			3.
Найти 
и 
.
Если 
,
то положить 
			
и перейти к п.2, иначе к п. 4.
			4.
Положить 
.
Визуализация:
Построить графики линий уровня 
на плоскости. Вывод точки 
и соответствующей линии уровня. Останов программы до нажатия enter. Затем посмотрите трехмерные графики.
Рекомендации: Создайте сетку с помощью команды meshgrid.
Определите
на этой сетке значения 
.
Линии уровня 
нарисуйте, используя contourf и meshc. Для вывода двумерной и трехмерной картинок создайте две разные М-функции.
Метод наискорейшего спуска
Основная
идея:
Ускорение сходимости градиентного
спуска. Величина 
определяется из условия 
,
т.е. на каждой итерации производится в
направлении антиградиента максимально
возможный спуск.
Рекомендации: В программе используйте один из уже написанных методов одномерной минимизации, который оформите как функцию например (dichotom). Передача имени минимизируемой функции осуществляется, как dichotom(@myfun, othersparam).
В dichotom значения myfun находятся как feval(myfun,x).
Метод Ньютона
Постройте итерационную процедуру для нахождения минимума дважды дифференцируемой, сильно выпуклой функции самостоятельно.
