
Информатика.-5
.pdf
21
x |
= x |
|
− |
f (xi−1 ) |
. |
|
|
||||
i |
i−1 |
|
f ′(xi−1 ) |
||
|
|
|
|
||
Исходные данные для решения уравнения: |
|||||
• функция |
|
|
|
′ |
|
f (x) и ее производная f (x) ; |
•начальное приближение x0 ;
•погрешность вычислений ε ;
•максимальное число итераций N .
Последовательность шагов решения уравнения:
Шаг 1. Вычислить точку пересечения касательной с осью абсцисс.
Шаг 2. Вычислить значение функции f (xi ) .
Шаг 3. Выполнить сравнение f (xi ) < ε . Если оно истинно, то xi является решением уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.
Метод Ньютона обладает лучшей сходимостью по сравнению с методами половинного деления или хорд. В этом его преимущество. К недостаткам можно отнести следующие моменты:
•Для вычисления очередного приближения необходимо вычислять значения двух
функций f (x) и f ′(x) , а не одной, как в методах половинного деления и хорд.
•Метод не всегда способен найти корень уравнения, так как итерационный процесс
может быть расходящимся. Например, решение уравнения x e−x = 0 при x0 = 2 .
•Существует опасность получения ошибки «деление на ноль» в итерационном процессе. Например, если в рассматриваемом примере значение начального
приближения выбрать x0 = 20 , то значение производной f ′(x0 ) = 3 202 −60 20 = 0 .
При нахождении значения x1 программа может аварийно завершить работу.
•Существует опасность зацикливания итерационного процесса. Например, если при
решении |
уравнения |
f (x) = x3 −12 x +12 |
6 = 0 |
значение |
|
начального приближения |
||||||||||||
выбрать x0 = 6 , то значение x1 |
получится равным нулю. |
|
|
|||||||||||||||
x = x − |
|
f (x ) |
= |
6 − |
( 6)3 −12 6 +12 6 |
= |
6 − |
6 6 |
|
= 6 − 6 = 0 |
||||||||
0 |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
||||||||||
1 |
|
0 |
|
f ′(x0 ) |
|
|
|
3 ( 6)2 −12 |
|
|
|
|
18 −12 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
При вычисления значения x2 |
получим x2 |
= 6 . |
|
|
|
|||||||||||||
x |
|
= x − |
|
f (x ) |
= 0 |
− |
03 |
−12 0 +12 6 |
= 0 |
− |
12 6 |
= 0 + 6 |
= 6 |
|||||
|
|
1 |
|
|
|
|
|
|||||||||||
|
f ′(x1 ) |
|
3 02 |
−12 |
−12 |
|||||||||||||
|
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
В данном случае итерационный процесс зациклился.

22
2.4 Модифицированный метод Ньютона
Модифицированный метод Ньютона отличается от основного тем, что касательные проводятся под одним и тем же углом. Угол наклона касательной определяют в точке начального приближения x0 . Процесс решения уравнения модифицированным методом Ньютона показан на рис. 2.6.
3000 |
|
|
|
|
|
|
f(x0) |
|
|
|
|
|
|
2000 |
|
|
|
|
|
|
1000 |
|
|
|
|
|
|
f(x2) |
|
|
|
|
|
|
0 |
x0 |
x2 |
|
x3 |
x1 |
|
|
|
|
|
|
|
|
|
0 |
5 |
10 |
15 |
20 |
|
-1000 |
|
|
|
|
|
|
f(x1) |
|
|
|
|
|
|
-2000 |
|
|
|
|
|
|
Рис. 2.6. Процесс решения уравнения |
f (x) = 0 |
модифицированным |
методом |
|||
Ньютона |
|
|
|
|
|
|
Каждая последующая точка xi находится исходя из предыдущей точки xi−1 по формуле xi = xi−1 − ff(′(xxi−01)) .
Значение производной функции в начальной точке можно присвоить переменной, чтобы постоянно не вычислять в цикле.
Исходные данные для решения уравнения:
• функция f (x) и ее производная f ′(x) ;
•начальное приближение x0 ;
•погрешность вычислений ε ;
•максимальное число итераций N .

23
Последовательность шагов решения уравнения:
Шаг 1. |
Вычислить точку x |
= x |
− |
f (xi−1 ) |
. |
||||
|
|
|
|||||||
|
i |
i−1 |
|
f ′(x0 ) |
|||||
|
|
|
|
|
|
||||
Шаг 2. |
Вычислить значение функции f (xi ) . |
||||||||
Шаг 3. |
Выполнить сравнение |
|
|
f (xi ) |
|
< ε . Если оно истинно, то xi является решением |
|||
|
|
уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.
Модифицированный метод Ньютона обладает худшей сходимостью, чем основной. Однако теперь в цикле вычислять нужно значение только одной функции. Следовательно, время выполнения одной итерации цикла стало меньше.
2.5 Метод секущих
Метод секущих похож на метод хорд. Через две начальные точки {x0 ; f (x0 )} и {x1; f (x1)} проводят прямую и определяют ее пересечение с осью абсцисс x2 . Если значение функции f (x) в этой точке близко к нулю, то x2 – решение уравнения. В
противном случае проводят новую прямую (секущую) через точки {x1; f (x1)} и {x2 ; f (x2 )} . Процесс решения уравнения методом секущих показан на рис. 2.7.
3000 |
|
|
|
|
|
f(x0) |
|
|
|
|
|
2000 |
|
|
|
|
|
1000 |
|
|
|
|
|
0 |
|
x0 |
x3 |
x2 |
x1 |
|
|
|
|
|
|
f(x2) |
0 |
5 |
10 |
15 |
20 |
-1000 |
|
|
|
|
|
f(x1) |
|
|
|
|
|
-2000 |
|
|
|
|
|
Рис. 2.7. Процесс решения уравнения |
f (x) = 0 методом секущих |
|
24
Используя формулу, полученную в параграфе 2.2, получим, что каждая последующая
точка xi+1 находится исходя из двух предыдущих точек xi и xi−1 по формуле
x |
= x |
− |
xi − xi−1 |
f (x ) . |
|
||||
i+1 |
i |
|
f (xi ) − f (xi−1 ) |
i |
|
|
|
|
Исходные данные для решения уравнения:
•функция f (x) ;
•начальные приближения x0 и x1 ;
•погрешность вычислений ε ;
•максимальное число итераций N . Последовательность шагов решения уравнения:
Шаг 1. |
Вычислить точку x |
= x − |
|
xi − xi−1 |
|
f (x ) . |
||||
|
|
|
|
|
||||||
|
i+1 |
|
i |
|
f (xi ) − f (xi−1 ) |
i |
||||
|
|
|
|
|
|
|||||
Шаг 2. |
Вычислить значение функции |
f (xi+1 ) . |
|
|
||||||
Шаг 3. Выполнить сравнение |
|
f (xi+1 ) |
|
< ε . |
Если оно истинно, то является решением |
|||||
|
|
уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.
При численном решении уравнения методом секущих существует опасность получения расходящейся итерационной последовательности, зацикливания программы, аварийного завершения с ошибкой «деление на ноль».
2.6 Метод итераций
При нахождении корней уравнения f (x) = 0 методом итераций решают другое
уравнение x = g(x) . Функция g(x) связана соотношением g(x) = f (x) + x с функцией f (x) . Уравнение x = g(x) удобно для организации итераций. Решение этого уравнения
одновременно будет решением уравнения f (x) = 0 . Рассмотрим геометрическую
интерпретацию решения уравнения x = g(x) методом итераций, показанную на рис. 2.8., 2.9.
Построим на плоскости графики функций y = x и y = g(x) . Вычислим в точке начального приближения x0 значение функции g(x0 ) . Присвоим это значение x1 = g(x0 ) .
Если | x1 − x0 | меньше выбранной погрешности вычислений, то x1 является искомым корнем. В противном случае вычисления повторяются. Последовательность значений x2 , x3 , x4 ,... определяют по следующим соотношениям: x2 = g(x1 ) , x3 = g(x2 ) , x4 = g(x3 ) , …

25
y |
y=g(x) |
|
y=x |
x2 |
x1 |
x0 |
x |
Рис. 2.8. Процесс решения уравнения x = g(x) методом итераций (монотонная сходимость)
y
y=x
y=g(x)
x0 |
x2 |
x1 |
x |
Рис. 2.9. Процесс решения уравнения x = g(x) методом итераций (колеблющаяся сходимость)
Каждая последующая точка xi находится исходя из предыдущей точки xi−1 по формуле xi = g(xi−1 ) .
Исходные данные для решения уравнения:
• функция g(x) или f (x) ;

26
•начальное приближение x0 ;
•погрешность вычислений ε ;
•максимальное число итераций N . Последовательность шагов решения уравнения:
Шаг 1. Вычислить точку xi = g(xi−1 ) .
Шаг 2. Вычислить значение | xi − xi−1 | .
Шаг 3. Выполнить сравнение | xi − xi−1 |< ε . Если оно истинно, то xi является решением уравнения x = g(x) или f (x) = 0 . Если условие ложно, то перейти к шагу 1.
Итерационный процесс решения уравнения x = g(x) может быть как сходящимся,
так и расходящимся. Условием сходимости является выполнение в окрестности корня уравнения неравенства
′ |
|
|
|
| g (x) |<1, |
|
|
|
′ |
g(x) . |
|
|
где g (x) – производная от функции |
|
|
|
′ |
|
−1 |
′ |
При 0 < g (x) <1 имеет место монотонная сходимость (рис. 2.8), при |
< g (x) < 0 |
||
|
′ |
|
|
– колеблющаяся сходимость (рис. 2.9). Если | g (x) |>1 итерационный процесс является |
|||
′ |
|
|
2.10), при |
расходящимся: при g (x) >1 имеет место монотонное расхождение (рис. |
g′(x) < −1 – расходящиеся колебания (рис. 2.11).
y
y=x
y=g(x)
x0 |
x1 |
x2 |
x |
Рис. 2.10. Процесс решения уравнения x = g(x) методом итераций (монотонное расхождение)

27
y
y=g(x) y=x
x2 x0 |
x1 |
x4 |
x |
Рис. 2.11. Процесс решения уравнения x = g(x) методом итераций (расходящиеся
колебания)
2.7 Эффективность численных методов решения уравнений
Скорость сходимости является основной характеристикой численных методов решения уравнений.
Предположим, что последовательность {pn} сходится к p и обозначим
En = p − pn для n ≥ 0. Если существуют такие две положительные константы A ≠ 0 и
R > 0 , что
lim |
| p − pn+1 | |
|
= lim |
| En+1 | |
|
= A , |
||
|
|
|||||||
n→∞ |
| p − p |
|R |
n→∞ |
| E |
|R |
|
||
|
n |
|
|
|
n |
|
|
|
то говорят, что последовательность сходится к p с порядком сходимости R .
Если R =1, то сходимость называется линейной. Если R = 2 , то сходимость называется квадратичной.
28
3. Решение систем уравнений
Совокупность уравнений, для которых требуется найти значения неизвестных, удовлетворяющие одновременно всем этим уравнениям, называется системой уравнений.
F (x , x ,..., x |
M |
) = 0 |
|||
|
1 |
1 |
2 |
|
|
F2 (x1, x2 ,..., xM ) = 0 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
F (x , x ,..., x ) = 0 |
|||||
|
N |
1 |
2 |
M |
|
Значения неизвестных, удовлетворяющие одновременно всем уравнениям системы, называют решением системы.
Наиболее проработанными являются методы решения систем линейных уравнений. Существуют аналитические методы решения систем линейных уравнений: метод Крамера, метод Гаусса. Кроме аналитических имеются численные методы: метод итераций Якоби, Гаусса-Зейделя,
3.1 Метод Крамера
Пусть дана система из N линейных уравнений.
|
|
a |
|
x + a |
x |
+... + a |
|
x |
N |
= b |
|
|
|
|
|
|
||||||||
|
|
11 |
|
1 |
|
12 |
2 |
|
|
1N |
|
1 |
|
|
|
|
|
|
||||||
|
a21 x1 + a22 x2 +... + a2 N xN = b2 |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
N1 |
x |
+ a |
N 2 |
x |
+... + a |
NN |
x |
N |
|
|
= b |
|
|
|
|
|
|||||||
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
N |
|
|
|
|
|
|||||
Согласно методу Крамера решение находится через определители , 1, 2 ,..., N . |
||||||||||||||||||||||||
x |
= |
|
i |
, для i =1,2,...N . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a11 |
|
a12 |
… a1N |
|
|
|
|
|
|
b1 |
a12 |
… a1N |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
= |
a21 |
a22 |
… a2 N |
|
, |
1 = |
b2 |
a22 |
… a2 N |
|
, |
||||||||||||
|
|
|
aN1 |
aN 2 |
… aNN |
|
|
|
|
|
|
bN |
aN 2 |
… aNN |
|
|
|
|
||||||
|
|
|
|
a11 |
b1 |
… a1N |
|
|
|
|
|
|
|
|
a11 |
a12 |
… b1 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
2 = |
a21 |
b2 |
… a2 N |
|
, |
N = |
|
a21 |
a22 |
… b2 |
|
. |
|||||||||||
|
|
|
|
aN1 |
bN … aNN |
|
|
|
|
|
|
|
|
aN1 |
aN 2 |
… bN |
|
|
|
|
|
|
|
|
|
|
29 |
|
Для поиска значений определителей |
, 1, 2 ,..., |
N используется формула |
|||||
|
N |
|
|
|
|
|
|
|
|
| A |= ∑aij Aij , |
|
|
|
|
|
||
|
j=1 |
|
|
|
|
|
|
|
где |
A = (−1)i+ j |
M |
ij |
- алгебраическое |
дополнение |
к a , M |
ij |
- определитель |
|
ij |
|
|
|
ij |
|
подматрицы A размера (N −1) ×(N −1) , полученной путем удаления i-ой строки и j-го
столбца в матрице A . |
|
Для N = 2 определитель матрицы A находится по формуле |
|
| A |= a11 a22 − a12 a21 . |
|
Пример. Решить систему уравнений |
|
|
4x − y + z = 7 |
|
4x −8y + z = −21 |
|
|
|
−2x + y + 5z =15 |
|
Находим определители |
, |
1, |
2 , 3 . |
|
|
|
|
||||||
|
|
4 |
−1 |
1 |
|
|
−8 |
1 |
|
4 1 |
|
4 −8 |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|||||||
= |
|
4 |
−8 1 |
|
= 4 |
− (−1) |
+1 |
= |
|||||
|
|
1 5 |
−2 5 |
−2 1 |
|||||||||
|
|
−2 |
1 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=4 (−8 5 −1 1) +1 (4 5 − (−2) 1) +1 (4 1− (−2) (−8)) =
=4 (−41) +1 22 +1 (−12) = −164 + 22 −12 = −154
|
|
7 |
−1 |
1 |
|
−8 1 |
|
−21 1 |
|
−21 |
−8 |
|
||
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|||||||||
1 = |
|
−21 |
−8 1 |
= 7 |
− (−1) |
+1 |
= |
|||||||
|
|
15 |
1 |
5 |
|
1 |
5 |
|
15 |
5 |
|
15 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
=7 (−8 5 −1 1) +1 (−21 5 −15 1) +1 (−21 1−15 (−8)) =
=7 (−41) +1 (−120) +1 99 = −287 −120 + 99 = −308
|
4 |
7 |
1 |
|
−21 1 |
|
4 1 |
|
4 |
−21 |
|
|
|
|
|
|
|||||||
2 = |
4 |
−21 |
1 |
= 4 |
− 7 |
+1 |
= |
||||
|
−2 |
15 |
5 |
|
15 5 |
|
−2 5 |
|
−2 |
15 |
|
|
|
|
|
|
|
|
|
|
=4 (−21 5 −15 1) − 7 (4 5 − (−2) 1) +1 (4 15 − (−2) (−21)) =
=4 (−120) − 7 22 +1 18 = −480 −154 +18 = −616
30
|
|
4 |
−1 |
7 |
|
|
−8 |
−21 |
|
4 |
−21 |
|
4 |
−8 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|||||||||
3 = |
|
4 |
−8 −21 |
|
= 4 |
− (−1) |
+ 7 |
= |
|||||||
|
|
−2 |
1 |
15 |
|
|
1 |
15 |
|
−2 |
15 |
|
−2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=4 (−8 15 − (−21) 1) +1 (4 15 − (−2) (−21)) + 7 (4 1− (−2) (−8)) =
=4 (−99) +1 18 + 7 (−12) = −396 +18 −84 = −462
Тогда решением системы являются значения |
|
|
|
||||||
x = |
1 = |
−308 |
= 2 , y = |
2 = |
−616 |
= 4, z = |
3 = |
−462 |
= 3 . |
|
|
−154 |
|
|
−154 |
|
|
−154 |
|
3.2 Метод Гаусса
При решении системы линейных уравнений
|
|
a |
|
x + a |
x |
+... + a |
|
x |
N |
= b |
|||
|
|
11 |
|
1 |
12 |
2 |
1N |
|
1 |
||||
|
a21 x1 + a22 x2 +... + a2 N xN = b2 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
N1 |
x |
+ a |
N 2 |
x |
+... + a |
NN |
x |
N |
= b |
|||
|
|
|
1 |
2 |
|
|
|
N |
методом Гаусса составляется расширенная матрица [A | B]
a11 |
a12 |
… a1N |
|
b1 |
|
|
|
||||
a21 |
a22 |
… a2 N |
|
b2 |
. |
|
|
|
|
|
|
|
|
|
|
||
|
aN 2 |
… aNN |
|
|
|
aN1 |
|
bN |
|
С помощью ряда элементарных операций: перестановки, масштабирования и замещения – добиваются нулевых значений под элементами главной диагонали. Расширенная матрица принимает вид
a11(1) |
a12(1) |
… a1(1)N |
|
b1(1) |
|
|
|
|
|
||||||
|
0 |
a22(2) |
… a2(2)N |
|
b2(2) |
|
|
|
|
|
. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
0 |
0 |
… a( N ) |
|
|
|
|
|
|
b( N ) |
|
||||
|
|
|
NN |
|
N |
|
|
Используя алгоритм обратной подстановки, получим решение системы
x |
|
= |
b( N ) |
, x |
|
= |
bN( N−1−1) − xN |
a((NN−)1) N |
|
N |
N |
N −1 |
|
|
, и т.д. |
||||
a( N −1) |
|
||||||||
|
|
a( N ) |
|
|
|
|
|||
|
|
|
NN |
|
|
|
( N −1)( N −1) |
|