Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
56
Добавлен:
16.04.2013
Размер:
212.59 Кб
Скачать

Лабораторная работа 3

Минимизация дифференцируемых функций многих переменных

В лабораторной работе изучаются методы градиентного спуска, наискорейшего спуска, а также метод Ньютона.

Метод градиентного спуска

Основная идея: Если заданная функция дифференцируема в области , то направление наибыстрейшего локального убывания функции совпадает с направлением антиградиента. Итерационная процедура метода градиентного спуска заключается в построении последовательности по правилу , причем должно выполнятся неравенство . Условие: определяет окончание выполнения программы.

Алгоритм: 1. Задать . Найти .

2. Найти . Если , то .

Иначе перейти к п.3.

3. Найти и . Если , то положить

и перейти к п.2, иначе к п. 4.

4. Положить .

Визуализация: Построить графики линий уровня на плоскости. Вывод точки

и соответствующей линии уровня. Останов программы до нажатия enter. Затем посмотрите трехмерные графики.

Рекомендации: Создайте сетку с помощью команды meshgrid.

Определите на этой сетке значения . Линии уровня

нарисуйте, используя contourf и meshc. Для вывода двумерной и трехмерной картинок создайте две разные М-функции.

Метод наискорейшего спуска

Основная идея: Ускорение сходимости градиентного спуска. Величина определяется из условия , т.е. на каждой итерации производится в направлении антиградиента максимально возможный спуск.

Рекомендации: В программе используйте один из уже написанных методов одномерной минимизации, который оформите как функцию например (dichotom). Передача имени минимизируемой функции осуществляется, как dichotom(@myfun, othersparam).

В dichotom значения myfun находятся как feval(myfun,x).

Метод Ньютона

Постройте итерационную процедуру для нахождения минимума дважды дифференцируемой, сильно выпуклой функции самостоятельно.

Соседние файлы в папке Разработки