Семинар 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