
- •Кафедра математики и математического моделирования т. В. Бурнышева
- •Часть 2
- •Содержание
- •Введение
- •Остановка итерационного процесса
- •Продолжение таблицы 1
- •1.3 Решение систем нелинейных уравнений методами простых итераций и покоординатной итерации
- •Рекомендация к выполнению задания
- •Метод простых итераций
- •Метод покоординатных итераций
- •Продолжение таблицы 2
- •Метод золотого сечения
- •Метод парабол
- •Продолжение таблицы 3
- •Продолжение таблицы 4
- •Продолжение таблицы 5
- •Продолжение таблицы 6
- •Продолжение таблицы 7
- •Библиографический список
- •Вычислительная математика
- •Часть 2
- •654041, Г. Новокузнецк, просп. Металлургов, 19, тел. (3843) 74-14-95.
Метод золотого сечения
Пусть f(x) – кусочно-непрерывна функция на a x b и имеет на [a, b] только один локальный минимум.
Алгоритм метода золотого сечения
Шаг 1.
Задаем функцию f(x);
задаем интервал (x0, x1);
задаем погрешность .
Выбираем внутренние точки на интервале:
x2=x0+(x1-x0), x3=x1-(x1-x0),
где
(для метода золотого сечения
).
Шаг 2.
Для шага t: xi, xj, xk, xl.
Определяем min{f(xi), f(xj), f(xk), f(xl)}:
пусть f(xi) < f(xj), f(xk), f(xl).
Отбрасываем ту точку, которая наиболее удалена от xi:
| xl - xi |>| xj - xi |,| xk - xi |.
Определяем порядок расположения точек на числовой прямой:
xk<xi<xj.
Выбираем новую точку x=xj+xk-xi и присваиваем ей очередной номер.
Шаг 3.
Если max||
xj(t)-
xk(t)
||
,
то
=
(xj+xk).
Иначе t=t+1, и переходим на шаг 2.
Замечание. Метод золотого сечения наиболее экономичен, он применим к недифференцируемым функциям, всегда сходится линейно.
Если на отрезке [a,b] несколько локальных минимумов, то он сойдется к одному из них, но не обязательно к наименьшему.
Метод парабол
Пусть функция f(x) два раза дифференцируема на интервале [a,b]. В основе метода парабол лежит условие минимума:
f(x)=0 .
Итерационный процесс метода парабол имеет вид:
. (12)
Итерационный процесс (12) является ньютоновским и вблизи экстремума с ненулевой второй производной сходится квадратично. Если f(x)=0, то сходимость будет линейной.
Для расчета f(x) и f(x) используют конечные разности. С учетом этого итерационный процесс (12) будет иметь вид:
-
. (13)
Внимание: на каждом шаге необходимо проверять, движемся ли мы к минимуму. Вторая производная в знаменателе (12) или (13) должна быть положительной.
Если вторая производная отрицательна, т. е. итерационный процесс сходится к максимуму, следует сделать шаг в обратном направлении.
Для этого:
вычислив x(t+1), проверяем f(x(t+1))> f(x(t)), если да, то приближение x(t+1) использовать нельзя;
делаем шаг в сторону
убывания f(x).
Рассчитываем шаг по формуле h=(x(t+1)-x(t)),
где
- const
(например, =
);
проверяем условие убывания функции. Если оно не выполняется, то уменьшаем вдвое и делаем шаг из точки x(t). Процесс продолжаем до тех пор, пока не добьемся убывания функции.
Замечание. Если функция имеет несколько локальных минимумов, то итерационный процесс может сойтись к любому из них.
1.6 Определение экстремумов функции многих переменных
Цель работы: используя метод покоординатного спуска, определить минимум параболоида вращения:
2pz=(x-x0)2+(y-y0)2.
Рекомендация к выполнению задания
Программирование метода производится в среде разработки на выбор студента (Delphi, Borland C++, Turbo Pascal и т. д.).
Входные параметры программы:
X(0) – ненулевое приближение;
– погрешность.
Выходные параметры программы:
t – число итераций;
X* – точка минимума;
F(X*) – значение функции в точке минимума.
Отчет по самостоятельной работе должен содержать:
постановку задачи;
блок-схему реализации вычисления минимума параболоида вращения;
программу решения задачи.
Исходные данные для выполнения лабораторной работы выбираются согласно таблицы 3.
Таблица 3 – Варианты лабораторной работы № 1.5
Номер варианта |
Исходная система |
Номер варианта |
Исходная система |
1 |
|
16 |
,
|
2 |
,
|
17 |
,
|
3 |
,
,
|
18 |
,
,
|
4 |
, , , |
19 |
,
,
,
|