Самарский А.А., Гулин А.В. Численные методы (1989) (1095856), страница 27
Текст из файла (страница 27)
Одним из способов интерполирования на всем отрезке является интерполирование с помощью сплайн-функций. Сплайн-функцией или сплайном называют кусочно-полиномиальную функцию, определенную на отрезке (а, Ь) и имеющую на этом отрезке некоторое число непрерывных производных. Слово «сплайн» (английское зрИпе) означает гибкую линейку, используемую для проведения гладких кривых через заданные точки плоскости. Мы не будем придавать слову «сплайн» какого-либо определенного технического смысла. Преимуществом сплайнов перед обычной интерполяцией является, во-первых, их сходнмость и, во-вторых, устойчивость процесса вычислений.
В этом параграфе будет рассмотрен частный, но распространенный в вычислительной практике случай, когда сплайн определяется с помощью многочленов третьей степени (кубнческий сплайн). 140 1. Построение кубического сплайна. Пусть на [а, Ь] задана непрерывная функция )(х). Введем сетку а=х,<х,«...х„,<х„=Ь и обозначим ~~ — — 1(х,), 1=0, 1,..., У. Сплайном, соответствующим данной функции !(х) и данным узлам(хф „называется функция з(х), удовлетворяющая следую- щим условиям: а) на каждом сегменте (х, „х;], 1=1, 2, ..., У, функция з(х) является многочленом третьей степени; б) функция з(х), а также ее первая и вторая производные не- прерывны на (а, Ь]; в) з(х,) =1(хД, 1=0, 1, ..., У. Последнее условие называется условием интерполирования, а сплайн, определяемый условиями а) — в), называется также ин- терполяционным кубическим сплайном.
Докажем существование и единственность сплайна, определяе- мого перечисленными условиями. Приведенное ниже доказатель- ство содержит также способ построения сплайна. На каждом из отрезков [х, „х,], 1=1, 2, ..., М, будем искать функцию з(х) =з,(х) в виде многочлена третьей степени с; з;(х) =а~+ Ь|(х — х~)+ — '(х — х;)'+ — '(х — х)', (1) 2 6 х;,<х<х„(=1, 2,..., У, где аь Ь„сь А — коэффициенты, подлежащие определению. Пояс- ним смысл введенных коэффициентов. Имеем з~(х) =Ь|+ сс(х — х;)+ — '(х — х;)', 2 з~ (х) =сю+А(х — х4), з] (х) =А, поэтому а~=з4(х~), Ьс=з](хю), сс=з](хд, А=э~ (хс). Из условий интерполирования з(х,) =! (х,), 1=1, 2, ..., У, получаем, что а,=!" (х;), 1=1, 2, ..., М.
Доопределим, кроме того, а,=1(х,). Далее, требование непрерывности функции з(х) приводит к условиям з,(х,) =з,+,(х,), 1=1, 2, ..., Ь! — 1. Отсюда, учитывая выражения для функций з;(х), получаем при ~'=О, 1,..., У-! уравнения са, А, а~ = ам + Ьом (ХС вЂ” Хьн) + — (Х- — Хын)'+ — (Хс — Х4+ )'. 141 Обозначая Ь, х» — х» „перепишем эти уравнения в виде «$ «» «»Ь» — — ' с»+ — ' А =/» — /» „» = 1, 2, ..., № (2) 2 6 Условия непрерывности первой производной з»(х»)=з»,»(х»), »=1,2, ..., /1/ — 1, приводят к уравнениям А с« — — «» =ь» — ь» „ 2 »=2,3,, № (3) Из условия непрерывности второй производной получаем уравнения Аь,=с,— с» „»=2, 3,..., № (4) Убедимся в том, что эта система имеет единственное решение. Исключим из (5) — (7) переменные Ь», А, »=1, 2, ..., Ь/ — 1, и получим систему, содержащую только с», »=1,2,..., Ь/ — 1.
Для этого рассмотрим два соседних уравнения (7): «» «»* 1» — 1», Ь» = — с» — — А+ 2 6 «» /» Ь»-»=:с»» — =А-»+ 2 6 Л; и вычтем второе уравнение из первого. Тогда получим Ь вЂ” Ь», = 1 1» = — («»с» — «»,с»,) — — («»А — «;,А ) + /» /'- /'- 1- 2 6 Объединяя (2) — (4), получим систему 3/»/ — 2 уравнений относи. тельно 3»т' неизвестных Ь„сь А, »=1, 2,..., № Два недостающих уравнения получают, задавая те или иные граничные условия для з(х).
Предположим, например, что функция /(х) удовлетворяет условиям /" (а)=/" (Ь) О. Тогда естественно требовать, чтобы з" (а) =з" (Ь) О. Отсюда получаем з,(х»») =О, з»»(х„)=О, т. е. с,— А«,=0, с„О. Заметим, что условие с,— АЙ,=О совпадает с уравнением (4) при»=1, если положить с,=О. Таким образом, приходим к замкнутой системе уравнений для определения коэффициентов кубического сплайна: «,»/»=с» — с, „»=1, 2, ..., № с,=си=О, (5) «,'.
«,с» — — » А = Ь» — Ь; „» = 2, 3, ..., /Ч, (6) 2 «,' «,*. «»Ь» — — 'с»+ — »А=/; — /» „»=1,2, ..., № (7) Далее, из уравнения (5) получаем з 3 й»А = йс (сс — сс с), йс дА с = йс з (сс с — сс з) и, подставляя эти выражения в (8), приходим к уравнению 7 1» — )с- с Рс-с — 7»- '» йс,сс з+2(й. с+йс)сс,+й,с»=6~ Йс Йс„ Окончательно для определения коэффициентов с» получаем систему уравнений / 1»+с — 7» )с — 1»-» йссс» + 2 (йс+ йы,) сс+ йс,„сс = 6 ~ Й»„Й, (9) с'=1, 2,..., У вЂ” 1, с,=с„=0. В силу диагонального преобладания система (9) имеет единственное решение. Так как матрица системы трехдиагональная, решение легко найти методом прогонки, которая в данном случае устойчива (см.
п. 7 $4 ч. 1). По найденным коэффициентам с, коэффициенты Ь» и А определяются с помощью явных формул ' "с "с )с — Ус-с Ьс= —, сс — — А+ "с 1,2,...,У. ес — ес-1 А= Йс (10) Таким образом, доказано, что существует единственный кубический сплайн, определяемый условиями а) — в) и граничными условиями з" (а)=зл(Ь)=0.
Заметим, что можно рассматривать и другие граничные условия. 2. Сходимость процесса интерполирования кубическими сплайнами*). Покажем, что интерполирование кубическими сплайнами является сходящимся процессом, т. е. при неограниченном увеличении числа узлов М соответствующая последовательность сплайнфункций сходится к интерполируемой функции )(х).
Оценки погрешности интерполяции г(х)=[(х)-з(х) зависят от выбора сеток и от гладкости 1(х). Для простоты изложения будем рассматривать сейчас последовательность равномерных сеток шь=(х» а+сй, »=0, 1,..., Йс) з) Изучение этого раздела не обязательно для понимания дальнейшего ма. териала. Более подробное изложение ем. в [20). »43 Подставляя найденное выражение для Ь;Ь», в правую часть уравнения (6), получки Йс' 26,' 7 Ус — Гс-з Iс-с 7»-з йссс+й сс;,— — '' А,— — 'А=2 ~ Й вЂ” Й ). (8) з з с-с с шагом <ь=(Ь вЂ” а)/У. В этом случае основная система уравнений (9) принимает вид с;, + 4с; + с;„, = 67"„-„„ь = 1, 2, ..., ь<[ — 1, (11) с, с=О, где обозначено 7„-„ь = И;,— 2[<+[<,,)![ь'.
От функции 1(х) будем требовать существования непрерывной на [а, Ь) четвертой производной, )(х)енС"<[а, Ь). Кроме того, предположим, что выполнены граничные условия )н(а)=)"(Ь)=0 и такие же условия для сплайнов. Обозначим [д(х))~.„»1= шах [й(х)(, М, =[<(<в(х) [с,„. «~:-[»,Ы Пусть в,(х) — кубический сплайн, построенный для функции [(х) на сетке ы».
В следующей теореме приведены оценки погрешно- сти интерполяции для функции )(х) и ее производных 1'(х), [" (х). Теорема 1. Для [енС"<[а, Ь1 справедливьь оценки Р (х) — Я» (х) !с[а»1 ( Мь[ь»< (12) [)7' (х) — з» (х) [с, ( М,РР, (13) [< (х) 5» (х) /~ » ~ (Мь'ь (!4) Из этих оценок следует, что при й-<-0 (т. е. при У-<-оо) после- довательности з«,'(х), <=0, 1, 2, сходятся соответственно к функ- циям [<" (х), ь'=О, 1, 2. Для доказательства теоремы 1 потребуется следующая лем- ма 1, в которой даны оценки погрешности 1" (х<) — э„(хд в узлах сетки. Будем обозначать [<р(х)(~,„,= и<ах [<р(х<)!. «< Ъ<»» Л ем ма 1, Для ['(х)енС«<[а, Ь) справедливы оценки [ь'" (х) — з» (х) [с<„, ( — ' й'.
(15) Д о к а з а т е л ь с т в о. Поскольку э» (х,) =с<, где с — решение системы (!1), достаточно получить оценку для погрешности г,= =с,— [" (х;), <=1,2,...,Ж вЂ” 1. Подставляя с,=г<+ ьь в (11), получаем для г, уравнения г<,+4г<+г<«,=<у<, <=1, 2, ..., ь<[ — 1, г,=г«=0, (16) где <Р< = 6<'„-«< — (ь'«, + 4<'; + ь'« ). (17) Оценим решение системы уравнений (!6) через правые части <р,. Для этого перепишем уравнение (16) в виде 4г< — г<-,— г«, +<)< 144 н воспользуемся неравенствами 4!гс!к!г>->!+ !2>ь> !+!>р>!~2~2!~,„>+!!>р!!с,„,.
Так как это неравенство справедливо при всех [, оно выполня- ЕТСЯ И В тсй ТОЧКЕ Х>=ХЬа В КОтОРОй ДОСтИГаЕтСЯ МаКСИМУМ !г>!, т. е. в точке, где ! ',!=1 !!(.>. Поэтому выполняется неравенство 4!!г!!с,„> ( 2!Щ, > + !! >!>!!„.,„н т. е. Г() — ()!! [.~~ — !!И [. (18) и воспользуемся разложениями (см. п. 1 $ 4 ч. 1) аа >ч Ь„ > = Ь + — 1 ($>). й> е= (х'-> х>+>), (1)„-„>=~ ([>), ~>ЕБ (х; „хы,), справедливыми для [(х)~С">[а, [>). Тогда из (19) получим ь рч © [>>у>ч (~ 2 т.
е. при любом 4=1, 2,..., У вЂ” 1 справедлива оценка ! >р[! ( — й' [пах !1 (х) !, 2 ае[а,Ь> нли ~ >!> !~[„,ь> ( 1,5>>ЬМ„ где М4 — — шах !1~~ (х) !. Отсюда и из (!8) получаем требуемое не«е[а.Ь> равенство (15). Лемма 1 доказана.
Перейдем к доказательству теоремы 1. Получим сначала оценку (14) погрешности )а(х) — з"„(х), возникающей при интерполировании [(х) кубическим сплайном зь(х). Рассмотрим отрезок [ха ь х,), где 1 — любое из чисел 1, 2, ..., >>[. На этом отрезке з"„(х) с,+4[,(х — х,) и согласно (4) имеем с> — с,, з„(х) = с>+ ' (х — х;) Для того чтобы получить отсюда неравенство (15), осталось оценить 1>р[)„,[ >, где >р, определено согласно (17).
Перепишем >р, в виде р> = 6 ([-„„, — ~*) — [>4 К)„-., (19) или з„"(х) =ас;+(1 — а) с; „ где х — х~ х~ — х й 1 — а=— а л (20) Для сеточных функций о, определенных на сетке а„обозначим оки = акт + (1 — а) гп „ так что з,, (х) = с'!*>. Воспользовавшись тождеством ~" (х) =ф""+ У" (х) — ф ~, представим погрешность 1" (х) — з„" (х) в виде )х(х) — з„(х) =(); — с;)' '+ (1" (х) — )',)' '. Отсюда получаем неравенство ~ ~" (х) — зь(х) ) (~(~! — с;)'~~ )+ ! ()х(х) — ~;)' '~, (21) справедливое для любого хен(х, „х,). Оценим отдельно каждое нз двух слагаемых в правой части неравенства (21).