Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНТЕРПОЛЯЦИЯ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
320.51 Кб
Скачать

3.2 Построение кубического сплайна

Бу­дем как и рань­ше считать, что на от­рез­ке [a,b] за­да­ны уз­лы xi (i=0,1,...,n) и со­от­вет­ст­вую­щие значения ин­тер­по­ли­руе­мой функ­ции f(xi)fi. Гра­ни­цы от­рез­ка вхо­дят в чис­ло уз­лов, т. е. x0=a, xn=b. Та­ким об­ра­зом, уз­лы де­лят весь от­ре­зок на n час­тей [x0,x1], [x1,x2], ..., [xn–1,xn]. Ин­тер­по­ля­ци­он­ный ку­бичес­кий сплайн S(x) со­сто­ит из от­дель­ных сег­мен­тов s0(x), s1(x), ..., sn1(x), ка­ж­дый из ко­то­рых оп­ре­де­лен на со­от­вет­ст­вую­щем от­рез­ке, т. е. сег­мент si(x) от­но­сит­ся к от­рез­ку [xi,xi+1]. Функ­ции si(x) яв­ля­ют­ся мно­гочле­на­ми 3-й сте­пе­ни

, (10)

так что в це­лом сплайн-функ­ция S(x) со­дер­жит 4n ко­эф­фи­ци­ен­тов Ai, Bi, Ci, Di (i=0,1,..., n1). Ра­зу­ме­ет­ся, обычных ус­ло­вий (1), на­кла­ды­вае­мых на ин­тер­по­ля­ци­он­ную функ­цию, не­дос­та­точно для оп­ре­де­ле­ния та­ко­го чис­ла па­ра­мет­ров. Од­на­ко, как го­во­ри­лось вы­ше, сплайн дол­жен еще удов­ле­тво­рять ус­ло­ви­ям не­пре­рыв­но­сти пер­вой и вто­рой про­из­вод­ных, т. е. на гра­ни­цах от­рез­ков (во внут­рен­них уз­лах xi, i=1, 2, ..., n1) про­из­вод­ная ле­во­го сег­мен­та долж­на сов­па­дать с про­из­вод­ной пра­во­го сег­мен­та. За­пи­шем все эти ус­ло­вия:

, (11a)

, (11b)

, (11c)

. (11d)

Урав­не­ния (11a) и (11b) яв­ля­ют­ся ус­ло­вия­ми ин­тер­по­ля­ции и од­но­вре­мен­но за­да­ют ус­ло­вия не­пре­рыв­но­сти сплайн-функ­ции . Урав­не­ния (11c) и (11d) пред­став­ля­ют со­бой, со­от­вет­ст­вен­но, ус­ло­вия не­пре­рыв­но­сти пер­вой и вто­рой про­из­вод­ных. Та­ким об­ра­зом, все­го име­ет­ся 4n2 урав­не­ний (11) для на­хо­ж­де­ния 4n ко­эф­фи­ци­ен­тов, т. е. для од­но­значно­го оп­ре­де­ле­ния сплайн-функ­ции не хва­та­ет двух ус­ло­вий. Эти не­дос­таю­щие ус­ло­вия мо­гут быть за­да­ны про­из­воль­но, и в ре­зуль­та­те бу­дут по­лу­чать­ся раз­ные ва­ри­ан­ты ин­тер­по­ля­ци­он­ных ку­бичес­ких сплай­нов. В част­но­сти, ес­те­ст­вен­но­му сплай­ну (см. п. 3.1) со­от­вет­ст­ву­ют до­пол­ни­тель­ные гра­нич­ные ус­ло­вия

. (12)

Сле­ду­ет от­ме­тить, что ес­те­ст­вен­ный сплайн не яв­ля­ет­ся наи­луч­шим с точ­ки зре­ния ка­чест­ва при­бли­же­ния про­из­воль­ной функ­ции. На прак­ти­ке гра­нич­ные ус­ло­вия час­то вы­би­ра­ют иным об­ра­зом. Один из та­ких ва­ри­ан­тов реа­ли­зо­ван в биб­лио­теч­ной про­це­ду­ре SPLINE [4], ко­то­рая бу­дет рас­смот­ре­на поз­же.

Ре­ше­ние 4n урав­не­ний (11)-(12) яв­ля­ет­ся до­воль­но тру­до­ем­кой за­дачей. По­про­бу­ем со­кра­тить объ­ем не­об­хо­ди­мых вычис­ле­ний, за­пи­сав сплайн-функ­цию в та­кой фор­ме, что­бы ав­то­ма­тичес­ки учесть хо­тя бы часть тре­буе­мых ус­ло­вий (по­доб­но то­му, как это де­ла­ет фор­му­ла Ла­гран­жа в случае ин­тер­по­ля­ции мно­гочле­на­ми). В качес­т­ве пер­вой по­пыт­ки пред­ста­вим сег­мен­ты сплайн-функ­ции вме­сто (10) в ви­де

. (13)

За­пись (13) об­ла­да­ет ря­дом пре­иму­ществ. Во‑пер­вых, те­перь ав­то­ма­тичес­ки вы­пол­не­ны ус­ло­вия (11a), а ко­личес­т­во под­ле­жа­щих оп­ре­де­ле­нию ко­эф­фи­ци­ен­тов умень­ши­лось с 4n до 3n. Во‑вто­рых, но­вые ко­эф­фи­ци­ен­ты bi, ci и di име­ют бо­лее яс­ный смысл: они свя­за­ны со зна­че­ни­я­ми трех про­из­вод­ных сплайн-функ­ции в уз­лах ин­тер­по­ля­ции. Дей­ст­ви­тель­но,

(14)

Ока­зы­ва­ет­ся од­на­ко, что ко­личес­т­во па­ра­мет­ров сплай­на мож­но со­кра­тить в значитель­но боль­шей сте­пе­ни.

Пре­ж­де все­го, вве­дем обоз­начения:

(15)

Вме­сто об­щей пе­ре­мен­ной x вве­дем для ка­ж­до­го сег­мен­та ин­ди­ви­ду­аль­ную пе­ре­мен­ную ti, оп­ре­де­ляе­мую сле­дую­щим об­ра­зом:

. (16a)

Ко­гда значение x про­бе­га­ет ин­тер­вал от xi до xi+1, пе­ре­мен­ная ti из­ме­ня­ет­ся от 0 до 1. Ра­ди удоб­ст­ва вве­дем так­же до­пол­ни­тель­ную пе­ре­мен­ную, ко­то­рая при ана­ло­гичном из­ме­не­нии x бу­дет ме­нять­ся в об­рат­ном на­прав­ле­нии — от 1 до 0:

. (16b)

Не­труд­но за­ме­тить, что и сов­па­да­ют с мно­гочле­на­ми и , со­от­вет­ст­вен­но, в фор­му­ле Ла­гран­жа для ли­ней­ной ин­тер­по­ля­ции по уз­лам xi, xi+1 (см. урав­не­ние (8)).

Пред­ста­вим те­перь сег­мент сплай­на в ви­де

, (17)

где и – ко­эф­фи­ци­ен­ты, ко­то­рые долж­ны быть оп­ре­де­ле­ны из ус­ло­вий не­пре­рыв­но­сти про­из­вод­ных. Воз­мож­но, вы­ра­же­ние (17) вы­гля­дит не впол­не очевид­ным, по­это­му рас­смот­рим его бо­лее под­роб­но.

Пер­вые два сла­гае­мых в пра­вой час­ти – это ин­тер­по­ля­ци­он­ный мно­гочлен пер­вой сте­пе­ни в фор­ме Ла­гран­жа, ко­то­рый в край­них точках от­рез­ка [xixi+1] при­ни­ма­ет значения fi и fi+1, а при про­ме­жу­точных x осу­ще­ст­в­ля­ет ли­ней­ную ин­тер­по­ля­цию ме­ж­ду эти­ми значения­ми. Тем са­мым ока­зы­ва­ют­ся вы­пол­не­ны ус­ло­вия (11a) и (11b). Так как яв­ля­ет­ся мно­гочле­ном треть­ей сте­пе­ни, ли­ней­ные чле­ны не­об­хо­ди­мо до­пол­нить ку­бичес­кой по­прав­кой, ко­то­рая на кон­цах от­рез­ка долж­на об­ра­щать­ся в нуль, что­бы не бы­ли на­ру­ше­ны уже дос­тиг­ну­тые ус­ло­вия ин­тер­по­ля­ции и не­пре­рыв­но­сти сплай­на. По­след­нее сла­гае­мое (за­ключен­ное в квад­рат­ные скоб­ки) как раз яв­ля­ет­ся та­кой по­прав­кой. Дей­ст­ви­тель­но, вы­ра­же­ния и об­ра­ща­ют­ся в нуль в точках xi и xi+1, так что по­прав­ка ве­дет се­бя нуж­ным об­ра­зом не­за­ви­си­мо от значений па­ра­мет­ров . Мно­жи­тель пе­ред скоб­ка­ми до­бав­лен ра­ди удоб­ст­ва за­пи­си про­из­вод­ных, по­сколь­ку при диф­фе­рен­ци­ро­ва­нии и по x воз­ни­ка­ют мно­жи­те­ли . Ос­таль­ные осо­бен­но­сти фор­мы ку­бичес­кой по­прав­ки ста­нут по­нят­ны из даль­ней­ше­го.

По­лучим те­перь вы­ра­же­ния для про­из­вод­ных, по­сле­до­ва­тель­но диф­фе­рен­ци­руя (17) по x:

(18a)

(18b)

(18c)

Вы­ра­же­ние (18b) для вто­рой про­из­вод­ной име­ет зна­ко­мую фор­му: это фор­му­ла Ла­г­ран­жа для ли­ней­ной ин­тер­по­ля­ции ме­ж­ду зна­че­ния­ми и . Та­ким об­ра­зом, , . От­сю­да ста­но­вит­ся ясен смысл па­ра­мет­ров : с точно­стью до ко­эф­фи­ци­ен­та 6 они сов­па­да­ют со зна­че­ния­ми вто­рой про­из­вод­ной сплайн-функ­ции в уз­лах ин­тер­по­ля­ции. От­сю­да так­же сле­ду­ет, что , т. е. при­ня­тая фор­ма ку­бичес­кой по­прав­ки в (17) ав­то­ма­тичес­ки обес­печива­ет вы­пол­не­ние ус­ло­вий (11d) не­пре­рыв­но­сти вто­рой про­из­вод­ной.

Итак, сплайн, пред­став­лен­ный в ви­де (17), со­дер­жит n+1 па­ра­мет­ров (i=0,1,...,n), при­чем не­за­ви­си­мо от значений этих па­ра­мет­ров он обес­пе­чи­ва­ет ин­тер­по­ля­цию за­дан­ных зна­че­ний функ­ции в n+1 уз­лах xi и об­ла­да­ет не­пре­рыв­ной вто­рой про­из­вод­ной. Ос­та­лось до­бить­ся не­пре­рыв­но­сти пер­вой про­из­вод­ной пу­тем над­ле­жа­ще­го вы­бо­ра ве­ли­чин ; для это­го в на­шем рас­по­ря­же­нии име­ет­ся n1 урав­не­ний (11c) и два до­пол­ни­тель­ных крае­вых ус­ло­вия. Та­ким об­ра­зом, для по­стро­е­ния ку­би­чес­ко­го ин­тер­по­ля­ци­он­но­го сплай­на дос­та­точ­но ре­шить сис­те­му не бо­лее чем n+1 ли­ней­ных урав­не­ний, а во­все не 4n или 3n, как ка­за­лось вна­ча­ле.

Под­став­ляя вы­ра­же­ния (18a) для пер­вой про­из­вод­ной с со­от­вет­ст­вую­щи­ми ин­дек­са­ми в ус­ло­вия (11c), по­лучим ос­нов­ную сис­те­му урав­не­ний для на­хо­ж­де­ния па­ра­мет­ров ку­бичес­ко­го сплай­на:

или, пе­ре­но­ся все не­из­вест­ные в ле­вую часть,

(19)

Как мож­но ви­деть, ка­ж­дое урав­не­ние со­дер­жит лишь три не­из­вест­ных с по­сле­до­ва­тель­но иду­щи­ми ин­дек­са­ми, т. е. мат­ри­ца сис­те­мы (19) яв­ля­ет­ся трех­диа­го­наль­ной. Эле­мен­ты, стоя­щие на глав­ной и по­бочных диа­го­на­лях, стро­го по­ло­жи­тель­ны, по­сколь­ку мы пред­по­ла­га­ем, что уз­лы ин­тер­по­ля­ции упо­ря­дочены по воз­рас­та­нию, и сре­ди них нет сов­па­даю­щих.

Сис­те­му (19) не­об­хо­ди­мо до­пол­нить дву­мя урав­не­ния­ми, вы­ра­жаю­щи­ми крае­вые ус­ло­вия. Про­ще все­го эти ус­ло­вия за­да­ют­ся в случае ес­те­ст­вен­но­го сплай­на, по­сколь­ку из (12) сле­ду­ет, что . Па­ра­метр вхо­дит лишь в пер­вое, а – в по­след­нее урав­не­ние. Уб­рав эти два па­ра­мет­ра из (19), при­дем к сис­те­ме n1 урав­не­ний для оп­ре­де­ле­ния n1 не­из­вест­ных (i=1, 2, ..., n1). За­ме­тим, что в си­лу трех­диа­го­наль­но­сти мат­ри­цы ре­ше­ние мо­жет быть по­лучено по уп­ро­щен­но­му ал­го­рит­му, по­сколь­ку во вре­мя пря­мо­го хо­да ме­то­да Га­ус­са ка­ж­дое не­из­вест­ное тре­бу­ет­ся ис­ключить лишь из од­но­го урав­не­ния, а на ста­дии об­рат­но­го хо­да ка­ж­дое урав­не­ние тре­уголь­ной сис­те­мы со­дер­жит не бо­лее двух не­из­вест­ных. При этом эле­мен­ты, стоя­щие на диа­го­на­ли, боль­ше со­сед­них не­диа­го­наль­ных эле­мен­тов (т. наз. мат­ри­ца с диа­го­наль­ным пре­об­ла­да­ни­ем), что по­зво­ля­ет от­ка­зать­ся от вы­бо­ра ве­ду­щих эле­мен­тов без ущер­ба для ус­тойчиво­сти ре­ше­ния.

Рас­смот­рим еще один ва­ри­ант гра­ничных ус­ло­вий, пред­ло­жен­ный в кни­ге [Error: Reference source not found]. Он со­сто­ит в за­да­нии ве­личины треть­ей про­из­вод­ной для край­них сег­мен­тов сплайн-функ­ции. (Так как сег­мен­ты яв­ля­ют­ся ку­бичес­ки­ми мно­гочле­на­ми, то тре­тья про­из­вод­ная в пре­де­лах од­но­го по­дын­тер­ва­ла со­хра­ня­ет по­сто­ян­ное зна­че­ние.) В ка­чес­т­ве гра­ничных ве­личин при­ни­ма­ют­ся при­бли­жен­ные (ус­ред­нен­ные) зна­че­ния треть­ей про­из­вод­ной, оце­ни­вае­мые, со­от­вет­ст­вен­но, по четы­рем пер­вым или четы­рем по­след­ним уз­лам с по­мо­щью раз­де­лен­ных раз­но­стей. Ве­ли­чи­ны , оп­ре­де­ляе­мые в со­от­вет­ст­вии с (15), на­зы­ва­ют­ся пер­вы­ми раз­де­лен­ны­ми раз­но­стя­ми; их мож­но рас­смат­ри­вать как при­бли­жен­ную оцен­ку пер­вой про­из­вод­ной в про­ме­жут­ке ме­ж­ду со­сед­ни­ми уз­ла­ми. Из взя­тых по­пар­но пер­вых раз­но­стей по­лучают вто­рые раз­но­сти , причем ве­личина яв­ля­ет­ся оцен­кой вто­рой про­из­вод­ной на двух смеж­ных под­ын­тер­ва­лах; из вто­рых раз­но­стей оп­ре­де­ля­ют тре­тьи и т. д.:

В час­т­но­сти, оцен­ка треть­ей про­из­вод­ной в про­ме­жут­ке ме­ж­ду уз­ла­ми xi и xi+3 рав­на .

С учетом вы­ра­же­ний (18c) для треть­ей про­из­вод­ной сплайн-функ­ции, рас­смат­ри­вае­мые гра­ничные ус­ло­вия мо­гут быть за­да­ны урав­не­ния­ми

Ум­но­жая пер­вое урав­не­ние на , а вто­рое — на , по­лу­ча­ем:

(20)

Объ­е­ди­няя урав­не­ния (19) и (20), по­лучаем сис­те­му n+1 урав­не­ний для на­хо­ж­де­ния всех па­ра­мет­ров, причем мат­ри­ца этой сис­те­мы яв­ля­ет­ся сим­мет­рич­ной, что еще бо­лее уп­ро­ща­ет про­це­ду­ру ре­ше­ния и по­зво­ля­ет сэ­ко­но­мить па­мять, так как тре­бу­ет­ся хра­нить со­дер­жи­мое толь­ко глав­ной и од­ной по­бочной диа­го­на­ли.

По­сле то­го, как тем или иным спо­со­бом оп­ре­де­ле­ны зна­че­ния , мож­но вер­нуть­ся к ко­эф­фи­ци­ен­там bi, ci, di в за­пи­си сплай­на (13). Со­пос­тав­ляя вы­ра­же­ния про­из­вод­ных (14) и (18), лег­ко по­лу­чить урав­не­ния, свя­зы­ваю­щие два на­бо­ра па­ра­мет­ров:

(21)

Имен­но так по­сту­па­ет биб­лио­теч­ная про­це­ду­ра SPLINE. Вы­чис­лив по урав­не­ни­ям (19)-(20) па­ра­мет­ры как ве­ли­чи­ны для внут­рен­не­го поль­зо­ва­ния, она вы­да­ет в ка­чес­т­ве ко­нечно­го ре­зуль­та­та ко­эф­фи­ци­ен­ты сплай­на, пред­став­лен­но­го в фор­ме (13).