- •Содержание
- •Лабораторная работа №1 вычисление значения функции sin(X), разложенной в ряд
- •Теоретические основы
- •Сортировка массива методом прямого выбора
- •Сортировка массива методом прямого обмена (пузырьковым методом)
- •Сортировка массива методом прямого включения
- •Шейкерная сортировка
- •Сортировка массива с помощью включений с уменьшающимися расстояниями (метод Шелла)
- •Сортировка разделением (быстрая сортировка)
- •Метод Горнера
- •Задание
- •Контрольные вопросы
- •Теоретические основы
- •Метод деления отрезка пополам (метод бисекции)
- •Метод простой итерации
- •Метод Ньютона
- •Многомерная минимизация Метод градиентного спуска
- •Метод Хука–Дживса
- •Задание
- •Контрольные вопросы Приложение 1 условные обозначения элементов блок–схем алгоритмов
- •Литература
Метод простой итерации
Для использования этого метода исходное нелинейное уравнение записывается в виде:
x = f(x) (1)
Пусть
известно начальное приближение корня
.
Подставляя
это значение в правую часть уравнения
(1), получаем
новое приближение:
Далее,
подставляя каждый раз новое
значение корня в (1), получаем
последовательность значений
Итерационный
процесс прекращается,
если результаты двух последовательных
итераций близки:
.
Достаточным условием сходимости метода
простой итерации является
условие
.
Метод Ньютона
Если
известно хорошее начальное приближение
решения уравнения f(x)=0,
то эффективным методом повышения
точности является метод Ньютона (метод
касательных). Метод состоит в построении
итерационной последовательности
,
сходящейся к корню уравнения f(x)=0.
Сформулируем достаточные условия сходимости метода.
Пусть
f(x)=0
определена и дважды дифференцируема
на [a,b],
причем
,
а производные
сохраняют знак на этом отрезке. Тогда,
исходя из начального приближения
,
удовлетворяющего неравенству
,
можно
построить последовательность
,
сходящуюся к единственному решению
уравнения f(x)=0.
Метод Ньютона эффективен, если известно хорошее начальное приближение для корня, и в окрестности корня график функции имеет большую крутизну. В этом случае процесс быстро сходится. Если же численное значение первой производной вблизи корня мало, то процесс вычисления корня может быть очень долгим.
Задание
Написать программу для решения уравнений вида (x)=0 итерационными методами
Контрольные вопросы
Лабораторная работа №8 МИНИМИЗАЦИЯ ФУНКЦИИ
Цель работы: Написать программу для минимизации функции одной переменной методом золотого сечения и функции двух переменных методами Хука–Дживса и градиентного спуска.
Теоретические основы
Одномерная минимизация
Метод золотого сечения
Одним из наиболее эффективных методов, в которых при ограниченном количестве вычислений f(x) достигается наилучшая точность, является метод золотого сечения. Он состоит в построении последовательности отрезков [а0, b0], [а1, b1], …, стягивающихся к точке пересечения графика функции f(x) с осью x. На каждом шаге, за исключением первого, вычисление значения функции f(x) проводится лишь один раз. Эта точка, называемая золотым сечением, выбирается специальным образом.
Рисунок 2 – Метод золотого сечения
Поясним
сначала идею метода геометрически, а
затем выведем необходимые соотношения.
На первом шаге процесса
внутри отрезка [а0,
b0]
(рис. 2а) выбираем
две внутренние точки х1
и
х2
и
вычисляем значения
целевой функции f(x1)
и
f(x2).
Поскольку
в данном
случае
,
очевидно, что решение расположено
на одном из прилегающих к x1
отрезков
[а0,
x1]
пли [x1,
x2].
Поэтому
отрезок [x2,
b0]
можно
отбросить, сузив тем самым первоначальный
интервал неопределенности.
Второй
шаг проводим на отрезке [а1,
b1]
(рис. 2б), где
а1
= а0,
b1
=
х2.
Нужно
снова выбрать две внутренние точки,
но одна из них (x1)
осталась из предыдущего шага,
поэтому достаточно выбрать лишь одну
точку х3,
вычислить
значение f(х3)
и
провести сравнение. Поскольку здесь
,
ясно,
что решение находится на отрезке
[х3,
b1].
Обозначим
этот отрезок [а2,
b2],
снова
выберем
одну внутреннюю точку и повторим
процедуру сужения
интервала неопределенности. Процесс
повторяется
до тех пор, пока длина очередного отрезка
[аn,
bn]
не
станет меньше заданной величины
.
Теперь
рассмотрим способ размещения внутренних
точек
на каждом отрезке [аk,
bk].
Пусть
длина интервала неопределенности
равна l,
а
точка деления делит его на части
l1,
l2:
.
Золотое сечение интервала
неопределенности
выбирается так, чтобы отношение длины
большего отрезка к длине всего интервала
равнялось отношению
длины меньшего отрезка к длине большего
отрезка:
Из
этого соотношения можно найти точку
деления, определив
отношение
:
Поскольку нас интересует только положительное решение, то
Отсюда:
Поскольку заранее неизвестно, в какой последовательности (l1 и l2 или l2 и l1) делить интервал неопределенности, то рассматриваются внутренние точки, соответствующие двум этим способам деления.
На рис. 3а точки деления x1, x2 выбираются с учетом полученных значений для частей отрезка. В данном случае имеем:
После первого шага оптимизации получается новый интервал неопределенности – отрезок [а1, b1] (рис. 2). Точка x1 делит этот отрезок в требуемом отношении, при этом
Вторая
точка деления х3
выбирается
на таком же расстоянии
от левой границы отрезка, т. е.
.
И
снова интервал неопределенности
уменьшается до размера:
Тогда координаты точек деления у и z отрезка.[ak, bk] на k+1–м шаге оптимизации (у < z):
При этом длина интервала неопределенности равна:
Процесс
заканчивается при выполнении условия
.
