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ő,  hval 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 n-edfokú Bézier-görbe a  P0  kezdőpontot és a  Pn  végpontot köti össze egy n-edfokú polinommal úgy, hogy az adott  P1, … ,  Pn-1  ún. kontrollpontok részben a görbe végpontok-beli irányát, részben a görbe haladási útvonalát határozzák meg, de ezeken általában nem halad át a görbe. A görbe pontjait a tÎ[0,1]  paraméter függvényében adjuk meg:  t=0  esetén a  P0  pontot,  t=1  esetén a Pn  pontot kapjuk meg.

 

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-1, f(xi-1)  és  az  xi, f(xi)  koordinátájú pontokat összekötő egyenes szakasszal (???ábra).

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(xih),  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  [xih, 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.