Függvényközelítés interpolációval
Tegyük fel, hogy ismerjük egy 𝑓: 𝑅 → 𝑅 függvény 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛 alappontokban felvett 𝑦𝑖 = 𝑓(𝑥𝑖) (𝑖 = 1,2, … , 𝑛) függvényértékeit. Az 𝑓(𝑥) függvényt egy olyan, könnyen kiszámítható ℎ(𝑥) függvénnyel közelítjük, vagy helyettesítjük, amelyre az 𝑥𝑖 alappontokban fennáll az 𝑦𝑖 = ℎ(𝑥𝑖) (𝑖 = 1,2, … , 𝑛) interpolációs feltétel. Az interpolációs feltétel teljesülése esetén azt reméljük, hogy a ℎ függvény az alappontok közé eső pontokban is jól közelíti az 𝑓 függvényt.
Ha a ℎ(𝑥) függvénnyel az [𝑥1; 𝑥𝑛] intervallumon kívül közelítjük 𝑓(𝑥)-et, akkor extrapolációról van szó.
Ha a ℎ függvény egy adott függvényosztály elemeinek a lineáris kombinációjaként adódik, akkor lineáris interpolációról beszélünk, azaz
ℎ(𝑥) = 𝑎1ℎ1(𝑥) + 𝑎2ℎ2(𝑥) + ⋯ + 𝑎𝑛ℎ𝑛(𝑥).
A kombinációban szereplő ℎ𝑖 függvényeket alap- vagy bázisfüggvényeknek nevezzük.
A lineáris interpoláció főbb típusai:
1. Polinom alapú vagy Lagrange-féle interpoláció. Ekkor a bázisfüggvények:
ℎ1(𝑥) = 1; ℎ2(𝑥) = 𝑥; … ℎ𝑛(𝑥) = 𝑥𝑛−1
2. Trigonometrikus interpoláció. Ekkor [𝑥1; 𝑥𝑛] ⊆ [−𝜋; 𝜋], és az alapfüggvények:
ℎ1(𝑥) = 1; ℎ2(𝑥) = 𝑠𝑖𝑛𝑥; ℎ3(𝑥) = 𝑐𝑜𝑠𝑥;
ℎ2𝑘(𝑥) = sin(𝑘𝑥) ; ℎ2𝑘+1(𝑥) = cos(𝑘𝑥), ahol 𝑘 = 1,2, … ,𝑛−1
2 . 3. Exponenciális interpoláció: Legyenek 𝜆1 < 𝜆2 < ⋯ < 𝜆𝑛 adott számok és
ℎ𝑖(𝑥) = 𝑒𝜆𝑖𝑥 (𝑖 = 1,2, … , 𝑛).
4. Racionális törtfüggvény alapú interpoláció: Legyenek 0 < 𝑞1 < 𝑞2 < ⋯ < 𝑞𝑛 és ℎ𝑖(𝑥) = 1
𝑥+𝑞𝑖 (𝑖 = 1,2, … , 𝑛) és 𝑥 + 𝑞1 > 0.
Lagrange-féle interpolációs polinom
Legyenek adottak az 𝑥1, 𝑥2,… , 𝑥𝑛 különböző alappontok és a hozzájuk tartozó 𝑦𝑖 = 𝑓(𝑥𝑖) (𝑖 = 1,2, … , 𝑛) függvényértékek. Bizonyítható, hogy pontosan egy olyan, legfeljebb (𝑛 − 1) – edfokú
𝑝(𝑥) = 𝑎0+ 𝑎1𝑥 + 𝑎2𝑥2+ ⋯ + 𝑎𝑛−1𝑥𝑛−1
polinom létezik, amelyre teljesül, hogy 𝑝(𝑥𝑖) = 𝑦𝑖, 𝑖 = 1,2, … , 𝑛 esetén. Ez a Lagrange-féle interpolációs polinom. Például két különböző síkbeli pont esetén egyetlen olyan egyenes (elsőfokú polinom) van, melyre mindkét pont illeszkedik. Három különböző síkbeli pontra egyértelműen illeszthetünk egy parabolát (másodfokú polinomot), vagy egy egyenest, abban az esetben, ha mindhárom pont egy egyenesre esik. (Ezért beszélünk legfeljebb (𝑛 − 1)-edfokú polinomról, mert lehetséges, hogy a pontok kisebb fokszámú polinomra is illeszkednek. 𝑛 vagy
annál nagyobb fokszámú polinommal való közelítés pedig nem egyértelmű, 𝑛 alappont esetén végtelen sok olyan 𝑛-edfokú polinom létezik, amelyre illeszkednek a pontok.)
Példa
Adjuk meg a (-1;12), (1;4) és (2;9) pontokon áthaladó másodfokú polinom egyenletét!
Megoldás
Keressük a polinomot 𝑝(𝑥) = 𝑎0+ 𝑎1𝑥 + 𝑎2𝑥2 alakban! A 𝑝(𝑥) egyenletű parabola átmegy a megadott pontokon, vagyis 𝑝(−1) = 12, 𝑝(1) = 4 és 𝑝(2) = 9. Behelyettesítve 𝑝(𝑥) egyenletébe, a három összefüggéssel egy lineáris egyenletrendszert kapunk az ismeretlen 𝑎0, 𝑎1, 𝑎2 együtthatókra:
𝑎0− 𝑎1 + 𝑎2 = 12 𝑎0+ 𝑎 1 + 𝑎2 = 4
𝑎0 + 2𝑎1+ 4𝑎2 = 9
Ennek megoldása: 𝑎0 = 5, 𝑎1 = −4, 𝑎2 = 3, tehát a keresett polinom egyenlete:
𝑝(𝑥) = 5 − 4𝑥 + 3𝑥2.
A Lagrange-féle interpolációs polinom egy bonyolultabbnak tűnő, de a későbbiek szempontjából hasznos előállítási módszerét is megadjuk (ezt nevezzünk Lagrange-féle módszernek). Ehhez képezzük az alappontok felhasználásával 𝑖 = 1, … , 𝑛 esetén az
𝑙𝑖(𝑥) = ∏𝑥 − 𝑥𝑘 𝑥𝑖 − 𝑥𝑘
𝑛
𝑘=1 𝑘≠𝑖
Lagrange-féle alappolinomokat és ezekkel, valamint a megadott függvényértékekkel definiáljuk az alábbi összeget:
𝑝(𝑥) = ∑ 𝑦𝑖𝑙𝑖(𝑥)
𝑛
Tétel: A 𝑝(𝑥) polinom teljesíti az interpolációs feltételt és ez az egyetlen ilyen tulajdonságú a 𝑖=1
legfeljebb (𝑛 − 1)-edfokú polinomok között.
Bizonyítás: Először vegyük észre, hogy az 𝑙𝑖(𝑥) alappolinomok csak 0 vagy 1 értéket vehetnek fel az alappontokban. Pontosabban 𝑙𝑖(𝑥𝑖) = 1 és 𝑙𝑖(𝑥𝑗) = 0, ha 𝑖 ≠ 𝑗. Ezt felhasználva
𝑝(𝑥𝑗) = ∑ 𝑦𝑖𝑙𝑖(𝑥𝑗) = 𝑦𝑗𝑙𝑗(𝑥𝑗) = 𝑦𝑗
𝑛
𝑖=1
minden 𝑗 = 1, … , 𝑛 esetén, tehát teljesül az interpolációs feltétel.
Az egyértelműség igazolásához indirekt módon tegyük fel, hogy van egy másik, 𝑞(𝑥)-el jelölt, legfeljebb (𝑛 − 1)-ed fokú polinom is, mely teljesíti a feltételeket. Ekkor a 𝑝(𝑥) − 𝑞(𝑥) polinomnak mind az 𝑛 alappont a zérushelye, hiszen 𝑝(𝑥𝑖) = 𝑞(𝑥𝑖) minden 𝑖 = 1, … , 𝑛 esetén.
Mivel 𝑝(𝑥) − 𝑞(𝑥) is legfeljebb (𝑛 − 1) −ed fokú polinom, nem lehet 𝑛 darab zérushelye, tehát ellentmondásra jutottunk.
Példa
Adjuk meg a (-1;12), (1;4) és (2;9) pontokon áthaladó másodfokú polinom egyenletét Lagrange-féle módszerrel!
Az adatok: 𝑥1 = −1, 𝑥2 = 1, 𝑥3 = 2; 𝑦1 = 12, 𝑦2 = 4, 𝑦3 = 9;
Az alappolinomok:
𝑙1(𝑥) = ∏ 𝑥−𝑥𝑘
𝑥1−𝑥𝑘 3𝑘=1 𝑘≠1
= 𝑥−𝑥2
𝑥1−𝑥2∙ 𝑥−𝑥3
𝑥1−𝑥3 = 𝑥−1
−1−1∙ 𝑥−2
−1−2= 1
6(𝑥2 − 3𝑥 + 2) 𝑙2(𝑥) = ∏ 𝑥−𝑥𝑘
𝑥2−𝑥𝑘 3𝑘=1 𝑘≠2
= 𝑥−𝑥1
𝑥2−𝑥1∙ 𝑥−𝑥3
𝑥2−𝑥3 = 𝑥−(−1)
1−(−1)∙𝑥−2
1−2 = −1
2(𝑥2 − 𝑥 − 2) 𝑙3(𝑥) = ∏ 𝑥𝑥−𝑥𝑘
3−𝑥𝑘 3𝑘=1 𝑘≠3
= 𝑥−𝑥1
𝑥3−𝑥1∙ 𝑥−𝑥2
𝑥3−𝑥2 = 𝑥−(−1)
2−(−1)∙𝑥−1
2−1 =1
3(𝑥2− 1) A Lagrange polinom:
𝑝(𝑥) = ∑3𝑖=1𝑦𝑖𝑙𝑖(𝑥)= 12 ∙1
6(𝑥2− 3𝑥 + 2) + 4 ∙ (−1
2)(𝑥2 − 𝑥 − 2) + 9 ∙1
3(𝑥2− 1) =
= 2𝑥2 − 6𝑥 + 4 − 2𝑥2 + 2𝑥 + 4 + 3𝑥2− 3 = 3𝑥2− 4𝑥 + 5 Az interpolációs feladat
Tegyük fel, hogy adottak az 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛 alappontokban az 𝑦𝑖 = 𝑓(𝑥𝑖) (𝑖 = 1,2, … , 𝑛) függvényértékek, és közelítést kell adnunk 𝑥 ∈ [𝑥1; 𝑥𝑛] esetén az 𝑓(𝑥) függvényértékre.
Ilyenkor a pontokra illesztett Lagrange-féle interpolációs polinom 𝑝(𝑥) helyettesítési értékét használjuk közelítő értékként.
Példa
Adjunk közelítést másodfokú Lagrange polinommal 𝑓(1,36)-ra, az alábbi táblázat alapján:
x 1 1,15 1,3 1,45 1,6 1,75 y 0,75 0,74 0,39 0,66 0,17 0,7
A táblázat hat pontot tartalmaz, de a másodfokú Lagrange-polinom előállításához elég három pont. A közelítést 1,36-ban kell megadni, ezért az 1,36-hoz legközelebbi három alappontot használjuk:
x 1,15 1,3 1,45 y 0,74 0,39 0,66
Ahhoz, hogy az 𝑓(1,36) közelítésére használt 𝑝(1,36) értéket megadjuk, nem szükséges a 𝑝(𝑥) polinom együtthatóit ismerni. Elegendő a Lagrange-féle előállításban az 𝑥 = 1,36 behelyettesítéssel élni:
𝑝(1,36) = ∑ 𝑦𝑖𝑙𝑖(1,36)
3
𝑖=1
= 0,74 ∙(1,36 − 1,3)
(1,15 − 1,3)∙(1,36 − 1,45) (1,15 − 1,45)
+0,39 ∙(1,36 − 1,15)
(1,3 − 1,15) ∙(1,36 − 1,45)
(1,3 − 1,45) + 0,66 ∙(1,36 − 1,15)
(1,45 − 1,15)∙(1,36 − 1,3)
(1,45 − 1,3)= 0,4236 Egyébként, a három alappontra támaszkodó másodfokú Lagrange polinom egyenlete: 𝑝(𝑥) = 13,7778𝑥2− 36,0889𝑥 + 24,0211, s a behelyettesítés után szintén a 𝑝(1,36) = 0,4236 eredményt kapjuk. A polinom együtthatóiból azonban arra következtethetünk, hogy jobb
elkerülni a kiszámításukat, ezért nagyon hasznos az interpolációs feladatban a Lagrange-féle képlet.
Tétel (A Lagrange-féle interpolációs polinom hibája)
Legyen 𝑓 egy folytonosan differenciálható függvény az [𝑎; 𝑏] intervallumon, 𝑝 az 𝑓-hez és az 𝑥1,, 𝑥2, … . , 𝑥𝑛 ∈ [𝑎; 𝑏] alappontokhoz tartozó Lagrange-féle interpolációs polinom és 𝑥∗∈ [𝑎; 𝑏] egy tetszőleges pont. Ekkor létezik olyan 𝑐 ∈ [𝑎; 𝑏] pont, mellyel teljesül az alábbi egyenlőség:
𝑓(𝑥∗) − 𝑝(𝑥∗) =𝑓(𝑛)𝑛!(𝑐)(𝑥∗− 𝑥1)(𝑥∗− 𝑥2) … (𝑥∗− 𝑥𝑛).
Bizonyítás: Ha 𝑥∗ = 𝑥𝑖 valamely 𝑖 = 1,2, … , 𝑛 esetén, akkor az egyenlet mindkét oldala 0.
Ha 𝑥∗ egyetlen alapponttal sem egyezik meg, akkor képezzük a 𝑊(𝑥) = 𝑓(𝑥) − 𝑝(𝑥) − (𝑓(𝑥∗) − 𝑝(𝑥∗)) 𝜔(𝑥)
𝜔(𝑥∗) függvényt, ahol 𝜔(𝑥) = (𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥𝑛).
A 𝑊(𝑥) függvény 𝑛-szer folytonosan differenciálható az [𝑎; 𝑏] intervallumon és 𝑛 + 1 zérushelye van, méghozzá az 𝑥1,, 𝑥2, … . , 𝑥𝑛 és az 𝑥∗ pontok. A Rolle-tétel értelmében 𝑊(𝑥) bármely két zérushelye között a 𝑊′(𝑥) függvénynek is van zérushelye, így 𝑊′(𝑥) -nek legalább 𝑛 zérushelye van. Hasonlóan folytatva, 𝑊′′(𝑥)-nek legalább 𝑛 − 1, 𝑊′′′(𝑥)-nek legalább 𝑛 − 2 zérushelye van, és így 𝑊(𝑛)(𝑥) is rendelkezik legalább egy zérushellyel, jelöljük ezt 𝑐 -vel. Mivel 𝑝(𝑛)(𝑥) = 0 és 𝜔(𝑛)(𝑥) = 𝑛! , ezért
0 = 𝑊(𝑛)(𝑐) = 𝑓(𝑛)(𝑐) − (𝑓(𝑥∗) − 𝑝(𝑥∗)) 𝑛!
𝜔(𝑥∗) ahonnan átrendezéssel kapjuk a tétel állítását.
A tétel egyszerű alkalmazásaként egy tetszőleges x pontban becslést adhatunk a Lagrange polinom hibájára:
Következmény: Tegyük fel, hogy |𝑓𝑛(𝑥)| ≤ 𝑀𝑛, 𝑥 ∈ [𝑎; 𝑏] esetén. Ekkor
|𝑓(𝑥) − 𝑝(𝑥)| ≤𝑀𝑛
𝑛! |(𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥𝑛)| ≤𝑀𝑛(𝑏−𝑎)𝑛
𝑛! .
A második egyenlőtlenség általában sokkal durvább becslést ad, mint az első, de 𝑥 értékétől független korlátot ad a hibára a teljes [𝑎; 𝑏] intervallumon.
Konkrét (nem túl nagy) 𝑛 esetén szélsőérték számítással élesebb becslést kapunk.
Példa: Legyen 𝑓(𝑥) = 𝑐𝑜𝑠𝜋
2𝑥. Az 𝑥1 = −1; 𝑥2 = 0; 𝑥3 = 1 alappontokra támaszkodva adjuk meg a másodfokú Lagrange polinomot és becsüljük meg a közelítés hibáját a [-1;1] intervallum pontjaiban!
Mivel az 𝑓 függvény értékei az alappontokban rendre 0,1,0, könnyű kitalálni az illeszkedő parabola egyenletét, mely 𝑝(𝑥) = 1 − 𝑥2.
Mivel 3 alappont van, 𝑓′′′ abszolútértékére kell felső becslést adnunk a [-1;1] intervallumon.
𝑓′(𝑥) = −𝑠𝑖𝑛𝜋
2𝑥 ∙𝜋
2 , 𝑓′′(𝑥) = −𝑐𝑜𝑠𝜋
2𝑥 ∙ (𝜋
2)2, 𝑓′′′(𝑥) = 𝑠𝑖𝑛𝜋
2𝑥 ∙ (𝜋
2)3, így 𝑀3 = max|𝑓′′′(𝑥)| = (𝜋
2)3. A Következmény alapján:
|𝑓(𝑥) − 𝑝(𝑥)| ≤𝑀3!3|(𝑥 + 1)(𝑥 − 0)(𝑥 − 1)| = 𝑀3!3|(𝑥3− 𝑥)|.
Ha elvégezzük az 𝐹(𝑥) = 𝑥3− 𝑥 függvény szélsőértékvizsgálatát a [-1;1] intervallumon,
kapjuk, hogy a jobboldali abszolútérték maximális értéke 2
3√3 . Így a 𝑝(𝑥) polinom hibája:
|𝑓(𝑥) − 𝑝(𝑥)| ≤(𝜋 2)
3
6 ∙ 2
3√3= 0,2486.
(A hibabecsléssel kapott érték egyébként jóval nagyobb, mint a polinom tényleges hibája).
Példa: Hány ekvidisztáns alappontban kell megadnunk a 𝑠𝑖𝑛 𝑥 függvény táblázatát a [0;𝜋
2] intervallumon ahhoz, hogy a közbülső pontokban lineáris Lagrange interpolációt használva az elkövetett hiba legfeljebb 10-4 legyen?
Megoldás. Jelöljük ℎ-val az alappontok közötti távolságot: ℎ = 𝑥𝑖+1− 𝑥𝑖.
A lineáris interpoláció azt jelenti, hogy két alappont között egyenesszakasszal közelítjük a trigonometrikus függvényt (azaz a grafikont töröttvonallá alakítjuk). Ezért a Következmény szerint az 𝑀2
2! |(𝑥 − 𝑥𝑖)(𝑥 − 𝑥𝑖+1)| mennyiséghez kell minél kisebb felső korlátot találnunk. Az 𝑀2 paraméter értékét választhatjuk 1-nek, hiszen |(𝑠𝑖𝑛𝑥)′′| ≤ 1.
Az 𝐹(𝑥) = (𝑥 − 𝑥𝑖)(𝑥 − 𝑥𝑖+1) kifejezés egy másodfokú függvény, melynek az 𝑥𝑖 és az 𝑥𝑖+1 pontok a zérushelyei, szélsőértéke pedig az 𝑥𝑖+𝑥𝑖+1
2 pontban van. A szélsőérték nagysága:
𝐹 (𝑥𝑖+ 𝑥𝑖+1
2 ) = (𝑥𝑖 + 𝑥𝑖+1
2 − 𝑥𝑖) (𝑥𝑖+ 𝑥𝑖+1
2 − 𝑥𝑖+1) =𝑥𝑖+1− 𝑥𝑖
2 ∙𝑥𝑖 − 𝑥𝑖+1
2 = −ℎ2 Tehát a hiba nagysága: 4
|𝑓(𝑥) − 𝑝(𝑥)| ≤𝑀2
2! |(𝑥 − 𝑥𝑖)(𝑥 − 𝑥𝑖+1)| ≤ℎ2 8 Ez legfeljebb 10-4 lehet, így ℎ ≤ √8
100. Ha 𝑛 részre osztottuk a teljes [0;𝜋
2] intervallumot, akkor ℎ = 𝜋
2𝑛, amiből 𝑛 = 𝜋
2ℎ ≥ 100𝜋
2√8 = 55,5, azaz legalább 56 részre kell felosztani az intervallumot, ami azt jelenti, hogy 57 alappontra van szükség.
Gyakorló feladatok 1. Adott az alábbi táblázat:
x 1 1,15 1,3 1,45 1,6 1,75 y 0,75 0,74 0,39 0,66 0,17 0,7 a) Másodfokú Lagrange-polinommal adjon közelítést 𝑓(1,2)-re!
b) Harmadfokú Lagrange-polinommal adjon közelítést 𝑓(1,2)-re!
2. Melyik másodfokú függvény grafikonjára illeszkednek az alábbi pontok: (-2;-1,3), (7; 3,2) és (12; 5,7)?
3. Adja meg a (-2; -3), (1;9) és (3; 7) pontokra illeszkedő másodfokú Lagrange polinom egyenletét!
4. Az alábbi táblázat pontjaihoz illesszen harmadfokú Lagrange-polinomot:
x 1 2 3 5 y 4 0 0 36
(Használja a Lagrange-féle előállítást, mivel 𝑦 értéke kétszer is 0, négy helyett csak két alappolinom együtthatóit kell kiszámolni).
Megoldások
1.a) Az első három alappontot használjuk: 𝑓(1.2) ≈ 0,6611.
b) Az első négy alappontot használjuk: 𝑓(1.2) ≈ 0,6137.
2. Egyikre sem, mert a három pont egy egyenesbe esik, melynek egyenlete: 𝑦 = 0,5𝑥 − 0,3.
3. 𝑝(𝑥) = −𝑥2+ 3𝑥 + 7.
4. 𝑝(𝑥) = 𝑥3− 4𝑥2+ 𝑥 + 6.