120 х f(x) 0 1 0,2 1,5 0,4 1,7 0,6 1,3 0,8 1,7 1, 2 1,2 2,1 1,4 2,5 1,6 3 1,8 3,2 2 3,5 Линейный сплайн S1 ( x ) задаётся уравнением прямой, проходящей через две точки y − yi x − xi x − xi = ⇒ S1 ( x ) = y = y i + ( y − yi ) . y i+1 − y i x i+1 − x i x i+1 − x i i+1 Введем понятие шага интерполяции h = x i+1 − x i . Имеем S1 ( x ) = f ( x i ) + ( x − x i ) Так как 0,5 ∈[0,4;0,6 ] (x i f ( x i+1 ) − f ( x i ) h = 0,4 x i+1 = 0,6) то S1 ( 0,5) = f ( 0,4) + ( 0,5 − 0,4) 1,3 − 1,7 = 1,5 0,2 §8 ПРИБЛИЖЕННОЕ РЕШЕНИЕ УРАВНЕНИЙ Постановка задачи Рассмотрим задачу нахождения действительных корней уравнения f ( x) = 0 (6) где f ( x ) алгебраическая или трансцендентная функция. Известные точные методы решения уравнений пригодны только для узкого класса уравнений. Однако в общем случае решения уравнения (6) находят приближенно. Решение такой задачи разбивается на 2 этапа : 1) отделение корней (определение малых отрезков [a;b], в которых находится только один действительный корень уравнения) 2) приближенное вычисление отделенного корня с заданной точностью. Отделение действительных корней. Под отделением действительного корня уравнения f ( x ) = 0 понимают нахождение отрезка [a;b], в котором лежит только один корень данного уравнения. Этот отрезок называют промежутком изоляции корня Известны различные графические и аналитические методы отделения корней уравнения (6). Наиболее наглядный метод отделения корней уравнения f ( x ) = 0 состоит в определении (приближенно) координат точек пересечения графика функции y = f ( x ) с осью абсцисс. 121 y 0 x с1 a с2 с3 b На примере видно, что приближенные значения корней изолированы на отрезках x1* ∈ [a; c1 ], x2* ∈ [c1 ; c2 ], x3* ∈ [c2 ; c3 ], x4* ∈ [c4 ; b] Если y = f ( x ) сложная. То построение графика может быть затруднено. В этом случае можно использовать представление функции в виде f ( x ) = ϕ1 ( x ) − ϕ 2 ( x ) = 0 и надо записать ϕ1 ( x ) = ϕ2 ( x ) , так чтобы сравнительно просто было построить графики функций y = ϕ1 ( x ) и y = ϕ2 ( x ) . Абсциссы точек пересечения этих графиков и будут корнями уравнения (6). y x 0 a b Промежутки изоляции корней можно получать аналитически, используя теоремы о свойствах функций (непрерывных на отрезке). Уравнение f ( x ) = 0 имеет на [ a; b] единственный корень, если 1) функция y = f ( x ) непрерывна на [ a; b] ; 2) f ( a) f ( b) < 0 ; 3) f ′( x ) сохраняет знак на [ a; b] . Пример Найти промежутки изоляции действительных корней уравнения 3 x + x −1 = 0 . 122 Воспользуемся графическим методом отделения корней : построим графики функций y = x 3 и y = 1 − x . Придем к выводу, что корень принадлежит промежутку y [0;1]. 1 1 x 0 Уточнение корня. Постанова задачи. Задача отыскания приближенного значения корня с заданной точностью ε сводится к нахождению отрезка [ a; b] ( b − a < ε ) , содержащего только один корень уравнения (6). Эту задачу называют задачей уточнения корня. Метод половинного деления. Пусть известно, что [ a; b] содержит один единственный корень уравнения f ( x ) = 0 и f ( a) < 0, f ( b) > 0 . Требуется найти его значение с заданной точностью y с 0 x а b делим пополам, определяем точку c = ( a + b) / 2 и f ( c) . Если f ( c ) < 0, f ( b) > 0 то корень x* ∈ [c; b] (если f ( c ) > 0, f ( b) < 0 , то корень x* ∈ [a; c] ) т.е. отрезок изоляции корня сузили вдвое до отрезка. Отрезок 123 Если b − c < ε , то искомый корень уравнения найден с заданной точностью ε и любое число из [c; b] можно считать его значением. В противном случае процесс деления пополам можно продолжать. В методе половинного деления погрешность решения находится в прямой зависимости от числа деления отрезка пополам. При n делениях погрешность равна b−a . Поэтому если произвести достаточно много делений, то искомый корень 2n можно вычислить с любой степенью точности. Рассмотренный метод удобен еще и тем . что в нем используются однотипные вычисления, поэтому он удобен при реализации вычислений на ЭВМ. Метод хорд. Пусть на [ a; b] находится единственный корень уравнения f ( x ) = 0 , f ( a) < 0, f ( b) > 0 и f ′( x ) , f ′′( x ) сохраняют знак на этом отрезке. Точки A( a; f ( a) ) и B( b; f ( b) ) дуги кривой соединим хордой АВ, уравнение которой y − f ( a) x−a = f ( b) − f ( a) b − a (7) Абсцисса точки пересечения хорды с осью ОХ является первым приближением значения корня x * . Значение x1 найдем, решив совместно уравнения хорды (7) и оси ОХ : y − f ( a) x − a⎫ = f ( a)( b − a) ⎪ f ( b) − f ( a) b − a ⎬ ⇒ x = a − f ( b) − f ( a) ⎪ y=0 ⎭ (8) y х1 0 х2 x b а Таким образом, получено первое приближение значения корня x1 x1 = a − f ( a )( b − a ) f ( b) − f ( a ) 124 т.е. получили суженный промежуток [ x1 , b] изоляции корня. Применив к нему формулу (8) найдем второе приближение корня x 2 = x1 − f ( x1 )( b − x1 ) f ( b) − f ( x1 ) продолжая этот процесс, получим n-е приближение значения корня уравнения: x n = x n−1 − f ( x n−1 )( b − x n−1 ) (9) f ( b) − f ( x n−1 ) при этом замечаем, что в формуле (9) точка b фиксируется, т.е. один конец хорды с абсциссой b неподвижен, а другой при каждом приближении меняется. Из рисунка видно, что f ( b) > 0 и кривая вогнута, следовательно, f ′′( b) > 0 . Неподвижным является тот конец хорды где знак f ( x ) совпадает со знаком f ′′( x ) . Если неподвижным является другой конец хорды, т.е. f ( a) и f ′′( a) имеют одинаковые знаки, то n-е приближение значения корня определяется по формуле x n = x n −1 − f ( x n −1 )( x n −1 − a) (10) f ( x n −1 ) − f ( a) Оба итерационных процесса (9) и (10) сходятся, причем xn − x * ≤ xn − x * ≤ f (xn ) m , m = min f ′( x ) , x ∈[ a ; b ] M−m x n − x n−1 , M = max f ′( x ) x ∈[ a ; b ] m Метод касательных (Метод Ньютона) Пусть на [ a; b] имеется единственный корень уравнения f ( x ) = 0 , f ( a) f ( b) < 0 и f ′′( x ) на [ a; b] сохраняет знак. y х1 х2 0 x а b Из рисунка видно, что если провести касательную к графику функции y = f ( x ) в точке с абсциссой а ( в этой точке знаки f ( x ) и f ′′( x ) совпадают) то абсцисса точки пересечения касательной с осью ОХ будет первым приближением корня уравнения. 125 Касательная, проведенная в точке с абсциссой b, может пересечь ось абсцисс в точке, не принадлежащей [ a; b] (в этой точки знаки f ( x ) и f ′′( x ) противоположны). Запишем уравнение касательной к графику функции y = f ( x ) в той точке, где f ( x ) и f ′′( x ) имеют одинаковые знаки. В случае, изображенном на рисунке это точка а. Общее уравнение касательной: y − f ( a) = f ′( a )( x − a) Найдем точку пересечения касательной с осью ОХ y − f ( a) = f ′( a)( x − a) ⎫ f ( a) . ⎬⇒ x = a− f ′( a ) y=0 ⎭ Полученное значение есть первое приближение корня. Второе приближение получаем в ходе итерационного процесса x 2 = x1 − повторяя вычисления получаем формулы xn = xn−1 − причем где c = a − f ( x1 ) f ′( x1 ) , f (xn−1 ) f ′(xn−1 ) n∈ N , ⎧a, f ( a) f ( c) < 0, ⎪ x 0 = ⎨b, f ( a) f ( c) > 0, ⎪ ⎩c, f ( c) = 0, ( b − a) f ( a) . Тогда последовательность приближений ( x n ) сходится к корню f ( b) − f ( a ) x * при n → ∞ и для ∀n ∈ N справедливы неравенства: f (xn ) M xn − x * ≤ , x n − x * ≤ 1 ( x n − x n−1 ), m 2m m = min f ′( x ) ; M1 = max f ′′( x ) . где x ∈[ a ; b ] x ∈[ a ; b ] Случай, когда вторая производная совпадает по знаку со значением функции в точке b, можно проиллюстрировать следующим рисунком y а 0 x х2 х1 b