Решение нелинейных уравнений и систем

advertisement
Семинар 4. Методы решения нелинейных уравнений.
Рассматривается задача приближенного поиска действительных корней уравнения f (x) =
0.
Локализация корней. Требуется найти непересекающиеся отрезки [ai , bi ], каждому из которых принадлежит один и только один корень данного уравнения x?i .
Пусть f(x) = a0 xn + a1 xn−1 + · · · + an−1 x + an = 0, тогда требуется
1. Определить число этих корней N = N+ + N− ;
(a) Т. Декарта: число положительных корней равно числу перемен знаков в последовательности коэффициентов a0 , a1 , . . . , an или на четное число меньше.
(b) Все корни многочлена (включая комплексные) лежат в кольце
|an |
A
≤ |z| ≤ 1 +
|an | + B
|a0 |
где A = max{|a1 |, |a2 |, . . . , |an |} , B = max{|a0 |, |a1 |, . . . , |an−1 |}
2. Определить отрезки, на которых лежат все действительные корни;
3. Найти N непересекающихся отрезков [ai , bi ], для которых f(ai ) f(bi ) < 0.
Уточнение корней. Для каждого корня x?i ∈ [ai , bi ] данного уравнения требуется найти x̃i
такое, что |x̃i − x?i | < ε, где ε — заданная погрешность.
1. Метод половинного деления (дихотомия). Отыскивается x̃ — приближение к корню
x? ∈ [a, b] с точностью ε.
Шаг 1. m = 0
Шаг 2. am = a, bm = b
Шаг 3. c =
am + b m
2
Шаг 4. (a) Если f(c) f(am ) > 0, то am+1 = c, bm+1 = bm
(b) Если f(c) f(bm ) > 0, то am+1 = am , bm+1 = c
Шаг 5. Если |bm+1 − am+1 | > ε, то m = m + 1, перейти к Шагу 2, иначе x̃ =
1
am+1 + bm+1
2
2. Метод простой итерации
f(x) = 0 → x = g(x) → xn+1 = g(xn )
Условие сходимости: ∀x ∈ [a, b] : |g 0 (x) | < 1 или ∀x0 , x00 ∈ [a, b] : |g(x0 ) − g(x00 ) | 6 q|x0 − x00 |, q < 1
3. Метод Ньютона (касательных)
f(x) = f(xn ) + f 0(xn )(x − xn ) → xn+1 = xn −
Условие сходимости:
f(xn )
f 0(xn )
1 M2
|x0 − x? |2 < 1
2 m1
|xn+1 − x? | <
n
1 M2
|xn − x? |2 < C −1 (C|x0 − x? |)2
2 m1
Выбор начального приближения: f(x0 ) f 00(x0 ) > 0.
Практический критерий оценки достижения заданной точности:
|xn+1 − x? | <
1 M2
|xn+1 − xn |2 < ε.
2 m1
4. Метод секущих В метод Ньютона подставим: f 0(xn ) ≈
xn+1 = xn −
f(xn ) − f(xn−1 )
xn − xn−1
f(xn )(xn − xn−1 )
f(xn ) − f(xn−1 )
5. Метод простой итерации
f(x) = 0 → x = g(x) → xn+1 = g(xn )
Условие сходимости:
|g(x) − g(y) | 6 q|x − y| → |g(xn+1 ) − g(x? ) | 6 q|xn − x? |, q = max |g 0(x) | < 1
Практические критерии оценки достижения заданной точности:
|xn+1 − xn | < ε или |f(xn ) | < δε
Если g(x) = x −
f(x)
, то получим метод Ньютона.
f 0(x)
2
Задача. Определить порядок сходимости итерационного метода при вычислении корня x? =
√
a по формуле
11x4n − 4x2n a + a2 2
xn+1 = xn −
x
−
a
.
n
16x5n
Решение.
xn+1 −
√
√
√
√ √
(xn − a)
5
4
3
2
2
2
a=
5x
−
11x
a
+
4x
a
+
4x
a
a
−
x
a
−
a
a
n
n
n
n
n
16x5n
(p)
Воспользуемся следующим фактом: если x̃— корень кратности k многочлена QN (x), то QN (x̃) =
(k)
0, p = 0, . . . k − 1, QN (x̃) 6= 0.
QN (x) = (x − x̃)k PN −k (x) , Q0N (x) = k(x − x̃)k−1 PN −k (x) +(x − x̃)k PN0 −k (x) , . . .
(k)
(k)
QN (x) = k!PN −k (x) +(k − 1)!(x − x̃) PN0 −k + · · · +(x − x̃)k PN −k
В нашем случае
√
√
√ √
Q5 (x) = 5x5 − 11x4 a + 4x3 a + 4x2 a a − xa2 − a2 a, Q5 a = 0,
√
√ √
Q05 (x) = 25x4 − 44x3 a + 12x2 a + 8xa a − a2 , Q05 a = 0,
√
√
√ Q005 (x) = 100x3 − 132x2 a + 24xa + 8a a, Q005 a = 0,
√ √
000
2
Q000
a = 60a 6= 0.
5 (x) = 300x − 264x a + 24a, Q5
Таким образом Q5 (x) = (x −
√
√
3
a) q2 (x) , q2 ( a) 6= 0, и, теперь
xn+1 −
√
a = xn −
√ 4 q2 (xn )
a
16x5n
т.е. порядок сходимости итерационного метода равен 4.
3
Задача. Локализовать действительные корни, выбрать точку начального приближения, написать итерационную формулу метода Ньютона для уточнения корней, проверить выполнение условий сходимости метода для одного из корней и привести оценку достижения заданной
точности.
f (x) = sin x − e−x = 0
Решение. Метод Ньютона:
xn+1 = xn −
sin xn − e−xn
f (xn )
=
x
−
n
f 0 (xn )
cos xn + e−xn
Начальное приближение должно удовлетворять условию:
f (x0 ) f (x0 )00 = sin xn − e−xn − sin xn + e−xn = e−2xn − sin2 xn > 0
Оценка достижения заданной точности:
1 M2
|xn+1 − xn |2 < ε ⇒ |xn+1 − xn | <
2 m1
4
r
2εm1
.
M2
Задача. Предложить метод простой итерации для локализации корней уравнения x = e2x −
1.
Решение. Данное уравнение имеет два корня x?1 ∈ [−0.8, −0.7] , x?2 = 0.
1.
x = g(x) = e2x − 1 → xn+1 = e2xn − 1, g 0(x) = 2e2x ,
1
|g 0(x) | = |2e2x | < 1 → x < − ln 2 ≈ −0.35 < 0,
2
т.е. метод сходится в окрестности x?1 и не сходится в окрестности x?2 .
2.
1
1
1
ln(x + 1) → xn+1 = ln(xn + 1) , g 0(x) =
,
2
2
2(x + 1)
1
|g 0(x) | =
< 1 → x > −1,
2|x + 1|
x = g(x) =
т.е. метод сходится как в окрестности x?1 , так и в окрестности x?2 .
Задача. Уравнение x + ln x = 0 имеет корень x? ≈ 0.6, предлагается решить одним из
методов простой итерации
1)xn+1 = − ln xn ; 2)xn+1 = e−xn ; 3)xn+1 =
1
1
xn + e−xn ; 4)xn+1 = 3xn + 5e−xn .
2
8
Исследовать эти методы и сделать выводы о целесообразности использования каждого из них.
Решение.
1)
g(x) = − ln x
g(x) = e−x
x + e−x
3) g(x) =
2
3x + 5e−x
4) g(x) =
8
2)
1
<1→
|x| > 1
|x|
|g 0 (x) | = e−x < 1 →
x>0
|g 0 (z) | ≈ 0.55
−x
|1 − e |
|g 0 (x) | =
< 1 → x > − ln 3 ≈ −1.1 |g 0 (z) | ≈ 0.23
2 −x
|3 − 5e |
|g 0 (x) | =
< 1 → 0 < x < ln 5 ≈ 1.6 |g 0 (z) | ≈ 0.032
8
|g 0 (x) | =
т.е. первый метод непригоден для вычислений, из остальных наибольшая скорость сходимости
у четвертого.
5
Download