Eötvös Loránd Tudományegyetem Természettudományi Kar Interpoláció Szakdolgozat Mihalkó Zita Matematika BSc Matematikai elemz szakirány Témavezet : Kurics Tamás Alkalmazott Analízis és Számításmatematikai Tanszék 200
Tartalomjegyzék. Bevezetés 2 2. Motiváció 3 3. Polinomiális interpoláció 4 3.. Lagrange-interpoláció.............................. 6 3.2. Newton-interpoláció............................... 8 3.3. Osztott dierenciák............................... 9 3.4. Neville-rekurzió................................. 3.5. Hibabecslés................................... 2 3.6. Hermite-interpoláció.............................. 6 4. Trigonometrikus interpoláció 9 5. Spline interpoláció 23 5.. B-spline..................................... 25 6. Bézier-polinomok 26 7. Alkalmazás 30 8. Összefoglalás 3
. Bevezetés Az interpoláció matematikai közelít módszer. A természettudományok gyakori feladata, hogy a mérésekb l, mintavételezésekb l származó adatai (adatpontjai) segítségével próbál az ismeretlen értékekre következtetni. Ehhez egy, az adatpontokra szorosan illeszked függvényt konstruál. Ez a függvény annál pontosabb, minél több adat áll rendelkezésünkre. Az interpoláció során célunk az f(x) függvény alakjának egy I(x) függvénnyel való minél pontosabb megközelítése olyan formában, hogy a közelít függvény is áthaladjon az ún. tabulált pontokon, tehát elégítse ki az I(x i ) = f(x i ) = y i feltételt. Interpolációról akkor beszélünk ha az x pont, melyben az f(x) értéket szeretnénk megbecsülni, a megadott pontok által meghatározott intervallumon belül helyezkedik el. Az interpolációs módszereket több osztályba sorolhatjuk. A közelítési függvények típusát tekintve lehetnek: Polinomiálisak: a közelít függvények polinomok (a legelterjedtebb módszerek). Az interpoláció segítségével n+ különböz számpárra, vagyis n+ pontra egyértelm en illeszthet egy legfeljebb n-ed fokú polinom, amely átmegy az adott pontokon. Trigonometrikusak: trigonometrikus függvények segítségével interpolálunk. Ezek az interpolációval egybekötött Fourier-módszerek alkalmazása esetén hasznosak. Attól függ en, hogy milyen más tulajdonságokkal szeretnénk felruházni a közelít függvényt, az interpoláció lehet: Lokális: ha az I(x) közelít függvény meghatározásakor az x közelében fellelhet néhány pontot vesszük gyelembe. Ezek a módszerek ismételten alkalmaznak egy algoritmust a teljes ponthalmaz egy kis részére. Globális: ha az összes rendelkezésre álló (x i, y i ) pontot felhasználjuk, bármely x értékr l lenne szó; a pontok egyetlen függvényt határoznak meg. Mivel egy új pont függvényértékének meghatározásához minden ismert pontot felhasználunk, emiatt az eljárás számításigényes. Ezek a módszerek általában simább függvényeket eredményeznek, amelyeken a változások kevésbé kiugróan jelennek meg. 2
2. Motiváció Az interpoláció segítsével nem csupán elméleti matematikai kérdésekre, hanem a gyakorlati életb l vett problémákra is választ kaphatunk. Egy ilyen gyakorlatból ered numerikus feladat a k olaj-lel helyek feltárásának problémája (ld. [3]). A k olaj u = u(x, y, z) nyomása a földalatti rétegekben leírható az ( a u ) + ( a u ) + ( a u ) = 0 () x x y y z z egyenlettel, amelyb l az u függvény bizonyos mellékfeltételek esetén határozható meg. Ezen feltételek egyike, hogy az () egyenletben szerepl a = a(x, y, z) együttható a vizsgált tartományban mindenhol ismert, pozitív és korlátos legyen. Ez az a a k olajat rejt k zet, valamint a k olaj tulajdonságaitól függ. Az a együtthatót fúrással állapíthatjuk meg néhány (x k, y k ) helyen és sok z értékre. Mivel az a együttható ismerete szükséges az egyenlet megoldásához, a fúrás viszont költséges, ezért kell a meglév információkat minél jobban hasznosítani, hogy abból kapjuk az együtthatót az egész vizsgált tartományban. Egy másik, elméleti matematikai feladat (ld. [2]): Egy nagyméret A mátrix valamelyik közbüls λ sajátértékét csak költségesen lehet kiszámítani. Gyakori eset, hogy az A mátrix folytonosan függ egy x paramétert l, ennek következtében λ az x folytonos függvénye lesz. Célszer nek t nik a λ függvényt csak egyes paraméterértékekre kiszámítani és ezután valahogy simán összekötni interpolálni a kapott λ-értékeket lényegesen kevesebb m veletigénnyel járó eljárást használva. Ekkor azzal kell számolnunk, hogy a csökkentett m veletigény ára az lesz, hogy a pontos értékekt l eltávolodva növekv hibával kapjuk a λ(x) értékét. Amennyiben viszont újabb, pontosan kiszámított λ-értékeket beiktatunk, azt kívánjuk, hogy az említett hiba csökkenjen. Nyilvánvaló, hogy a feladat lényege nem változik, ha λ(x) nem sajátérték, hanem az x változónak egy másik, költségesen kiszámítható függvénye. 3
3. Polinomiális interpoláció A matematikusok évszázadok óta vizsgálják a polinomokat számos tulajdonságuk miatt. A polinomok olyan kifejezések, melyben csak számok és változók egész kitev j hatványainak összegei és szorzatai szerepelnek, így kényelmesen lehet velük számolni. Kiszámításuk egyszer és a Horner-módszerrel a legkisebb m veletigénnyel megoldható. Ezért természetes, ha polinomokat használunk bonyolultabb függvények közelítésére. Emlékeztet ként: n N {0} esetén jelölje P n a p(x) = a k x k összegképlettel megadható, legfeljebb n-edfokú polinomok terét, ahol az x valós változó valós a 0,..., a n együtthatókkal. Egy p P n polinomot n-edfokúnak nevezünk, ha a n 0. Az [a, b] intervallumon (a < b) folytonos, valós érték függvények C[a, b] terének egy altereként tekintünk P n -re. A Horner-módszer segítségével könnyen kiszámítható p(x) helyettesítési értéke. Ehhez kissé átalakítjuk a polinomot: p(x) = (... (a n x + a n )x + + a )x + a 0. Tehát, ha egy α számról szeretnénk megtudni, gyöke-e a polinomnak, a következ képp számoljuk ki a helyettesítési értékét: p(α) = (... (a n α + a n )α + + a )α + a 0. A módszer lényeges eleme az ún. Horner-séma, vagyis a fenti egyenlet értékeinek táblázatba rendezése a számolás megkönnyítésének céljából. a n a n a n 2... a 0 α a n αa n + a n α(αa n + a n ) + a n 2... p(α) A séma második sorában szerepl elemek az x α-val vett polinomosztás együtthatói. Tehát, ha egy gyököt megtalálva folytatjuk a módszert, végül eljutunk a polinom gyöktényez s alakjához. 4
m N esetén jelölje C m [a, b] az [a, b]-n m-szer folytonosan dierenciálható valós érték függvényeket. Mivel az algebra alaptételéb l következ polinomokra vonatkozó egyik lényeges tulajonságra a kés bbiekben többször hivatkozunk, hasznos, ha felidézzük, és mutatunk rá egy egyszer indukciós bizonyítást.. Tétel. (ld. [5]) Tegyük fel, hogy n N {0}. Ekkor minden P n -beli polinomnak legfeljebb n gyöke van (multiplicitásokkal számolva) vagy a polinom azonosan nulla. (Amelynek több mint n gyöke van, azonosan nulla, azaz minden együtthatónak egyenl nek kell lennie nullával.) Bizonyítás: Nyilvánvalóan az állítás igaz n = 0-ra. Tegyük fel, hogy bebizonyítottuk néhány n > 0-ra. Legyen most p P n+ és tegyük fel, hogy p-nek több mint n + gyöke van. A binomiális tételt, valamint az x k = [(x z) + z] k átalakítást használva átírjuk a polinomot a következ formába: n+ p(x) = b k (x z) k + b 0, k= ahol b 0, b,..., b n+ együtthatók a 0, a,..., a n+ -t l és z-t l függenek. Ha z a p egy gyöke, akkor b 0 = 0 kell legyen, és ez azt jelenti, hogy p(x) = (x z)q(x), ahol q P n. Nyilvánvalóan q-nak több mint n gyöke van, mivel p-nek n + -nél több gyöke van. Mivel az indukciós feltétel miatt q 0, ez azt jelenti, hogy p 0. 2. Tétel. Az u k := x k egytagú kifejezések minden k = 0,..., n esetén lineárisan függetlenek. Bizonyítás: Az el z állítás bizonyítására tegyük fel, hogy a k u k = 0, vagyis a k x k = 0, x [a, b]. Ekkor a polinom a 0, a,..., a n együtthatói közül több mint n egyenl nullával, és az. tételb l következ en minden együttható nulla. Az egytagú u 0,..., u n kifejezések lineáris függetlensége azt jelenti, hogy P n -ben egy bázist alkotnak, és ekkor a P n dimenziója n + lesz. 5
3.. Lagrange-interpoláció 3. Tétel. (ld. [5]) Adott n + különböz pont az [a, b] intervallumon. Legyenek ezek x 0,..., x n. Ezenkívül adott n + különböz valós érték: y 0,..., y n. Ekkor pontosan egy olyan p n P n polinom létezik, amelyre teljesül a p n (x j ) = y j, j = 0,..., n. (2) feltétel. Ez a polinom megadható p n = L n := alakban, ahol l k az alábbi módon számolható: y k l k (3) l k (x) = n i=0 i k x x i x k x i, k = 0,..., n. L n -et Lagrange-féle interpolációs polinomnak nevezzük. Bizonyítás: Meggyelhetjük, hogy l k P n (k = 0,..., n), továbbá: l k (x j ) = δ jk, j, k = 0,..., n, (4) ahol δ jk = {, ha j = k, 0, ha j k. Ebb l következ en (3) alapján adott L n benne van a legfeljebb n-edfokú polinomok osztályában (P n -ben), valamint megfelel az el írt (2)-es interpolációs feltételnek. Az interpolációs polinom unicitásának bizonyításához tegyük fel, hogy L n,, L n,2 P n két (2)-nek eleget tev nem azonos polinom. Ekkor a különbségük, L n := L n, L n,2 teljesíti az L n (x j ) = 0, j = 0,..., n feltételt. Tehát az L n P n polinomnak n + gyöke van és ez az. tétel alapján csak úgy lehetséges, ha azonosan nulla, amib l következ en L n, = L n,2. Tehát végül a következ képlethez jutottunk: L n (x) := y k l k (x) = y k n i=0 i k x x i x k x i, (5) 6
vagyis ahol L n (x) = ω 0 :=, ω m (x) := y k m ω n+ (x) ω n+(x k )(x x k ), (6) (x x k ), m =, 2,.... (7). Példa. Legyen x = (, 0, ), a hozzá tartozó y = (6, 3, 2). Olyan másodfokú polinomot keresünk, amely átmegy a (x i, y i ) pontokon (0 i 2). l 0 (x) = x x x 0 x x x 2 x 0 x = x(x ) ( )( 2) = x(x ), 2 l (x) = x x 0 x x 0 x x 2 x x 2 = (x + )(x ) ( )) = (x 2 ), l 2 (x) = x x 0 x 2 x 0 x x x 2 x = (x + )x 2 = x(x + ), 2 L 2 (x) = 2 y k l k (x) = 6l 0 (x) + 3l (x) + 2l 2 (x) = = 3x(x ) 3(x 2 ) + x(x + ) = x 2 2x + 3. A (2) feltétel ekvivalens egy lineáris egyenletrendszerrel. Az L n polinomot kereshetjük L n (x) = n a k x k alakban, ahol az a j együtthatók egyel re ismeretlenek. Ezek meghatározásához az a 0 + a x k + + a n x n k = y k, k = 0,,..., n, (8) lineáris egyenletrendszert kell megoldanunk. A 3. tétel szerint kell, hogy ennek mátrixa reguláris legyen. A (8)-as rendszer mátrixa az ún. Vandermonde-féle mátrix (V). Ez a mátrix reguláris, ha x j x k, j k. Determinánsára pedig a következ összefüggés teljesül: det(v ) = 0 j<k n (x k x j ). Összefoglalva a feladatot mátrix-vektor alakban: x 0 x 2 0... x n 0 a 0 y 0 V a = y, V := x x 2... x n............, a := a..., y := y.... x n x 2 n... x n n a n y n 7
A Lagrange által 794-ben felfedezett (3)-as kifejezés nagyon hasznos elméleti vizsgálatokhoz az egyszer szerkezete miatt. Azonban a gyakorlatban csak kis n-ek esetére alkalmazható. Nagy n-ek esetén az l k -k nagyon nagyok, és nagy az oszcillációjuk, ez pedig a Lagrange-interpolációs polinom rosszult kondicionáltságát okozza. Newton már 696-ban, a kvadratúra-formulákról szóló tanulmányában eljutott egy olyan interpolációs formulához, amely praktikusabb a számítási célokra. 3.2. Newton-interpoláció Az interpolációs polinom kiszámításának egy lényegesen kevesebb m veletigénnyel járó rekurzív módja az ún. Newton-féle rekurzió. Jelölje N m azt a legfeljebb m-edfokú polinomot (0 m n), amely interpolálja az {x j, y j } m j=0 pontokat. Az interpolációs feladat unicitása miatt N m(x) = L m (x), csak N m (x) felírásmódja lesz más. Az m = 0 esetben N 0 = b 0, b 0 := y 0, (9) és általában az N m (x) = N m (x) + b m ω m, m =,..., n (0) rekurzióval állítható el, ahol ω m (x) (7) szerint deniálható. Deníció szerint ugyanis N m N m egy legfeljebb m-edfokú polinom, amely mivel gyökei x = x 0,..., x m valóban ω m (x) konstansszorosa. Mivel N m egyértelm en meghatározott, így b m is: b m = m y k m i=0 i k x k x i. () Mindebb l következik a Newton-interpolációs polinom alakja, melyet a következ képlet ad: N n (x) := A b m együtthatók m =, 2 esetben: b = y y 0 x x 0, b 2 = b m ω m (x). (2) m=0 x 2 x 0 ( y2 y y ) y 0. x 2 x x x 0 8
3.3. Osztott dierenciák A b m együtthatókra keresünk egy általánosabb, kényelmesebb kiszámítási módot.. Deníció. Adott n + különböz pont az [a, b] intervallumon: x 0,..., x n, valamint n + valós y 0,..., y n érték. Az x j pontbeli k-adrend D k j rekurzív módon deniáljuk: osztott dierenciát a következ D 0 j := y j, j = 0,..., n, (3) Dj k := Dk j+ Dk j, j = 0,..., n k, k =,..., n. (4) x j+k x j Az osztott dierenciák az {x j, y j } n j=0 adatok sorrendjét l nem függenek, mert felcserélve az (x r, y r ) és (x s, y s ) adatokat, az összeg nem változik, csupán az s-edik és r-edik tagja cserél dik fel.. Megjegyzés. A D k j k-adrend osztott dierencia egy másik, gyakran használt jelölési módja: f[x j,..., x j+k ].. Lemma. (ld. [5]) Bizonyítás: j+k Dj k = m=j j+k y m i=j i m x m x i, j = 0,..., n k, k =,..., n. (5) (ld. [5]) Teljes indukcióval igazolhatjuk a lemmát. Nyilvánvalóan k = -re igaz az állítás. Tegyük fel, hogy k -re már beláttuk (k 2). Ekkor (5)-öt, az indukciós feltételt, és a ( ) = x j+k x j x m x j+k x m x j azonosságot használva kapjuk: D k j = = x j+k x j x j+k x j j+k +y j+k i=j j+k m=j+ j+k m=j+ y m j+k i=j+ i m j+k x m x i (x m x j+k )(x m x j ) m=j ( y m x m x j+k x m x j x j+k x i + y j j+k i=j+ 9 x j x i = j+k y m i=j i m ) j+k j+k m=j i=j+ i m j+k y m x m x i = x m x i + i=j i m x m x i,
amivel bizonyítottuk is a lemmát. Tehát a keresett b m együtthatók az. lemma alapján j = 0 esetben adódnak: b m = D m 0 = f[x 0,..., x m ]. Az osztott dierenciákat célszer a dierenciaséma-táblázat szerint rendezni: x 0 y 0 = D 0 0 D 0 x y = D 0 D 2 0 D x 2 y 2 = D 0 2.. x n y n = D 0 n x n y n = D 0 n. D n 0. D n A teljes táblázat el állításához 2 n2 +O(n) m velet ( m velet = 2 kivonás és osztás) szükséges. Az egyes b m együtthatók a dierenciaséma-táblázat háromszögének fels oldaláról olvashatók le. 2. Példa. Adott 4 pont: (0, 0), (, 2), (3, 8), (4, 9), és keresett az a legfeljebb 3-adfokú polinom, amely illeszkedik az adott pontokra. Ekkor a dierenciaséma részletesen: 0 0 2 0 = 2 0 3 2 2 = 3 0 3 8 2 = 3 2 3 3 = 3 4 0 4 3 3 8 = 2 4 3 9 8 = 4 3 4 9 0
x x x y L 2(x) A b 0,..., b n együtthatókat a háromszög fels oldaláról olvashatjuk le: 0, 2, 3, 4. Ezeket felhasználva kapjuk az N 3 polinomot: N 3 (x) = 2x + 3 x(x ) x(x )(x 3). 4 A dierenciaséma segítségével könnyebben megoldható további (x n+, y n+ ) adatok hozzáadása, mint a Lagrange-interpoláció felírásából kiindulva. Ehhez a dierenciasémát az új adattal egészítjük ki és csak egy további (pl. alsó) átlóját számítjuk ki. Ebben az esetben ha a séma végén nulla szerepel, akkor az interpolációs polinom nem változik, általában viszont új adat hozzáadásával az interpolációs polinom fokszáma növekszik. 3.4. Neville-rekurzió Abban az esetben, ha az interpolációs polinom explicit alakjának megadása nem lényeges, inkább a behelyettesítési értékek fontosak, a Neville-rekurzió nagyon praktikus. Legyenek {x j } n j= alappontok, {y j} n =0 a hozzá tartozó értékek, (x x j). Ekkor a Neville-rekurzió általános alakja: L 2...(m ) (x) (x x) L 2...m (x) = x m x L 23...m (x) (x m x), ahol L 2...(m ) (x) (x x) L 23...m (x) (x m x) = det ( L2...(m ) (x) (x x) L 23...m (x) (x m x) ) = = L 2...(m ) (x)(x m x) L 23...m (x)(x x). Így könnyen eljuthatunk L 2...n (x)-hez, ami az n-edfokú Lagrange-interpolációs polinom x helyen vett helyettesítési értékét jelöli. A rekurzió elemei egy dierenciasémához hasonló táblázatba rendezhet k: x 2 x 2 x y 2 L 23 (x) L 23 (x) x 3 x 3 x y 3 L 234 (x) L 34 (x) L 234 (x) x 4 x 4 x y 4
L...m kiszámítási módja m = 2, 3 esetben: L 2 (x) = y (x x) x 2 x y 2 (x 2 x), L 2 (x ) = y, L 2 (x 2 ) = y 2. L 23 (x) = L 2 (x) (x x) x 3 x L 23 (x) (x 3 x), L 23 (x ) = y 0 x 3 x L 23 (x ) (x 3 x ) = y, L 23 (x 2 ) = y 2 (x x 2 ) x 3 x y 2 (x 3 x 2 ) = y 2, L 23 (x 3 ) = y 3. 3.5. Hibabecslés Miután eljutottunk az L n, N n interpolációs alakokhoz, az eredményt úgy is értelmezhetjük, hogy létezik egy f függvény, amely az interpolációs feladat y j = f(x j ) értékeit adja: f(x j ) = f j, j = 0,..., n, és ezt a függvényt approximáltuk az L n polinommal. Mivel a Lagrange-interpolációs polinom által adott approximáció az alapja több numerikus eljárásnak (pl. numerikus integrálás, közönséges dierenciálegyenletek megoldása) fontos kérdés, hogy L n (x) mennyire tér el f(x)-t l. Legyen f egy olyan (n+)-szer folytonosan dierenciálható függvény, amelyhez konstruálunk egy p n (x) P n polinomot, amelyre p n (x j ) = y j = f(x j ) = f j, j = 0,,..., n. Becslést szeretnénk adni az f(x) p n (x) eltérésre.. Állítás. (ld. [6]) Ha f C (n+) [a, b], akkor minden x [a, b]-hez létezik olyan ξ = ξ x (a, b) szám, amely mellett ahol ω n+ (x)-et (7) alapján számoljuk. f(x) p n (x) = f (n+) (ξ) (n + )! 2 ω n+ (x), (6)
Bizonyítás: ([6] szerint) Legyen x [a, b], x x j, j = 0,,..., n, ( x tetsz leges, de rögzített pont). Célunk: f( x) p n ( x) becslése. Ehhez vezessünk be egy új függvényt (ϕ(x)). ϕ(x) = f(x) p (x) Kω n+ (x), (7) ahol K egyel re tetsz leges állandó, ω n+ (x) (7) szerint adott, ϕ(x j ) = 0. Válasszuk meg a K állandót úgy, hogy ϕ( x) = 0, azaz ϕ( x) = f( x) p n ( x) Kω n+ ( x) = 0. Ekkor K = f( x) p n( x). (8) ω n+ ( x) A (7), (8) alapján létrehozott ϕ függvény az {x 0,..., x n, x} pontokban is nulla. Tehát n + 2 db pontban nulla. A Rolle-tétel alapján legalább n+ pontban ϕ (x) = 0. Ezt a lépést folytatva legalább n darab pontban ϕ (x) = 0, és így tovább egészen addig, míg el nem jutunk a ϕ (n+) deriváltig, ami legalább egy pontban nulla. Jelöljön ξ egy ilyen pontot. Vagyis ϕ (n+) (ξ) = 0. Ekkor ϕ(x) = f(x) p n (x) Kω n+ (x), ϕ (n+) (x) = f (n+) (x) 0 K(n + )!, ϕ (n+) (ξ) = f (n+) (ξ) K(n + )! = 0, K = f (n+) (ξ) (n + )! = f( x) p n( x), ω n+ ( x) Vezessünk be néhány jelölést: f( x) p n ( x) = f (n+) (ξ) (n + )! ω n+( x). h := max j n x j x j az alappontok közötti legnagyobb távolság, ω n+ (x) = (x x 0 )(x x ) (x x n ) (b a) n+. 3
Ekkor f(x) p n (x) (n + )! (n + )! max f (n+) (x) ω n+ (x) [a,b] max f (n+) (x) (b a) n+. [a,b] f(x) L n (x) = f(x) = n f k n (x x i ) i=0 = ω n+ (x) i=0 i k x x i x k x i = f(x) n (x x i ) i=0 f(x) n (x x i ) i=0 = ω n+ (x)b n+, f k n x k x i i=0 i k x x k f k (x x k ) n i=0 i k = (x k x i ) = mivel b n+ = n+ n+ f k i=0 i k n+ = f n+ i=0 i k x k x i = x n+ x i + n+ f k i=0 i k = x k x i (x n+ x) n+ = f(x) i=0 i k x x i + Tehát a következ összefüggéshez jutottunk: n+ f k i=0 i k f(x) L n (x) = b n+ ω n+ (x). x k x i f(x) = L n (x) + b n+ ω n+ (x). 4
A hibabecslésük miatt: f (n+) (ξ) (n + )! ω n+ (x) = b n+ ω n+ (x) b n+ = f (n+) (ξ) (n + )!. Végül, a Newton-féle interpoláció következtében: b m = D0 m = f[x 0,..., x m ] = f (m) (ξ m ) m! f (m) (ξ m ) N n (x) = b m ω m (x) = ω m (x). m! m=0 m=0 A (6) hibaképletet közvetlenül ritkán használjuk, de gyakran adott egy becslés az (n + )-edik deriváltra: amelynek segítségével becsülhet az eltérés: max x [a,b] f (n+) (x) M n+, (9) f(x) L n (x) M n+ (n + )! (b a)n+, x [a, b], (20) mivel x [a, b] esetén ω n+ minden (x x j ) tényez jében a x j b j = 0,..., n. Így teljesül az ω n+ (b a) n+ összefüggés. 3. Példa. (ld. [2]) A sin(x) függvényt [a, b] intervallumon a Lagrange-féle polinommal interpoláljuk. Mekkora az approximációs hiba? sin(x) L n (x) max f (n+) (x) ω n+ (x) (n + )! [a,b] (b a)n (n + )!, hiszen a sin(x) függvény (n+). deriváltja n-t l függ en sin(x), cos(x), sin(x), cos(x), de mindegyikre teljesül a f (n+) (x) összefüggés. 2. Állítás. (ld. [6]) Jelölje h := max j n (x j x j ). Ekkor ω n+ (x) 4 n! hn+. 5
Bizonyítás: Teljes indukcióval bizonyítunk. n = esetben teljesül, hiszen ω 2 (x) = (x x 0 )(x x ) 4 h2. Feltesszük, hogy n = k-ra igaz. Megmutatjuk, hogy akkor k + -re is: ω k+ (x) = ω k (x)(x x k+ ) = ω k (x) x x k+ 4 (k )! hk k h = 4 k! hk+. Az el bbi állítás következtében f(x) p n (x) max f (n+) (n + )! 4 n! hn+ = max f (n+) 4(n + ) hn+. 2. Deníció. Egy e(h) hiba p-edrend, ha létezik olyan c konstans, amelyre e(h) c h p. 4. Tétel (Faber). (ld. [5]) Minden alappontrendszer-sorozathoz létezik olyan f C[a, b] függvény, hogy az L n f interpolációs polinomok sorozata nem konvergál egyenletesen f-hez [a, b]-n. 5. Tétel (Marzienkiewicz). (ld. [5]) Minden f C[a, b] függvényhez létezik olyan alappontrendszer-sorozat, hogy az L n f interpolációs polinomok sorozata egyenletesen konvergál f-hez. 3.6. Hermite-interpoláció Ezt a módszert akkor használjuk, amikor az f(x j ) függvényértékeken kívül néhány alappontra ismerjük a derivált értékeit is. Adottak {x j } n j=0 alappontok. Az Hermite-féle interpolációs polinom olyan H polinom, amely eleget tesz a következ feltételeknek: j = 0,..., n : H (k) (x j ) = f jk, k = 0,,..., m j, (2) ahol f jk R, m j N, H (k) pedig a H függvény k-adik deriváltját jelöli. Továbbá legyen m := n m j a (2)-ben szerepl feltételek száma. j=0 6
6. Tétel. Ha a fenti feltételek teljesülnek, akkor létezik az Hermite-féle interpolációs feladatnak egyértelm megoldása P m -ben. Az egyértelm ség bizonyítása hasonlóan zajlik, mint a Lagrange-féle feladatnál. Tegyük fel, hogy H és H 2 két olyan (legfeljebb m -edfokú) polinom, amelyre teljesülnek a fenti feltételek. Vizsgáljuk a h = H H 2 P m polinomot. Ennek x j m j -szeres gyöke. Multiplicitással számítva összesen m gyök van, de h fokszáma legfeljebb m. Tehát h 0, vagyis H = H 2. Az interpolációs feladat megoldásának megtalálásához felhasználjuk a Lagrange-féle polinomot, a Newton-féle alakban felírva. Ott ugyanis az ω m (x) ((7) szerint) polinomok használatának eredményeképp a feladatot x m -r l x m -hez haladva lehetett megoldani. Ebben az esetben ezt a következ képp lehet elérni: F 0 (x) := m 0 (x x 0 ) k f 0k, k! és akkor j s j (x) := (x x l ) m l ; l=0 F j (x) = F j (x) + s j (x)g j (x), j = 0,,..., n, (22) alakban konstruálható a keresett H m polinom, és H m (x) := F n (x). F 0 (x) mint a Taylor-sor kezdete eleget tesz a (2)-es feltételeknek j = 0 és k = 0,,..., m 0 esetben. Ezenkívül s (k) j (x 0 ) = 0, k = 0,,..., m 0, j, is érvényes. Ezért minden F j (x) teljesíti a (2) feltételeket j = 0-ra. Ezután feltehetjük, hogy (2) teljesül minden olyan j-re, amelyre n m > j 0. Kell még, hogy F m (x) eleget tegyen (2) feltételeknek j = m esetben. Ehhez (22)-at k-szor deriváljuk, és az eredménybe behelyettesítjük x = x m -et: ahol s m (x m ) ismert nemnulla szám, és ( ) F mk := F m (x (k) k m ) + 0 f mk = F (k) m (x m ) = F mk + s m (x m ) G (k) m (x m ), (23) s (k) m (x m ) G m (x m ) + + 7 ( ) k s k m(x m ) G (k ) m (x m ).
Mivel feltehetjük, hogy G (l) m (x m ) már ismert (l = 0,..., k ), így F mk is rendelkezésre áll, tehát G (k) m (x m ) a (23)-b l kifejezhet. A gyakorlatiasabb megközelítés szerint is eljuthatunk H m -hez. Az Hermite-féle interpolációs feladat megoldásához a Newton-féle alakban a dierenciasémából nyert Lagrangeinterpolációs polinom segítségével juthatunk el. Ehhez feltesszük, hogy az adott f jk értékek valamilyen elegend en sokszor dierenciálható f függvényb l kiszámolhatóak: f j0 = f(x j ), f jk = f (k) (x j ), k = 0,,..., m j. A H m közvetlen konstrukciója: A hagyományos dierenciasémában minden x j alappontot m j -szer szerepeltetünk. Ahol a dierenciaséma azon oszlopában, melyben az k- adrend osztott dierenciák állnak, értelmetlen 0 0 egyéb helyeken a korábbi módokon számolunk. kifejezés adódna, oda f jk k! kerül. Az 4. Példa. (ld. [2]) Adott (0, 0, 0) = (x 0, f(0), f (0)), (,, 3, 6) = (x, f(), f (), f ()), tehát m 0 = 2, m = 3, és keresett az a legfeljebb m 0 + m = 4-edfokú polinom, amely ezeket az adatokat interpolálja. 0 0 0 0 0 0 0 2 0 0 3 0 0 6 = 3 0 2 0 3 0 Ebb l leolvashatók a b k együtthatók: 0, 0,,, 0. Tehát a keresett interpolációs polinom: H 4 = 0 + 0 x + x 2 + x 2 (x ) + 0 x 2 (x ) 2 = x 3. Az interpolációs polinom csak harmadfokú lett, de teljesíti az összes feltételt, tehát ez az egyetlen megoldás. 8
Egy m-szer dierenciálható f függvény és az Hermite-interpoláció eltérésére a következ összefüggés teljesül: f(x) H m (x) = f (m) (ξ) m! ω m (x), ξ = ξ x (a, b), (24) ahol n ω m (x) = (x x j ) m j. j=0 Innen (20) mintájára érvényes f(x) H m (x) = M m m! (b a) m, ξ = ξ x (a, b), (25) ahol M m (35) alapján számolható. Az Hermite-féle polinom lokálisan jobb approximációt ad, de a széls alappontok közelében, a polinom magasabb fokszáma miatt, még er sebb kilengésekre kell számítani, mint a Lagrange-interpoláció esetén. 4. Trigonometrikus interpoláció Munkánk során elég gyakran fordulnak el periodikus függvények, amelyek a következ tulajdonsággal rendelkeznek: f(t + T ) = f(t), t R, T > 0. A polinomiális interpoláció használata nem alkalmas periodikus függvények esetén, mivel az algebrai polinomok nem periodikusak. Ezért a továbbiakban az interpoláció vizsgálatát a trigonometrikus polinomokkal folytatjuk, melyeket el ször Clairaut 759-ben, majd Lagrange 762-ben használt egymástól függetlenül. Ezt követ en feltesszük, hogy a periódus egységesen: T = 2π. 3. Deníció. n N esetén jelölje T n a trigonometrikus polinomok terét, amelyek a q(t) = a k cos kt + b k sin kt k= képlettel adhatók meg. Legyenek a 0,..., a n, b,..., b n valós együtthatók. Egy q T n trigonometrikus polinomot n-edfokú nevezünk, ha a n + b n > 0. 9
A szinusz és koszinusz függvények addíciós képleteib l következ en q q 2 T n +n 2, ha q T n és q 2 T n2. Ez indokolja a trigonometrikus polinomokkal való foglalkozást. 7. Tétel. (ld. [5]) Egy T n -beli trigonometrikus polinom, amelynek több mint 2n különböz gyöke van a [0, 2π) periódusban, azonosan nulla, tehát minden együtthatójának nullának kell lennie. Bizonyítás: ([5] szerint) Tekintsük a q T n trigonometrikus polinomot q(t) = a 0 2 + [a k cos kt + b k sin kt] (26) k= alakban. Legyen b 0 = 0, γ k := 2 (a k ib k ), γ k := 2 (a k + ib k ), k = 0,..., n, (27) és az Euler-formulát használva e it = cos t + i sin t, (26) másképp felírva: Legyen z = e it és így kapjuk, hogy q(t) = γ k e ikt. (28) k= n p(z) := γ k z n+k, k= n q(t) = z n p(z). Most tegyük fel, hogy a q T n polinomnak több mint 2n különböz gyöke van [0, 2π). Ekkor a p P 2n algebrai polinomnak több mint 2n különböz gyöke a komplex egységkörön van, mivel a t e it függvény [0, 2π)-t bijektíven leképezi az egységkörre. Ebb l következ en az. tétel miatt p 0, tehát q 0. A c k (t) := cos kt, k = 0,..., n koszinusz és a s k (t) := sin kt, k =,..., n szinusz függvények lineárisan függetlenek C[0, 2π]-n. 8. Tétel. (ld. [5]) Adott 2n + különböz pont: t 0,..., t 2n [0, 2π), és 2n + érték: y 0,..., y 2n R. Ekkor létezik egy egyértelm en meghatározott trigonometrikus polinom a következ tulajdonsággal: q n (t j ) = y j, j = 0,..., 2n. (29) 20
A Lagrange-féle alakot felhasználva a trigonometrikus interpolációs polinom megadható alakban, ahol l k (t) = 2n i=0 i k q n = 2 y k l k (30) sin t t i 2 sin t k t i, k = 0,..., 2n. 2 Ekvidisztáns felosztás esetén legyen t j = Ennek segítségével felírva az összeget 2πj, j = 0,..., 2n. 2n + 2 j=0 e ikt j = 2 j=0 { e ijt k 2n +, k = 0, = 0, k = ±,..., ±2n, (3) amely a mértani sor összegképletéb l következik e it k esetén: 2 j=0 e ijt k = ei(2n+)t k e it k = 0, mivel e it k = esetén az összeg minden tagja egyenl eggyel. Megpróbáljuk megtalálni az egyértelm en meghatározott interpolációs polinomot q n (t) = γ k e ikt formában. A k= n q n (t j ) = y j, j = 0,..., 2n interpolációs feltételekb l látható, hogy az interpolációs feladat megoldása ekvivalens egy lineáris egyenletrendszer megoldásával. Ezek az egyenletek γ k e ikt = y j, j = 0,..., 2n (32) k= n alapján írhatók fel. Tegyük fel, hogy (32) megoldásai a γ k együtthatók. Ekkor (3) segítségével jutunk a 2 y j e imt j = j=0 k= n j=0 2 γ k e i(k m)t j = (2n + )γ k 2
összefüggéshez. Azaz (32) bármely megoldása megkapható a következ képlettel: γ k = 2n + 2 j=0 Másrészt (3) és (33) felhasználásával kapjuk: k= n γ k e ikt j = 2n + 2 2 y m m=0 y j e ikt j, k = n,..., n. (33) e ik(t j t m) = y j, j = 0,..., 2n, azaz a (32) lineáris rendszernek van egyértelm megoldása, mely (33) szerint adott. Az el z, valamint a (26), (27), (28) összefüggések alkalmazásával juthatunk a következ tételhez. 9. Tétel. (ld. [5]) Létezik a q n (t) = a 0 2 + [a k cos kt + b k sin kt] egyértelm en meghatározott trigonometrikus polinom, amely teljesíti a ( ) 2πj q n = y j, j = 0,..., 2n 2n + interpolációs feltételeket. Az együtthatók az alábbi módon számolhatók: a k = 2 2n + b k = 2 2n + 2 j=0 2 j=0 k= y j cos 2πjk, k = 0,..., n, 2n + y j sin 2πjk, k =,..., n. 2n + A trigonometrikus interpoláció hibájának vizsgálata jóval bonyolultabb, mint a polinomiális interpolációé. Jelölje L n : C[0, 2π] T n trigonometrikus interpolációs operátort, amely az f függvényt az L n f trigonometrikus interpolációs polinomra képezi. Ekvidisztáns rácsháló esetén a konvergenciára két állítás teljesül ([5] szerint): L n f f 2 0, n, minden folytonos, 2π szerint periodikus f esetén, és L n f f 0, n, minden folytonosan dierenciálható, 2π szerint periodikus f esetén. 22
5. Spline interpoláció A spline fogalmát 946-ban el ször Isaac Jacob Schoenberg vezette be. Spline-okat többnyire interpolációra és ábrázolásra használnak. Az így nyert görbék olyan simák, amennyire csak lehetnek, nincsenek rajtuk nagyobb kilengések, és rugalmasabban módosíthatók, mint a polinomok. Egyes típusaik szakaszonként változtathatók úgy, hogy közben a görbe nagyobb része megmarad. A spline név a hajóépítésb l ered; ott az építéshez használt hajlékony vonalzót nevezték spline-nak. A már bemutatott polinomiális interpolációk könnyen el állíthatók, de nagyobb fokszám esetén nem mindig komplikációmentesek. Ezek az interpolációk a széls alappontok között gyakran rosszabb eredményt adnak, mintha egyszer töröttvonallal összekötnénk az alappontokat. Ekkor lehet segítségünkre a spline vagyis szakaszonkénti polinomiális interpoláció. [2] szerint legyen az [a, b] intervallum egy felosztása a = x 0 < x < < x n = b, (34) továbbá h j := x j x j, h := max 0 j n h j. (35) A szakaszonkénti interpoláció esetén az egyik lehet ség szerint minden [x j, x j ] szakaszra külön készítjük az interpolációt. Ha csak {f(x j )} n j=0 függvényértékek adottak, akkor a szakaszonkénti els fokú Lagrange-féle interpolációs polinomot (L j ) használva kapjuk a töröttvonal-interpolációt, melynek hibája: ahol f C 2 [a, b], és M 2 (9) szerinti. f(x) L j (x) M 2 2 h2, x [x j, x j ], Ha magasabbrend interpolációt akarunk kapni, a szakaszonkénti Hermite-interpoláció alkalmazása vezethet eredményre. értékének megadása szükséges. Ehhez x j -ben és x j -ben megfelel számú derivált Célszer a minden szakaszon páratlan 2p + -edfokú Hermite-interpoláció, amelyhez minden x j pontban az f függvény értékén kívül még adott az els p derivált is. Ezt a polinomot jelölje H j,2p+, (j = 0,..., n). 23
Ekkor (23) becslés alapján, rögzített m = 2p + 2 mellett egyre kisebb (h hosszúságú) részintervallumok esetén nincs probléma azzal, hogy a függvény és az interpoláció eltérése tetsz legesen kicsi legyen: f(x) H j,2p+ (x) M 2p+2 (2p + 2)! h(2p+2), x [x j, x j ]. (36) Tehát a szakaszonkénti Hermite-interpoláció hibája h-ban (2p + 2)-edrend. A H j,2p+ minden j-re vett összessége olyan függvényt deniál [a, b]-n, amelynek els p deriváltja folytonos, viszont a (p + )-edik általában már nem az. A spline interpoláció egy másik módszer szerint: az egész [a, b] intervallumra egyszerre készítjük a szakaszonkénti polinomiális interpolációt, amely g-edfokú lesz minden [x j, x j ] szakaszban. Ez az eljárás is csak függvényértékeket használ, de azonos fokszámra több dierenciálhatóságot kínál, mint az el bbi szakaszonkénti Hermite-interpoláció. Mivel a felosztás alapján n szakasz adott, (g + ) szabad paraméterünk van. Minden x j alappontban megköveteljük az interpolációs feltételeket. Ez (n + ) db egyenletet jelent. Ezen kívül minden bels pontban ({x j } n j= ) azon feltételeket, hogy a szakaszonkénti interpoláció és els d deriváltja folytonos legyen. Mindezek a feltételek lineáris egyenletekre vezetnek. Ez összesen (d + )(n ) egyenlet. Az összes egyenlet rendszerének megoldhatósága érdekében szükséges, hogy ne legyen kevesebb szabad paraméter, mint feltétel, vagyis (g + )n n + + (d + )(n ) = (d + 2)n d. Ennek az egyenl tlenségnek a d = g a legkézenfekv bb megoldása. Így marad lehet ségünk d további feltételre, hiszen még d-vel több szabad paraméter van, mint ahány feltétel. Ezeket az x 0, x n pontokban célszer felhasználni peremfeltételként. Tehát a spline interpoláció alapötlete az, hogy a függvényértékek megadása után a szakaszonkénti magasabbfokú interpolációt folytonossági követelmények el írásával hozzuk létre ahelyett, hogy deriváltakat adnánk meg a megfelel számú feltétel eléréséig. A spline interpolációnál még a g = d-edik derivált is folytonos, és g > esetén speciális egyenletrendszer megoldása kell a szabad paraméterek meghatározásához. lineáris rendszer mérete (g + )n lesz, de soronként kevés nemnulla együtthatója van. Így végül a rendszer megoldása n-ben lineáris m veletigénnyel állítható el. 4. Deníció. Az [a, b] intervallumon deniált S = S g függvényt akkor hívjuk splinenak, ha az ott folytonos, a (34) felosztás összes [x j, x j ] részintervallumán polinom: A 24
S g [xj,x j ] = s j P g ([x j, x j ]), és a meghatározásához a felosztás bels pontjaiban csak az adott f függvény helyettesítési értékei szükségesek. A töröttvonal interpoláció is ennek egy fajtája g = és d = 0 esetén. Emiatt els fokú spline-nak is nevezhetjük. konvexitást. Ez a módszer egyszer, megtartja a nemnegativitást és a Gyakori a harmadfokú spline használata. Itt g = 3 és d = 2. Tehát marad két feltételünk, amelyet peremfeltételként x 0, x n pontokban használunk fel. A harmadfokú splinehoztartozó lineáris rendszer tridiagonális alakra hozható, ha szakaszonként olyan Hermiteinterpolációs feladatból indulunk ki, amelynek minden alappontja kétszeres: az adatai ( ) ( ) xj, f j, f j, xj, f j, f j alakúak. Ezáltal biztosítottuk, hogy ez a szakaszonkénti Hermite-interpoláció és els deriváltja folytonos legyen [a, b]-n. Az f j -k úgy választhatóak meg egyértelm en, hogy a szakaszonkénti interpoláció második deriváltja is folytonos legyen. Ez a követelmény adja az j =, 2,..., n : f 0 = f (x 0 ), h j f j + 2(h j + h j )f j + h j f j+ = 3{h j D j + h j D j }, f n = f (x n ), egyenleteket, melyek alapján látható, hogy a rendszer megoldható. Ha az f (x 0 ), f (x n ) értékek nem állnak rendelkezésre, akkor az els, ill. utolsó négy alappontra kiszámítva a Lagrange-féle polinomot, majd ezt lederiválva és x = x 0 -t, ill. x = x n -t behelyettesítve kaphatjuk f 0 -t, ill. f n -t. Az így kiszámított spilne-nak konstrukció szerint a második deriváltja is folytonos, de a szakaszonkénti harmadfokú Hermite-interpoláció második deriváltja a legtöbb esetben szakadásos. Általában a szakaszonkénti (2p + )-edfokú Hermite-interpoláció p-edik deriváltja folytonos, mígy egy g = 2p+-edfokú spline-nak még a g = 2p-edik deriváltja is folytonos. 5.. B-spline A bázisspline-ok, vagy más néven B-spline-ok a spline-ok olyan halmaza, melyek bázisfüggvények segítségével konstruálhatók meg. Az egyszer ség kedvéért csak ekvidisztáns felosztású, h lépésköz B-spline-okkal foglalkozunk. 25
A B-spline-ok rekurzívan deniálhatók: B 0 := B m+ (x) := {, x 2 0, x >, 2 x+ 2 B m (y) dy, x R, m = 0,,.... (37) x 2 B m (m )-szer folytonosan dierenciálható, nemnegatív, a [ m 2, m+ 2 ] intervallumon kívül 0, és az m-edfokú polinomra teljesül, hogy minden [j, j + ] intervallum esetén m páratlan, [j, j + ]-ra pedig m páros (j Z). 2 2 Elemi integrációval megkapható B m (x) m =, 2, 3 esetén: B := B 2 := 2 { x, x, 0, x, 2 ( x 2 )2 ( x + 2 )2, x 2, (38) ( x 3 2 )2, 2 2 (39) 0, x 3, 2 (2 x ) 3 4( x ) 3 x, B 3 := (2 x ) 3 x 2 6 0, x 2. 6. Bézier-polinomok Az elkövetkez kben bevezetésre kerül ([5] szerint) a számítógépes graka néhány alapvet fogalma. Ezt az ismertetést csupán a síkbeli és térbeli görbékre korlátozzuk. A számítógépes grakában alapvet követelmény, hogy a geometriai objektumok megjelenítése és mozgatása elég hatékony és gyors legyen. 5. Deníció. n N {0} esetén jelölje P m n a (40) p(x) = a k x k, x R képlettel megadható polinomok terét, ahol a 0,..., a n R m. Egy p P m n ha a n 0. polinom n-edfokú, 26
Legyen [a, b] R, (a < b). Az x t(x) := x a b a (4) an lineáris transzformáció az [a, b] intervallumot a [0, ]-be képezi. A binomiális tétel alapján = [t + ( t)] n = ( ) n t k ( t) n k. k Ezeket a [0, ] intervallumon értelmezett Bernstein-polinomoknak nevezzük. Mindebb l (4) segítségével kaphatjuk az [a, b]-n értelmezett Bernstein-polinomokat. 6. Deníció. A [0, ]-en értelmezett n-edfokú Bernstein-polinomot a ( ) n Bk n (t) := t k ( t) n k, k = 0,..., n (42) k képlet adja. Ennek következtében a ( ) x a Bk n (x; a, b) := Bk n = b a (b a) n polinomot [a, b]-n értelmezett Bernstein polinomnak nevezzük. ( ) n (x a) k (b x) n k, k = 0,..., n k A Bernstein-polinom néhány tulajdonsága: Nemnegatívak [0, ]-en. Bk n (t) =, t R. (43) A Bernstein-polinomok eleget tesznek a B n k (t) = B n n k(t)( t), k = 0,..., n, (44) és B n 0 (t) = ( t)b n 0 (t), B n n(t) = tb n n (t) (45) relációknak minden t R és n N esetén. A t = 0 pont a k-adrend B n k és t = az (n k)-adrend egy gyöke. Minden B n k csak t = k -ben veszi fel. n egy gyöke, polinom a maximális értékét 27
A Bernstein-polinomok rekurzív módon adhatók meg: Bk n (t) = tb n k (t) + ( t)bn k (t), t R, (46) n N és k =,..., n esetén. A B n 0,..., B n n polinomok P n egy bázisát adják. 7. Deníció. A b 0,..., b n R m együtthatókat a p P m n polinom p(x) = b k Bk n (x; a, b), x [a, b] (47) képletében p kontrollpontjainak, vagy Bézier-pontjainak nevezzük. Az ezáltal meghatározott poligont (töröttvonalat) Bézier-poligonnak nevezzük. Mivel a p polinom grakonja szorosan köt dik a Bézier-poligon formájához, ezért p grakonját gyakran Béziér-görbének nevezik. Meggyelhetjük, hogy p(a) = b 0 és p(b) = b n, vagyis a Bézier-poligon, és -görbe mindkét végpontja egybeesik. A Bézier-görbe deriváltjainak kiszámításában segít az alábbi összefüggés: ( ) d k dt Bn k (t) = [kt k ( t) n k (n k)t k ( t) n k ], n ami azt jelenti, hogy (Bk n ) = 0. Tétel. (ld. [5]) Legyen nb n 0, k = 0, n(b n k Bn k ) k =,..., n, nb n n, k = n. (48) p(t) = egy Bézier-polinom [0, ]-en. Ekkor b k Bk n (t), t [0, ] (49) p (j) (t) = n j n! j b k B n j k (t), j =,..., n, (n j)! ahol a j b k a következ rekurzív módon deálható: 0 b k := b k, j b k := j b k+ j b k, j =,..., n. 28
Ezen tétel miatt a deriváltak a két végpontban: p (j) (0) = Az els deriváltak a végpontban: n! (n j)! j b 0, p (j) () = n! (n j)! j b n j p (0) = n(b b 0 ), p () = n(b n b n ). A Bézier-polinom p(t) függvényértékének kiszámítására egy gyors és stabil módszer a de Casteljou algoritmus. Adott egy (49) szerinti Bézier-polinom, deniáljuk a b k i Pk m segédpolinomot: b k i (t) := k b i+j Bj k (t) (50) j=0 segédpolinom egy k-adfokú polinom k + kont- i = 0,..., n k és k = 0,..., n. A b k i rollponttal: b i,..., b i+k. b n 0 = 0.. Tétel. (ld. [5]) Az n-edfokú p Bézier-polinom b k i segédpolinomja eleget tesz a b k i (t) := ( t)b k i rekurziós formulának i = 0,..., n k és k =,..., n esetén. Mivel b n 0 (t) + tb k (t) (5) = p(t) a rekurziót b 0 k = b k-val kezdve p(t) kiszámítható az egymást követ Bézier-pontok (b 0,..., b n ) konvex kombinációjaként. (5)-b l egy a dierenciaséma-táblázathoz hasonló tábla írható fel. A de Casteljou-táblázat együtthatóit két [0, t]-n, ill. [t, ]- en értelmezett Bézier-polinomból állíthatjuk el, amely viszont azonos az eredeti [0, ]-en vett Bézier-polinommal. Tetsz leges 0 < t < esetén a p (x) := b k 0(t)Bk n (x; 0, t), p 2 (x) := Bézier-polinomokra teljesül: i+ p(x) = p (x) = p 2 (x), x R. b n k n (t)b n k (x; t, ) Természetes a t = választás. Az egymást követ, ismételt felosztások a Bézierpoligonok egy sorozatához vezetnek, mely elég gyorsan konvergál az eredeti 2 Bézier-görbéhez, hogy az algoritmus hatékony legyen a görbék számítógépen való megjelenítésére. 29
7. Alkalmazás A már említett számítógépes grakai alkalmazásokon kívül az interpoláció másik gyakorlati alkalmazása a képek interpolációja. Ez bármilyen digitális fotónál felmerül valamilyen helyzetben, általában nagyítás, elferdítés vagy forgatás esetén. Egy digitális fotó képpontokból (pixelekb l) áll. Minden egyes képpont leírható matematikai értékkel. A digitális fotó nagyításakor eredeti méretének akár többszörösére is n het, valódi számérték azonban csak az eredeti képpontokhoz tartozik, a nagyítás során beillesztett új képpontok értékét hivatott kiszámolni az interpolációs algoritmus. A lencsék torzítását kijavító, perspektívaváltó vagy forgató interpolációk ferdítés vagy a forgatás esetén fordulhatnak el. Ugyanazon kép átméretezésekor, forgatásakor, vagy ferdítésekor az eredmény jelent s mértékben függ az interpolációs algoritmustól. Mivel az interpolációs eljárás csak egy közelítés, a kép mindenképp veszíteni fog a min ségéb l. Minél több információt ismerünk a környez cellákról az interpoláció annál pontosabb lesz. Ebb l következik, hogy minél jobban kinyújtunk egy képet annál nagyobb mértékben romlik a min sége. A 90 -os forgatás veszteségmentes, mert egy cella sincs áthelyezve két pixel közötti határra (és így megosztva). Abban az esetben, ha a forgatás nem 90 -os, már a legels forgatásnál észrevehet, hogy romlott a min ség. Következésképpen a a kép min ségének romlása egyenesen arányos a forgatások számának növekedésével. Az eredmények javíthatóak az interpoláció algoritmusát vagy a megadott adatok hibáját csökkentve. 30
8. Összefoglalás A dolgozatban áttekintést adtunk a legismertebb, leggyakrabban tárgyalt interpolációs módszerekr l. Kerestük azt az f(x)-et közelít I(x) interpolációs függvényt, amely teljesíti az I(x i ) = f(x i ) feltételt. Bemutatásra került a polinomiális interpoláció több fajtája. Els ként a Lagrange-, majd a Newton-féle, amit egyszer bbé tett a dierenciaséma megismerése. A Nevilleféle rekurziót és az Hermite-interpolációt követ en hibabecslést adtunk a már tárgyalt módszerekre. A polinomiális interpoláció a legegyszer bb és leggyorsabb módszer, de nem minden esetben vezet eredményre. Ezért vizsgáltunk más eljárásokat: a trigonometrikus, és a spline interpolációt, végül pedig a grakában használatos Bézier-görbéket. Mivel a spline interpoláció esetén a szomszédos alappontok által meghatározott szakaszokon interpolálunk, a spline jobban konvergál a keresett függvényhez. Hasonlóan hatékony a Bernstein-polinomokra éplül Bézier-görbék módszere. Befejezésül a digitális fényképezés területén alkalmazott interpolációról esett néhány szó. 3
Hivatkozások [] http://www.wikipedia.org/ [2] Stoyan Gisbert: Numerikus matematika mérnököknek és programozóknak, TypoTex Kiadó, 2007 [3] Stoyan Gisbert Takó Galina: Numerikus módszerek., Typotex Kiadó, 2002 [4] Peter Henrici: Numerikus analízis, M szaki Könyvkiadó, 985 [5] Reiner Kress: Numerical Analysis, Springer, 998 [6] Faragó István: Alkalmazott Analízis I. El adásjegyzet ELTE, 2008 [7] http://pixinfo.com/cikkek/interpolacio 32