Numerikus
differenciálás és integrálás
Legyen példaként egy térképi
vonalunk, és tekintsük ezt egy y=f(x)
függvény grafikonjának. Ismeretes, hogy a differenciálható f(x)
függvény-görbe xÎ[a,b]
intervallumhoz tartozó s
ívének a hosszát az
képlet adja meg. Ha tehát
ismerjük az f(x) függvényt, akkor e
képlet alapján határozhatjuk meg az s
ívhosszat. A térképészeti gyakorlatban inkább az fordul elő, hogy az
egyébként ismeretlen f(x)
függvény értékeit bizonyos pontokban (például hosszméréssel) meg tudjuk
állapítani, és ezekből az értékekből kell – közelítőleg – kiszámítani s értékét (???ábra).
Általában adottnak tételezzük
fel az ismeretlen f(x) függvény értékeit azon
a=x0, x1, x2, … , b=xn pontokban, amelyek az [a,b]
intervallum n részre (éspedig rendszerint egyenlő részekre)
való felosztásából adódnak. Az s ívhossz mint integrál közelítőleg
meghatározandó ezen xi,
f(xi) (i=0,1, …, n)
értékekből (???ábra).
A térképhasználat során a
térképi hosszakon kívül egyéb térképi mennyiségek, pl. vetületi torzulások
pontos kiszámításánál is szükségünk lehet függvények differenciálhányadosára és
határozott integráljára, legalábbis ezek közelítő értékeire. A közelítő,
másként numerikus differenciáláshoz és integráláshoz viszont a polinomos
interpoláció alapjaiból indulunk ki.
Interpoláció
alatt bonyolultabb függvényeknek egyszerűbb függvényekkel való közelítését
értjük. Erre többnyire polinomokat
használnak, de trigonometrikus függvények és racionális törtfüggvények
felhasználása is előfordul. Tekintsük a polinomos interpoláció azon
alkalmazását, amelynél az x0, x1, …, xn pontokban adott f(x0), f(x1),
…, f(xn)
függvényértékekhez keresünk a megfelelő pontokban ugyanazt az értékeket
felvevő n-edfokú
polinomot (???ábra), vagyis:
Ez egy n+1
egyenletből álló, n+1 ismeretlent tartalmazó lineáris
egyenletrendszer a c0, c1, …, cn együtthatókra mint ismeretlenekre nézve. Az
egyenletrendszer determinánsa:
Ez egy ún. Vandermonde determináns, amely nem nulla, ha minden xi különböző; az egyenletrendszer tehát egyértelműen
megoldható. A ci együtthatókat ki lehet számítani például
a Cramer
szabály alapján, de a gyakorlatban inkább más megoldásokat alkalmaznak.
Állítsuk elő a szóbanforgó interpolációs polinomot Lagrange képletével, mely olyan n-edfokú ai(x) -szel jelölt (i=0,1,2,…,n)
polinomokból (az úgynevezett alappolinomokból) indul ki, amelyek az xi pontban
1 értéket, az összes többi xk pontban
0 értéket vesznek fel. Könnyen
meggyőződhetünk róla, hogy az
polinomok rendelkeznek
mindezekkel a tulajdonságokkal. Az alappolinomok
segítségével most már előállítható a pn(x) interpolációs polinom, amely valóban átmegy
az xi,
f(xi)
(i=0, 1, …, n) koordinátájú pontokon:
Tekintsük pl. az xi-1, f (xi-1), az xi, f(xi) és az xi+1, f(xi+1) pontokon áthaladó másodfokú p2(x) interpolációs polinomot:
A továbbiakban olyan
interpolációs polinomokat fogunk használni, amelyeknél az x0, x1, …, xn alappontok ekvidisztánsak, azaz egymástól
egyenlő, h –val jelölt távolságra vannak (???ábra):
ahol
Ekkor az xi-h, xi, xi+h pontokon átmenő másodfokú p2(x) polinom az alábbi alakú:
illetve ugyanez a
vagyis az
helyettesítéssel:
(ahol xi-h £ x £ xi+h
esetén -1 £ t £ 1) .
Ez utóbbi változatban a
negyedfokú polinom a következőképpen néz ki:
Bézier-görbék
Az egymáshoz törésmentesen
csatlakozó, legfeljebb harmadfokú, paraméteres megadású interpolációs
polinomokat, az ún. spline-okat
a számítógépes grafikában is alkalmazzák. Ezek legismertebb alakja az ún. Bézier-görbe.
Az elsőfokú Bézier-görbe a kezdő- és végponton áthaladó lineáris
interpolációs polinom, vagyis a P0(x0,y0) és a P1(x1,y1) pontot összekötő egyenes szakasz (ld.
???ábra). A paraméteres alakja:
A másodfokú Bézier-görbe a P0(x0,y0) kezdőponton és a P2(x2,y2) végponton áthaladó másodfokú interpolációs
polinom (parabolaív), amelynek e pontokon áthaladó érintői a P1(x1,y1) kontrollpontban találkoznak (ld. ???ábra). E
görbe paraméteres alakja:
A grafikus szoftverek TrueType fontjainak karakterei másodfokú Bézier-görbékből épülnek fel.
A harmadfokú Bézier-görbe a P0(x0,y0) kezdőponton és a P3(x3,y3) végponton áthaladó harmadfokú interpolációs
polinom (harmadfokú parabolaív), amelynek P1(x1,y1) kontrollpontján a P0(x0,y0) kezdőpont-beli
érintő, a P2(x2,y2) kontrollpontján pedig P3(x3,y3) végpont-beli érintő
megy át (ld. ???ábra).
A grafikus szoftverek a sima
görbe vonalakat harmadfokú Bézier-görbeívekből
összeillesztett spline-okkal ábrázolják. E spline-ok törésmentességét az biztosítja, hogy az
illesztési pontokban kétszer differenciálhatók.
Numerikus
differenciálás
Célunk egy olyan,
differenciálhatónak feltételezett f(x)
függvény xi pontbeli differenciálhányadosának
közelítő meghatározása, amelynek f(x0), f(x1),
…, f(xn)
értékeit csak egyes x0, x1, …, xn pontokban ismerjük (???ábra). Ilyenkor a
keresett differenciálhányadost az interpolációs polinom differenciálhányadosával
közelítjük. Tételezzük fel, hogy a függvényérték az xi-h, xi, xi+h helyeken sorra f(xi-h), f(xi), f(xi+h). A
három ponton áthaladó másodfokú polinom deriváltja a fentiek alapján:
A polinom deriváltja az x=xi helyen:
Tehát a differenciálhányados
közelítő értéke:
Többször differenciálható
függvény esetén pontosíthatjuk ezt az eredményt pl.
negyedfokú polinom alkalmazásával, amelyet az
f(xi-2h), f(xi-h), f(xi), f(xi+h), f(xi+2h) függvényértékekből számolunk a fenti
képletből hasonló gondolatmenettel:
Végül a derivált az x=xi
, vagyis a t=0 helyen:
Kiemelés után
innen kapjuk a differenciálhányados pontosabb közelítését:
Numerikus
integrálás
Az f(x)
függvény [a,b] intervallumon vett
határozott integrálját (ami
szemléletesen a függvénygörbe alatti - előjeles - területtel egyenlő, ld. ???ábra):
elméletileg pontosan ki lehet
számítani a Newton-Leibnitz szabály segítségével:
ahol a F(x)
függvény az integrálandó f(x)
primitív függvénye:
.
Ha azonban a primitív
függvény nem írható fel elemi függvények segítségével, vagy nem ismerjük, akkor
numerikus integrálásra kerül sor.
Osszuk fel az [a,b]
intervallumot n
egyenlő részre, és jelöljük az osztásközök hosszát h-val:
.
Helyettesítsük az f(x) függvényt minden [xi-1, xi] (i=1, 2, …, n) osztásközben a lineáris interpolációs
polinommal, vagyis az xi-
Ekkor függvény görbéje alatti
terület a vizsgált osztásközben közelítőleg megegyezik egy olyan trapézzal,
amelynél az alapok hossza f(xi-1) és f(xi),
a trapéz magassága h=xi-xi-1. Az osztásközben számított határozott
integrált a trapéz területével közelítjük:
A teljes integrált az így
kapott rész-integrálok összegezésével kapjuk:
A megfelelő tagok
összevonásából adódik, hogy
Ez az ún. trapéz-formula.
A határozott integrál
definíciója alapján könnyen belátható, hogy az osztásközök n számának növelésével a trapéz-formula a
határozott integrálhoz tart, ezzel együtt természetesen a képlet
számítás-igénye is növekszik. Az
[a,b] intervallumban kétszer
folytonosan differenciálható f(x) esetén az adott n-hez
megállapítható, hogy a
trapéz-összeg eléggé
megközelíti-e az integrált. Bebizonyítható ugyanis a következő hibabecslő formula:
A jobb oldalon álló képletben
az n kivételével minden konstans, így n értékének megfelelő megválasztásával a
szükséges pontosság elérhető. A gyakorlatban azonban az f
’’(x) függvény [a,b] intervallumbeli
maximumának meghatározása hosszadalmas lehet, ezért páros n esetén kiváltható az egyszerűbb
hibabecslő képlettel, ahol a minden második
osztáspont elhagyásával kapott trapéz-összeg.
A trapéz-formula hátránya
főleg akkor mutatkozik meg, ha a függvény az integrálási tartományban végig
konvex vagy konkáv; ebben az esetben az egyes trapézokon keletkezett hibák
halmozódnak.
Hatékonyabb integrál-közelítő
összeget kapunk, ha az integrálandó f(x) függvény görbéjét az [a,b] intervallumon parabola-ívekkel közelítjük.
Ennek alapfeltétele, hogy az [a,b] intervallum felosztásánál a
rész-intervallumok n száma páros. Kettesével összepárosítva a rész-intervallumokat, az így kapott xi-h, f(xi–h), xi, f(xi), xi+h, f(xi+h) pontokhoz (az
i páratlan)
egy másodfokú interpolációs polinomot illesztünk (???ábra):
és ennek integráljával
közelítjük az f(x) függvény integrálját az [xi–h, xi+h]
rész-intervallumon:
(Az helyettesítés
következtében az integrandus
-val
szorzódott.)
A teljes [a,b]
intervallumon vett integrál a rész-intervallumon vett integrálok
összege, tehát
Az összevonások után kapjuk a Simpson-féle integrál-közelítő összeget:
Az előzőekhez hasonlóan a
Simpson-formulából adódó sn közelítő összegre is kapható hibabecslő
formula. Négyszer folytonosan differenciálható
f(x) függvény esetén belátható ugyanis, hogy
.
Ez a képlet a nevezőben
álló n4 miatt azt mutatja, hogy – a feltételnek
eleget tevő függvény esetén – a felosztás finomításával a közelítő összeg a
trapéz-összegnél gyorsabban tart a határozott integrálhoz. Más szóval:
megegyező számú osztáspont esetén a Simpson-formula jobb közelítést ad, mint a
trapéz-formula. Az f (4)(x) függvény [a,b]
intervallumbeli maximumának meghatározási nehézségei miatt itt is
előnyösebb egy közelítő hibabecslő képlet:
A Simpson-formula tehát kis
mértékben bonyolultabb a trapéz-formulánál, de annál lényegesen hatékonyabb a
határozott integrálok közelítő kiszámításában.