Д.П. Костомаров, А.П. Фаворский - Вводные лекции по численным методам (pdf) (1113729), страница 11
Текст из файла (страница 11)
Сравнить ее с погрешностью (17),подсчитанной непосредственно.Формула для погрешности (35) принимает в данном случае вид:π3π⎛π ⎞ 1⎛π ⎞R2 ⎜ ⎟ = ( − cos ξ ) ω 3 ⎜ ⎟ = cos ξ, 0 ≤ξ ≤ .11522⎝4⎠ 6⎝4⎠Она правильно определяет знак погрешности, но не позволяет вычислить ее величину,поскольку значение аргумента ξ неизвестно. Чтобы получить мажорантную оценкупогрешности (36), нужно заменить cos ξ на его наибольшее значение – единицу. Врезультате будем иметь:- 50 -⎛π ⎞ πR2 ⎜ ⎟ ≤< 0.027 .⎝ 4 ⎠ 1152Эта оценка согласуется с величиной погрешности (17), вычисленной «в лоб».31.6.
О сходимости интерполяционного процесса.Поставим вопрос, будут ли сходится интерполяционные полиномы Pn ( x ) кинтерполируемой функции f ( x ) на отрезке [ a , b ] при неограниченном возрастаниичисла узлов n .Упорядоченное множество точек xi , i = 0,1,K n (1) назовем сеткой на отрезке [ a , b ]и обозначим для краткости Ω n . Рассмотрим последовательность сеток свозрастающим числом узлов:Ω0 = {x0(0) }, Ω1 = {x0(1) , x1(1) },K, Ωn = {x0( n ) , x1( n ) K xn( n ) },Kи отвечающую ей последовательность интерполяционных полиномов Pn ( x ) ,построенных для фиксированной непрерывной на отрезке [ a , b ] функции f ( x ) .Интерполяционный процесс для функции сходится в точке x* ∈ [ a , b ] , еслисуществует пределlim Pn ( x* ) = f ( x* ) .n→∞Наряду с обычной сходимостью часто рассматривается сходимость в различныхнормах. Так, равномерная сходимость на отрезке [ a , b ] означает, чтоmax f ( x ) − Pn ( x ) → 0 при n → ∞ .x∈[ a ,b]Сходимость или расходимость интерполяционного процесса зависит как от выборапоследовательности сеток, так и от гладкости функции f ( x ) .
Если f ( x ) - целаяаналитическая функция, то при произвольном расположении узлов на отрезке [ a , b ]интерполяционный многочлен Pn ( x ) равномерно сходится к f ( x ) при n → ∞ .Положение резко меняется, если производные функции разрывны или несуществуют в отдельных точках. Например для функции f ( x ) = x на отрезке [ −1,1] ,покрытом равномерной сеткой узлов, значения Pn ( x ) между узлами интерполяциинеограниченно возрастают при n → ∞ .
Вместе с тем, для заданной непрерывнойфункции f ( x ) за счет выбора сеток можно добиться сходимости и притомравномерной на [ a , b ] . Однако построение таких сеток довольно сложно и, главное,такие сетки «индивидуальны» для каждой конкретной функции.Если заметить дополнительно, что объем вычислений при построенииинтерполяционного полинома быстро нарастает с ростом n , то становится понятно,что на практике вычислители избегают пользоваться интерполяционнымиполиномами высокой степени. Вместо этого, в случае необходимости, при большихзначениях n используется кусочно-полиномиальная интерполяция, которую мыобсудим в следующем параграфе.- 51 1.7.
Интерполяционный полином Эрмита.Расширим постановку задачи об интерполяции. Ранее полагалось, что в узлахинтерполяции заданы только значения функции f ( x ) . Пусть теперь в узлахxk ∈ [ a , b ], k = 0,1,K m , среди которых нет совпадающих, заданы значения функцииf ( xk ) , и её производных f ( i ) ( xk ), i = 1, 2,K , N k − 1 до ( N k − 1) -го порядкавключительно.
Числа N k при этом называют кратностью узла xk . В каждой точке xk ,таким образом, задано N k величин:f ( xk ), f ′( xk ),K f ( N k −1) ( xk ) .В общей сложности на всей совокупности узлов x0 , x1 ,K , xm известноN 0 + N1 + K + N m величин, что дает возможность ставить вопрос о построенииполинома H n ( x ) степени(38)n = N0 + K + Nm − 1,удовлетворяющего требованиям:(39)H n( i ) ( xk ) = f ( i ) ( xk ) , k = 0,1,K , m , i = 0,1,K , N k − 1 .Такой полином называется интерполяционным полиномом Эрмита для функцииf ( x ) .
Рассмотренный ранее вариант построения интерполяционного полинома Pn ( x )по известным значениям функции f ( x ) в узлах интерполяции является частнымслучаем построения полинома Эрмита при условии, что все узлы простые: N k = 1 ,k = 0,1,K , m .Докажем, что интерполяционный полином Эрмита существует и являетсяединственным. Представим его в стандартном видеH n ( x ) = a0 + a1 x + K + an x n .Наше утверждение будет справедливо, если показать, что коэффициенты a0 , a1 ,K , anопределяются из условий (39) и притом единственным образом. Условия (39)представляют собой систему линейных алгебраических уравнений относительно этихкоэффициентов, причем число уравнений и число неизвестных равныN 0 + N1 + K + N m = n + 1 .Рассмотрим соответствующую однородную системуH n(i) ( xk ) = 0 , k = 0,1,K , m , i = 0,1,K , N k − 1 .(40)Уравнения (40) просто указывают на то, что числа xk являются корнями полиномаH n (x) кратности N k .
Мы видим, таким образом, что полином H n (x) имеет, с учетомкратности, не менее N 0 + N1 + K + N m = n + 1 корней. Поскольку его степень равна n ,то он должен тождественно равняться нулю. Это означает, что a0 = a1 = K = an = 0 , т.е.однородная система уравнений (40) имеет только тривиальное решение. Отсюдаследует, что неоднородная система (39) при любой правой части разрешима и при томединственным образом.ИсследованиепогрешностиинтерполированияполиномаЭрмитаRn ( x ) = f ( x ) − H n ( x ) почти дословно повторяет проведенное ранее исследование для- 52 полинома с простыми узлами xk , в которых заданы только f ( xk ) . Достаточнопредставить Rn ( x ) в виде(41)Rn ( x ) = rn ( x )ω n +1 ( x ) ,гдеNNNω n+1 ( x ) = ( x − x0 ) 0 ( x − x1 ) 1 K( x − xm ) m , n + 1 = N 0 + K + N m(42)и рассмотреть функциюg (t ) = f (t ) − H n (t ) − rn ( x )ω n +1 (t ) .Применяя теорему Ролля к функции g (t ) и ее производным с учетом кратностикорней в узлах t = xk и условия g ( x ) = 0 придем к формулеf ( n+1) (ξ )ω n+1 ( x ) ,f ( x) − H n ( x) =(43)(n + 1)!которая по существу повторяет формулу (35).
С ее помощью можно написать оценкутипа (36):M n+1Rn ( x ) ≤ω n+1 ( x ) ,(44)(n + 1)!где M n +1 - максимальное значение модуля функции f ( n+1) ( x ) (37). Здесь полиномω n +1 ( x ) (42) является обобщением полинома (32) на случай кратных корней.Построение полинома Эрмита в общем случае при произвольном числе узлов и ихкратности приводит к довольно громоздким выражениям и редко используется.Поэтому мы ограничимся двумя примерами, встречающимися на практике.Пример 1Построить интерполяционный полином Эрмита для функции f ( x ) по известнымзначениям в узлах f ( xk ) = f k , k = 0,1,K , m и значению f ′( x j ) = f j′ в одном из узловx = xj.Степень полинома H n ( x ) в данном случае равна m + 1 .Будем искать H m+1 ( x ) в видеmH m+1 ( x ) = ∑ f kk =0k≠ j( x − x0 )K[ k ]K ( x − xm ) ⎛ x − x j ⎞⎜⎟+( xk − x0 )K[ k ]K ( xk − xm ) ⎜⎝ xk − x j ⎟⎠( x − x0 )K[ j ]K ( x − xm ).( x j − x0 )K[ j ]K ( x j − xm )Здесь выражения, стоящие под знаком суммы, суть обычные составляющие полиномав форме Лагранжа в узлах xk , k ≠ j , «усиленные» дополнительными множителями( x − x j ) ( xk − x j ) .
Слагаемое, отвечающее кратному узлу x = x j , выделено отдельно+ ⎡⎣ f j + α j ( x − x j )⎤⎦как особое. Постоянная α j подлежит определению.Из структуры H m+1 ( x ) видно, что H m +1 ( xi ) = f i , i = 0,1,K , m . Найдем производнуюH m′ +1 ( x j ) в узле x = x j . Слагаемые, стоящие под знаком суммы, содержат множители(x − x )j2и потому их производные обращаются в нуль при x = x j . Таким образом,- 53 ⎛ 1111 ⎞+K +++K+H m′ +1 ( x j ) = f j ⎜⎟⎟ + α j .⎜x −xx−xx−xx−x0jj −1jj +1jm ⎠⎝ jДля соблюдения требования H m′ +1 ( x j ) = f j′ следует положитьα j = f j′ − f j A j ,где для краткости обозначено1111Aj =+K+++K+.x j − x0x j − x j −1 x j − x j +1x j − xmИтак:m( x − x0 )K[ k ]K ( x − xm ) ⎛ x − x j ⎞H m+1 ( x ) = ∑ f k⎜⎟+( xk − x0 )K[ k ]K ( xk − xm ) ⎜⎝ xk − x j ⎟⎠k =0k≠ j+ ⎡⎣ f j + ( f j′ − f j Aj )( x − x j )⎤⎦( x − x0 )K[ j ]K ( x − xm ).( x j − x0 )K[ j ]K ( x j − xm )(45)(46)(47)Пример 2.Построить интерполяционный полином Эрмита для функции f (x) в случае, когдаво всех узлах интерполяции xk , k = 0,1,K , m заданы значения функции f ( xk ) = f k и еепервой производной f ′( xk ) = f k′ .В данном случае N k = 2 , k = 0,1,K , m , так что степень полинома H n (x ) равна2m + 1 .Запишем исходный полином в виде:m( x − x0 ) 2 K[ k ]K ( x − xm ) 2H 2 m+1 ( x ) = ∑ ⎡⎣ f k + α k ( x − xk ) ⎤⎦.(48)( xk − x0 ) 2 K[ k ]K ( xk − xm ) 2k =0Представление (48) удобно тем, что автоматически выполняются условияH 2 m +1 ( x k ) = f k .При вычислении производной полинома (48) в узле x = x k следует учесть, что всеслагаемые суммы, кроме слагаемого, отвечающему самому узлу xk , дают нулевойвклад в производную в этой точке, поэтому⎛ 2222 ⎞H 2′ m+1 ( xk ) = f k ⎜+K+++K+⎟ + α k = f k′ .x−xx−xx−xx−x0kk −1kk +1kk ⎠⎝ kОтсюдаα k = f k′ − 2 f k Ak ,где, числа Ak определяются формулой (46).