WYKŁAD 6 INTERPOLACJA FUNKCJAMI SKLEJANYMI (SPLAJNY)
W tym wyłdzie omówimy prolem interpolcji przy pomocy tzw. funcji slejnych, zwnych też (żrgonowo) spljnmi. W przeciwieństwie do metod interpolcyjnych opisnych w Wyłdzie nr, gdzie stosowliśmy jeden glolny wielomin dl cłego przedziłu interpolcji, w metodzie spljnów stosowne są funcje zdefiniowne jo wielominy nisiego stopni osono dl żdego odcin pomiędzy sąsiednimi węzłmi interpolcyjnymi. Te lolne wielominy są jedn t dorne, y oprócz wrunów interpolcji spełnić wruni slejeni w ti sposó, y cły spljn ył funcją o odpowiedniej regulrności. Soncentrujemy się przede wszystim n zgdnieniu interpolcji z pomocą spljnu uicznego, tj. funcji ciągłej wrz z pochodnymi do rzędu drugiego włącznie i zudownej z wielominów 3-ego stopni. Nleży wspomnieć, że funcje slejne (i ich dleo idące uogólnieni), mj wiele zstosowń prtycznych, w szczególności stnowią podstwowe nrzędzie współczesnego projetownie geometrycznego (CAD).
Rozwżmy ułd n węzłów interpolcyjnych {( x0, y0), ( x, y),...,( xn, yn )}, gdzie x0 x.. xn. Spljnem uicznym C = C(x) nzywmy funcje oreśloną n przedzile [,] i tą, że:. C x C 2 ( ) ([, ]), tj. jest on ciągł wrz z pierwszą i drugą pochodną w [,]. 2. C 3 2 ( x ) : C ( x ) [ x,,3,2,,0 x ] x x x, 0,.., n 2, tj. wewnątrz żdego podprzedziłu funcj t jest pewnym wielominem 3-ego stopni. 3. Dl żdego węzł funcj C(x) spełni wruni interpolcji tj. C( x ) y, 0,.., n.
Z powyższego wyni, że wielominy lolne muszą spełnić wruni interpolcyjne C ( x ) y, 0,.., n, orz wruni slejeni zpewnijące złożoną regulrność funcji C, minowicie C( x ) C ( x ) C ( x ) C ( x ) C ( x ) C ( x ) dl,.., n 2 (tj. w węzłch wewnętrznych). Zuwżmy, że licz postwionych wrunów jest równ 4n - 6. Cłowit licz nieznnych współczynniów lolnych wielominów jest ntomist równ 4(n - ) = 4n - 4. Ztem, prolem wyznczeni spljn uicznego jest niedooreślony. Potrzeujemy nłożyć dw dodtowe wruni t, y zgdnienie wyznczeni funcji C miło jednoznczne rozwiąznie.
y C y - (x) y y 2 C - (x) y n-2 C n-2 (x) y 0 C 0 (x) y y + y n- C (x) x 0 x x 2 x - x x + x n-2 x n- x
Spljn uiczny Zwyle (le nie zwsze) wruni dodtowe mją formę wrunów rzegowych nłożonych n pierwszą lu drugą pochodną funcji C, minowicie: C( x ) lu C( x0) ) i ( C( xn ) lu C( xn ) ) ( 0 W powyższych wrunch liczy α, β, γ, i δ są oczywiście zdne. Wżnym przypdiem szczególnym jest tzw. spljn nturlny. Jest to ti spljn uicznym tóry spełni wruni postci C( x ) 0, C( xn ) 0 0 Spljn nturlny posid interesującą włsność. Ozuje się, że spośród wszystich funcji ciągłych wrz z dwiem pierwszymi pochodnymi i interpolujących zdny ułd węzłów spljn nturlny m njmniejszą wrtość cłi z wdrtu drugiej pochodnej n przedzile interpolcji [,], tj. 2 C( x) dx min
Dołdniej, mmy nstępujące 2 TWIERDZENIE: Niech f C ([ x0, xn ]) ędzie dowoln. Złóżmy, że C( ) 0 i C( ) 0 lu C( ) f ( ) i C( ) f ( ). Wówczs Dowód: 0z zlozeni 0z zlozeni 2 2 [ C( x)] dx [ f ( x)] dx C( x)[ f ( x) C( x)] dx C( x)[ f ( x) C( x)] C ( x)[ f ( x) C( x)] dx przez czesci C( )[ f ( ) C( )] C( )[ f ( ) C( )] C ( x)[ f ( x) C( x)] dx n x n C( x) [ f ( x) C ( x)] dx 6,3 [ f ( x) C ( x)] dx x x 0 6 const 0 n,3 6,3 [ f ( x) C( x)] 0 xx 0 0 o C( x ) f ( x ), 0,,,.. n xx x x x
Otrzymliśmy równość Dlej mmy 2 C ( x) f ( x) dx [ C ( x)] dx. 2 2 2 0 [ f ( x) C( x)] dx [ f ( x)] dx 2 f ( x) C( x) dx [ C( x)] dx 2 2 [ f ( x)] dx [ C( x)] dx 2 [ C( x)] dx czyli 2 2 [ f ( x)] dx [ C( x)] dx. Koniec dowodu. Pozostje westi j w efetywny sposó wyznczyć (sonstruowć) spljn uiczny dl zdnego ułdu węzłów. W teorii, mogliyśmy zudowć i rozwiązć ułd równń (liniowych) dl nieznnych współczynniów lolnych wielominów C ( = 0,,..,n-2). Ułd ti zwierły 4n-4 równń, mcierz współczynniów miły dość psudną struturę. Ozuje się (j zwyle?), że istnieje lterntywn metod inteligentn!
Zcznijmy od spostrzeżeni, że drug pochodn poszuiwnej funcji slejnej C jest funcją włmi liniową (mówimy też jest spljnem liniowym). Możn ją zpisć nstępująco: y y 0 L (x) y y 2 y - L 0 (x) L - (x) y y + L (x) x 0 x x 2 x - x x + x n-2 x n- y n-2 L n-2 (x) y n- x C( x) C( x) [ x x ], x x x x C x C x x ( ) x ( ) x x x x lu C x m x x m x x ( ) h h gdzie m C( x ), h x x Cłując dwurotnie powyższą formułę otrzymmy postć lolnego wielominu C m m C ( x) ( x x) ( x x ) p ( x x) q ( x x ) 3 3 6h 6h przy czym symole p i q oznczją stłe cłowni. Czytelni ędzie uprzejmy upewnić się, że drug pochodn funcji C m istotnie odpowiednią postć.
Pói co, stłe cłowni yły dowolne. Terz doierzemy je t, y spełnić wruni interpolcji C ( x ) y, C ( x ) y Otrzymujemy wrtości stłych p i q y y m h p h p m h 2 6 6 h y y m h q h q m h 2 6 6 h i w onsewencji ostteczn postć lolnego wielominu wyrż się formułą m m y y C ( x) ( x x) ( x x ) m h ( x x) m h ( x x ) 3 3 6 6 6h 6h h h przy czym indes przyjmuje wrtości od 0 do n-2.
Pozostło oliczyć wrtości drugiej pochodnej spljnu w węzłch, czyli wielości m0, m,..., mn. Zuwżmy, że nie wyorzystliśmy jeszcze wrunu dopsowni pierwszej pochodnej sąsidujących wielominów lolnych. Różniczując otrzymną wyżej formułę dl C mmy m m y y C( x) ( x x) ( x x ) ( m m ) h 2 2 6 2h 2h h Rozwżmy węzeł x. Z powyższego wzoru wyni dl x x, że y y C( x ) m h m h m h m h d 3 6 3 6 h Wrtość pierwszej pochodnej wielominu C - w węźle x otrzymmy nstępująco: njpierw w ogólnej formule dl -szej pochodnej wielominu C podmienimy formlnie n -, nstępnie podstwimy x x. Oto rezultt (sprwdzić!) y y C ( x ) m h m h m h m h d 3 6 3 6 h d d
Z wrunów ciągłości -szej pochodnej w węzłch mmy C ( ) ( ) x C x, co po podstwieniu otrzymnych wzorów i prostych przesztłcenich prowdzi do nstępującego ułdu równń dl wielości m0, m,..., mn h m 2( h h ) m h m u,,2,.., n 2 y y y y gdzie oznczyliśmy u 6( d d ) 6 h h. Wiemy już, że do wyznczeni funcji slejnej C potrzeujemy dwóch dodtowych wrunów. Jeśli zdecydujemy się n oreślenie wrtości pierwszej pochodnej w węzłch srjnych to wruni te przyjmą postć C( x ) h m h m d 2h m h m 6( d ) 0 3 0 0 6 0 0 0 0 0 0 C( x ) h m h m d h m 2h m 6( d ) n 3 n2 n 6 n2 n2 n2 n2 n2 n2 n n2 Jeśli ntomist oreślimy wrtości rzegowe drugiej pochodnej to dodtowe równni są rdzo proste, minowicie m0 i mn. W szczególności, jeśli 0 to otrzymmy spljn uiczny nturlny.
Podsumowując, ompletny ułd równń liniowych dl wrtości drugiej pochodnej spljn uicznego w węzłch może yć zpisny nstępująco: m0 lu 2h0m0 h0m 6( d0 ), 0 h m 2( h h ) m hm u,,.., n 2 mn lu hn 2mn2 2hn 2mn 6( dn2), n Tm W notcji mcierzowo-wetorowej: r. Zuwżmy, że mcierz T jest trójdigonln. Niezerowe elementy tej mcierzy możn zpisć jo elementy trzech wetorów, nd c. c0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 0 T 0 0 c 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 0 c n2 n2 n2 n n
Wrtości zpisne w tych wetorch zleżą od przyjętego wrintu wrunów rzegowych i przedstwiją się nstępująco: 0 0 ( nie używny) h,,.., n 2 n 0 lu n hn 2 0 0 lu 0 h0 h,,.., n 2 n 0 ( nie używny) c0 lu c0 2h0 c 2( h h ),,.., n 2 cn lu cn 2hn 2 Do efetywnego rozwiązni ułdu liniowego z mcierzą trójdigonlną stosujemy specjlny wrint metody elimincji Guss zwny lgorytmem przegnini (Thoms). Przedstwimy ten lgorytm złdjąc, że rozwiązywny ułd równń m postć c0m0 0m r0 m c m m r m c m r n n2 n n n,,.., n2
Metod przegnini (lgorytm Thoms) Rozwżmy dw pierwsze równni ułdu c0m0 0m r0 m c m m r 0 2 i złóżmy, że c0 0. Njpierw normlizujemy pierwsze równnie dzieląc je przez c 0, nstępnie eliminujemy m 0 metodą przeciwnych współczynniów m0 0m 0, / c, r / c m0 cm m 2 r 0 0 0 0 0 0 i w ońcu sprowdzmy zmodyfiowne drugie równnie do postci znormlizownej ( c ) m m r / : ( c ) m 0 2 0 0 m,, 2 c 0 r c 0 0 W trcie oliczeń pojwiją się dwie pomocnicze wielości nd.
Zuwżmy, że nowy zreduowny ułd równń z niewidomymi m,..., mn wygląd t smo j oryginlny, tj. m struturę 3-digonlną i pierwsze z równń m postć 3- digonlną i pierwsze równnie m postć znormlizowną. Ułd ten jest ztem gotowy do ontunuowni procedury elimincji olejnych niewidomych. Po roch procedury elimincyjnej dochodzimy do etpu, w tórym ułd zwier niewidome o numerch od do n-. Nstępny ro poleg n elimincji niewidomej m metodą przeciwnych współczynniów. W szczegółch wygląd to nstępująco m m / m c m m 2 r ( c ) m m r m 2 r m,, 2 c c Podczs oliczeń pojwi się olejn pr wielości pomocniczych nd.
Osttecznie, po n- roch elimincji proces osiąg osttnie równnie ułdu. Osttni ro elimincji przeieg nstępująco m m / n mn2 cn mn rn ( c ) m r n2 n2 n n2 n n n2 n n n n2 n m n r c n n2 n n n2 n Zuwżmy, że osttnie równnie ułdu zwier jedynie dwie niewidome (przedosttnią i osttnią), przez co wyniu elimincji m n-2 otrzymujemy równnie z tylo jedną niewidomą m n-. Zuwżmy również, że podczs procesu elimincji otrzymliśmy reursywną formułę wiążącą dwie niewidome o olejnych numerch. Ogóln postć tej formuły wyni z pierwszego równni (znormlizownego) zreduownego ułdu po roch elimincji, minowicie m m, n 2, n 3,...,,0 W ten sposó wszystie wyeliminowne wcześniej niewidome mogą yć wyznczone w pętli chodzącej wstecz.
Metodę przegnini (lgorytm Thoms) możn podsumowć nstępująco: ETAP ( sweep up) / c ; r / c ; 0 0 0 0 0 0 for 0,.., n 3 do : n c end ; ETAP 2 ( sweep down) m n n2 n n n2 n ; ; ; for n 2,.., 0 do :! t petl chodzi wstecz! m end ; r c r c m
UWAGA: Poniewż metod przegnini jest pewnym wrintem metody elimincji Guss (ez wyoru elementu głównego vide Wyłd 7), to n mcierz trójdigonlną nleży nłożyć pewne ogrniczeni gwrntujące powodzenie oliczeń. Chodzi przede wszystim o gwrncję, że wszystie opercje dzieleni ędą wyonlne (nie wystąpi dzielenie przez zero). Możn pozć, że wruni wystrczjące dl powodzeni przeiegu oliczeń metodą przegnini mją nstępującą postć: ) c 0, c 0, 0, 0,,.., n 2 0 n 2) wruni digonlnej domincji c, i,.., n 2 c, c 0 0 n n Przynjmniej jedn z tych nierownosci musi yc OSTRA!