Numerikus mtemtik kurzus, projektfeldt Numerikus integrálás, kvdrtúrformulák Unger Tmás István B.Sc. szkos mtemtik hllgtó ungert@mwell.sze.hu, http://mwell.sze.hu/~ungert KIVONAT. Válsztott projektmunkám témáj numerikus integrálás. A dokumentumbn z elméleti áttekintés részeként ismertetem htározott integrál foglmát, vlmint áltlánosn bemuttom különböz technikák áltl hsznált közelítési módszerek lpelvét. Bemuttom Lgrnge-féle interpolációs polinomot, ismertetem nnk lklmzását z interpolációs numerikus integrálási formulák esetén. Ismertetek néhány lpvet Newton-Cotes formulát. Röviden ismertetem Guss-típusú kvdrtúrák elméletét, végül pedig bemuttok egy kubtúr-módszert speciálisn egy négyzet felett, vlmint áltlános tégllpok felett is.. Bevezetés, motivációk Egy- vgy többváltozós függvények htározott integráljánk kiszámításávl z nlízis lklmzásánk számos területén tlálkozhtunk. Mérnöki tnulmányim során különöböz elektromágneses problémák vizsgált során szinte minden esetben eleghetetlen eszköznek bizonyult, de széleskör hsználtár vn szükség zik egyéb tudományterületein is. A gykorlti lklmzások során sokszor zzl szembesülhetünk, hogy szükséges primitív függvény nem, vgy csk rkívül nehezen dhtó meg zárt lkbn, ezért z el tnulmányinkbn már megismert Newton-Leibniz-formul sem lklmzhtó. Ilyen esetekben nem is törekszünk htározott integrál pontos meghtározásár, csupán z integrál értékének egy vlmilyen pontosságú meghtározásár vn szükségünk. Erre szolgálnk különböz numerikus integrálási technikák, melynek számos z dott problém megoldásához optimális változt létezik. A továbbikbn ezekb l szeretnék bemuttni teljesség igénye nélkül néhányt, speciálisn z egy- és kétváltozós függvények numerikus integrálásár lklmzv.. A htározott integrál deníciój Tekintsünk egy f () egyváltozós függvényt, mely egy [, b] zárt intervllum minden egyes pontjábn értelmezett. Azt mondjuk, hogy ennek z f () függvénynek z -tól b-ig értelmezett htározott integrálj []: I := f () d = lim n i= n i f ( i ), ()
mely összefüggés tuljdonképpen Riemnn-féle közelít összegek htárértéke. A denícióbn i teljes [, b] intervllum felosztásánk i-edik részintervllumánk hossz ( i = i i ), z f ( i ) függvényérték pedig pedig ennek z i-edik részintervllumnk egy tetsz legesen kiválsztott pontjához trtozó függvényérték, formálisn leírv: i [ i, i ]. Világos z is, hogy z i pontok z eredeti [, b] intervllum egy n-t l függ úgynevezett felosztását képezik, így = < < <... < i <... < n = b. () Amennyiben z () áltl deniált htárérték létezik, úgy z f () függvény integrálhtó z [, b] intervllumon. Klsszikus klkulus-kurzusokról ismert, hogy mennyiben f () F -fel jelölt primitív függvénye (deníció szerint: F = f ()) ismert, úgy lklmzhtó Newton-Leibniz-formul []: f () d := [F ] b = F (b) F (). (3) Világos, hogy f () F primitív függvénye gykorlti lklmzások esetén sokszor nem, vgy csk ngyon nehezen dhtó meg zárt lkbn. Az ilyen esetekben Newton-Leibniz-formul sem lklmzhtó, így más módszerekhez kell folymodnunk. Ezek módszerek numerikus integrálási technikák, melyek htározott integrál közelít értékének meghtározásár szolgálnk, és melyeknek széleskör gykorlti lklmzás ismert. 3. A közelítés lpelve Jelöljük z f () függvény [, b] intervllumon vett hrározott integráljánk értékét I (f)-fel, zz I (f) := f () d. () Ekkor I (f) egy közelítését következ képpen tudjuk meghtározni: I n (f) = n c i f ( i ), hol i [, b]. (5) i= Deníció szerint z I n (f) = I n (f, {c, }, {c, },..., {c n, n }) képletet kvdrtúrképletnek nevezzük, c i értékeit kvdrtúrképlet súlyink, i értékeit pedig kvdrtúrképlet lppont jink hívjuk []. Vegyük észre, hogy z lpelv z, hogy z eredeti I (f) htározott integrált I n (f) összeggel közelítjük. Világos z is, hogy I n (f) értéke és pontosság jelent sen függ egyrészt súlyok és lpontok számától, vlmint zok megválsztásánk módjától is. Az is világos, hogy mivel I n (f) közelítés, így szükséges és érdemes vizsgálni z eltérést I (f) és I n (f) között. Mivel kvdrtúrképletek pontosságánk kérdése összetett tudományterület, így ezzel projektfeldtom csk érint legesen fog fogllkozni.
f f. Interpolációs képletek, Lgrnge-féle interpolációs polinom A htározott integrál közelít meghtározásához tehát z f () d I n (f) = n c i f ( i ), i [, b]. (6) összefüggést lklmzzuk, hol c i súlyok egyel re még ismeretlen együtthtók, melyeket meg kell htároznunk. Kérdés, hogyn. Az interpolációs kvdrtúrképletek bevezetéséhez és megértéséhez el ször is be kell vezetnünk Lgrnge-féle interpolációs polinom foglmát. Ehhez tekintsük z (,,..., n ) és (f( ), f( ),..., f( n )) értékeket, melyek dottk. A Lgrnge-féle interpolációs polinom deníciój következ [3]: L n,f () := i= n f( k )l k (), hol l k := k= n j=,j k j k j (7) A megértéshez tekintsünk egy egyszer példát, melynek Mtlb-kódj [] dokumentum mellékletében lgrnge_inter_pol_mpl.m néven megtlálhtó. Adott 5 drb -érték (,..., ) = (,, 3, 7, ), vlmint hozzájuk trtozó 5 drb f függvényérték (f( ),..., f( )) = (,.5, 3.7,, ). A Lgrnge-féle interpolációs polinom ebben z esetben z L,f () = f ( ) l () + f ( ) l () +... + f ( ) l () (8) lkot ölti, hol l k értékeket kell még kifejtenünk z eredeti összefüggésnek megfelel en. Vizsgáljuk meg példként l lkját, többi pedig teljesen nlóg módon felírhtó: ( ) ( ) ( ) ( ) 3 7 l () =. (9) 3 7 Az. ábrán z f ( ) l () és f ( ) l () lppolinomok láthtók. 5 Lgrnge-féle interpolációs polinom 5 Lgrnge-féle interpolációs polinom 5 5-5 -5 5 5-5 -5 5 5. ábr. Alppolinomok: f ( ) l () és f ( ) l () Láthtó, hogy polinom tökéletesen illeszkedik z (, f( )) és (, f( )), koordinátákr, míg többire nem. A további lppolinomokt és teljes Lgrnge-féle interpolációs polinomot. ábr és 3. ábr muttj. 3
f f f f 5 Lgrnge-féle interpolációs polinom 5 Lgrnge-féle interpolációs polinom 5 5-5 -5 5 5-5 -5 5 5. ábr. Alppolinomok: f ( ) l () és f ( 3 ) l 3 () 5 Lgrnge-féle interpolációs polinom 5 Lgrnge-féle interpolációs polinom 5 5-5 -5 5 5-5 -5 5 5 3. ábr. f ( ) l () és teljes Lgrnge-féle interpolációs polinom Vissztérve z eredeti kérdésre: súlyok meghtározásához helyettesítsük f-et z i [, b] lppontokr (i =,,..., n) támszkodó Lgrnge-féle interpolációs polinomml, mjd integráljuk zt []. Így: írhtó fel, mely kifejtve: L n,f () d = f () d n f( k )l k () = k= L n,f () d () n k= f( k ) n j=,j k j k j d. () Összevetve (6) és () összefüggéseket látjuk, hogy c i súlyok következ képpen dódnk: n j c i = l i () d = d. () i j j=,j i Az olyn formulákt, melyekben súlyokt (együtthtókt) () lpján számoljuk, interpolációs formuláknk nevezzük. Nem bizonyítom, de beláthtó [], hogy z ilyen formulák, h n + pontr támszkodnk, kkor leglább z n- edfokú polinomr pontosk.
Amennyiben vizsgált trtomány felosztás ekvidisztáns, zz k = +k h, hol h = b n és k =,,..., n, Newton-Cotes kvdrtúráknk nevezzük. A továbbikbn megismerkedünk néhány Newton-Cotes formulávl. 5. Érint formul Az érint formul legegyszer bb és leglpvet bb numerikus integrálási formul. Lényege bbn áll, hogy z eredeti [, b] intervllumot felbontjuk n drb egyenl hosszúságú részintervllumr úgy, hogy [, b] = [ =, = + h] [, = + h]... [ n, n = b]. (3) Az egyes részintervllumok tehát [ k, k + h] lkúk, hol k =,,..., n. Az osztópontokt z intervllumok középpontjábn vesszük fel, zz áltlános esetben [ k, k + h] intervllum osztópontj ξ k = k + h. Az eredeti integrált Lgrnge-féle interpolációs polinomml közelítjük ezen intervllumok felett következ képpen: k +h k f() d f (ξ k ) k +h k l () d. () Mivel intervllumonként egyetlen osztópontot vettünk fel, így z összeg is egytényez s lesz, l értéke pedig, mert z üresszorzt értéke deníciószer en. Így: c = k +h k d = [] k+h k = h (5) dódik. Adott minden, most már fel lehet írni egyetlen intervllumr z érint formul összefüggését: E k (f) := f (ξ k ) h, (6) és világos, hogy függvény közelít htározott integrálj ezen elemi szkszok felett értelmezett htározott integrálok szuperpozíciój lesz: n n E := E k = h f (ξ k ). (7) k= A formul Mtlb-kódj dokumentum mellékletében erintoform_mpl.m néven megtlálhtó. A példábn formul m ködését z f () = függvényre vizsgáltm [, ] intervllum felett. A péld segítségével megvlósítás helyessége és pontos eredményhez történ konvergenci is vizsgálhtó n felosztásnomság függvényében, hiszen ezt htározott integrált pontosn is ki tudjuk számolni: d = [ln ] k= = ln ln = ln.36. (8) Megvizsgáltm, miként függ z érint formul áltl kiszámolt közelít integrál értéke n ngyságától, zz felosztás nomságától. Az eredmények. ábrán láthtók, zöld szimptotként z integrál pontos értéke láthtó. 5
.35.3.5. E.5..5.95 3 5 6 n. ábr. Az érint formul áltl dott eredmények n függvényében 6. Trpézformul Klsszikus numerikus integrálási formul z úgynevezett trpézformul. A formul lényege, hogy vizsgált [, b] intervllumot z érint formulához teljesen hsonlón ismételten egyenl, h hosszúságú diszjunkt intervllumokr bontjuk fel, mely szkszok uniój kidj z eredeti [, b] intervllumot, zz [, b] = [ =, = + h] [, = + h]... [ n, n = b]. (9) Amíg z érint formul esetén kvdrtúr pontji z egyes intervllumok közepén helyezkedtek el, ddig ezúttl minden egyes intervllumn két pontot veszünk fel, mégpedig ezek pontok z egyes részintervllumok kezd - és végpontji lesznek. Formálisn: egy áltlános [ k, k + h] részintervllum kvdrtúrpontji: ξ k = k és ξ k+ = k + h. Ebben z esetben z feldtunk, hogy Lgrnge-féle interpolációs polinomot fektessünk (ξ k, f (ξ k )) és (ξ k+, f (ξ k+ )) pontokr: k +h k f () d = ξ k+ f () d ξ i= k c i f ( i ), () hol kvdrtúr súlyit következ képpen számoljuk: c o = ξ k+ ξ k l () d, c = ξ k+ ξ k l () d, () hol l = = ξ k+ l = = ξ k. () ξ k ξ k+ ξ k+ ξ k 6
Elvégezve z integrálásokt: c = ξ k+ ξ k ξ k+ ξ k ξ k+ d = ξ k ξ k+ ξ k+ [ ] ξk+ = ξ k ξ k+ ξ k+ = ξ k ξ k ξ k+ ( ξ k+ + ξk+ + ξ k ξ ) k+ξ k = c = ξ k+ ξ k ξ k ( ξ k+ ) d = ( ξ k+ ) ξk+ ξ k + ξ k+ξ k = ξ k ξ k+ = (ξ k ξ k+ ) = (ξ k+ ξ k ). ξ k ξ k+ ξ k d = ξ k+ ξ k ξ k+ [ ] ξk+ = ξ k+ ξ k ξ k = ξ k ξ k+ ξ k ( ξ k+ ξ k+ ξ k ξk + k) ξ = ξ k ( ξ k ) d = ( ξ k+ ξ k+ ξ k = (ξ k+ ξ k ). ) ξ k ξ k+ ξ k + ξ k = A két súly értéke tehát megegyezik. A trpézformul így következ képpen lkul: ξ k+ ξ k f () d T (f) = ξ k+ ξ k (f (ξ k ) + f (ξ k+ )). (3) A formul Mtlb-kódj dokumentum mellékletében trpezform_mpl.m néven megtlálhtó. A példábn formul m ködését ismét z f () = függvényre vizsgáltm [, ] intervllum felett, hogy konvergenci módját össze lehessen hsonlítni z érint formul esetében tpsztltkkl. Megvizsgáltm, miként függ trpézformul segítségével kiszámolt közelít integrál értéke n ngyságától, zz felosztás nomságától. Az eredmények z 5. ábrán láthtók, zöld szimptotként z integrál pontos értéke láthtó. Ezúttl meggyehe- 3. A trpézformul 3. 3.8 T.6.. 3 5 6 n 5. ábr. A trpézformul áltl dott eredmények n függvényében t, hogy ez formul speciálisn z f () = függvény esetében fels becslést d z integrál pontos értékére, ellentétben korábbn bemuttott érint formulávl. 7
7. Simpson-formul Szintén széleskörben elterjedt formul z úgynevezett Simpson-formul [] is. A formul lklmzásánk lényege bbn áll, hogy z eredeti [, b] intervllumunkt z eddig megszokott módon diszjunkt, egyenl h hosszúságú részintervllumokr bontjuk, zz [, b] = [ =, = + h] [, = + h]... [ n, n = b], () de ez kvdrtúrtípus már három pontr támszkodik. Ezen kvdrtúrpontok z egyes részintervllumok két szélén, vlmint z intervllumok közepén helyezkednek el, zz ξ k = k, ξ k+ = k + h, ξ k+ = k+. (5) Az eddigiek lpján már teljesen világos, hogy formulát z S (f) = c f (ξ k ) + c f (ξ k+ ) + c f (ξ k+ ) (6) lkbn keressük, hol c, c és c kvdrtúr meghtározndó súlyi. Világos, hogy ismét Lgrnge-féle interpolációs polinomhoz kell nyúlni, tehát z egyes súlyokt következ képpen lehet számolni: c = k +h k l () d, c = k +h k l () d, c = k +h k l () d. (7) Mivel l (), l () és l () polinomfüggvények, integráljuk könnyedén kiszámolhtó trpézformul esetén már ismertetett módon. A levezetést mell zésével közlöm kvdrtúr súlyit []: c = ( k+ k ) 6, c = ( k+ k ) 6, c = ( k+ k ). (8) 6. A Simpson-formul..38 S.36.3.3.3 3 5 6 n 6. ábr. A Simpson-formul áltl dott eredmények n függvényében A Simpson-formul összefüggése tehát egyváltozós esetben következ képpen lkul: S (f) = ( k+ k ) 6 (f (ξ k ) + f (ξ k+ ) + f (ξ k+ )). (9) 8
A formul Mtlb-kódj dokumentum mellékletében simpson_mpl.m néven megtlálhtó. A példábn formul m ködését z eddig megszokott f () = függvényre vizsgáltm [, ] intervllum felett, hogy konvergenci módját össze lehessen hsonlítni z eddigiekkel. Megvizsgáltm, miként függ trpézformul segítségével kiszámolt közelít integrál értéke n ngyságától, zz felosztás nomságától. Az eredmények 6. ábrán láthtók, zöld szimptotként z integrál pontos értéke láthtó. 8. A Guss-típusú kvdrtúrákról áltlábn Az eddig ismertett formulák során láttuk, hogy lklmzásuk csk igen mgs pontszám lklmzás esetén d megfelel en pontos értéket. Közös jellemz jük továbbá, hogy csk kvdrtúr súlyit válszthttuk meg szbdon, z lppontjit nem. A Guss-típusú kvdrtúrák lklmzás során ezzel szemben mi mgunk válszthtjuk meg nemcsk súlyokt, de z lppontokt is []. A Guss-típusú kvdrtúrák pontos értéket dnk n vgy ennél lcsonybb fokú polinomok esetében z i lppontok és c i súlyok megfelel megválsztás esetén. (i =,..., n). Ennek pontosságnk megvlósításához z lppontoknk és súlyoknk z lábbi feltételt kell kielégíteniük: Legyen n c k ( k ) i = k= Q (f) := i d, i =,,..., n. (3) w () f () d, (3) hol w : (, b) R folytonos, pozitív, vlmint w () d létezik, w egy úgynevezett súlyfüggvény. Amennyiben feltesszük, hogy [, b] = [, ], úgy w lkjától függ en beszélhetünk például Guss-Legre-, vgy Guss-Csebisevkvdrtúráról is. Azt mondjuk, hogy z w () f () d n c k f ( k ) (3) formul Guss-kvdrtúr, h z integrál minden p P n polinom esetén pontos. Példként tekintsük Guss-Legre-kvdrtúr súlyink és pontjink meghtározását [, ] felett, n = esetén. Guss-Legre kvdrtúráról beszélünk kkor, h w () = válsztássl élünk. Ebben z esetben (3) lpján következ feltételrszerünk dódik c, c súlyokr és, pontokr: c + c = c + c = k= d = [] =, c + c = [ d = ] 3 3 [ d = = 3, c 3 + c 3 = ] =, [ 3 d = ] =. 9
Kptunk tehát egy nemlineáris egyenletrszert négy egyenlettel és négy ismeretlennel. Az egyenletrszer megoldhtó, könnyen ellen rizhet, hogy c =, c =, = 3, = 3. (33) megoldás. A kvdrtúrformul tehát ebben konkrét esetben: f () d f ( ) ( ) + f 3. (3) 3 Ez formul lklms minden, legfeljebb hrmdfokú polinom integráljánk pontos meghtározásár. Könnyen megmutthtjuk zt is, hogy negyedfokú polinomokr ez már nem igz. Tekintsük például z f () = függvényt: [ 5 d = 5 ] = ( 5, de f ) ( ) + f 3 = 3 9. Fontos felhívni z olvsó gyelmét, hogy Guss-típusú kvdrtúrák elmélete ennél sokkl mélyebb és összetettebb. Projektmunkámnk nem célj, hogy feltárj teljes elméleti hátteret. A cél inkább z, hogy megértsük, léteznek olyn módszerek, melyek bizonyos el re meghtározott súlyok és pontok lklmzásávl képesek igen kis pont- és súlymennyiség mellett is sokkl pontosbb eredményt biztosítni, mint z eddig ismertetett formulák. 9. Péld Guss-típusú kvdrtúrár A Guss-típusú kvdrtúrképletek középérték-képletek []: f () d k c ν y ν, hol y ν = f ( g,ν ). (35) ν= A formulábn c ν Guss-kvdrtúr súlyit, g,ν pontjit, y ν pedig z integrndus g,ν pontbn értelmezett helyettesítési értékét jelöli. Miként zt már korábbn említettük, ebben z esetben nem csk c ν együtthtókt, de z ν lppontokt is szbd prméterként kezelhetjük úgy, hogy z integrálközelít összefüggésünk minél mgsbb fokszámú polinom esetén is pontos lehessen. A gykorlti tpsztltok zt muttják, hogy Guss-típusú kvdrútrképletek többnyire rkívül pontos közelítést dnk, de ehhez z lppontok igen speciális megválsztásár vn szükség. Amennyiben z integrációs intervllumot úgy válsztjuk, hogy z [, b] = [, ] legyen, z lppontokt pedig z úgynevezett Legre-polinomok gyökei [], kkor c ν együtthtókt úgy lehet meghtározni, hogy közelít képletünk legfeljebb n + -ed fokú polinomok integrálját pontosn dj. A hivtkozott Legre-polinom gyökei z origór szimmetrikusn helyezkednek el. A megfelel súlyok és pontok számos internetesen oldlon elérhet ek (például [7]), de generálásukr tlálhtók számos progrmozási nyelvre megírt függvények is.
Ahhoz, hogy z itt deniált Guss-kvdrútr segítségével tetsz leges [, b] intervllumr meg tudjuk htározni függvények htározott integráljánk közelít értékét, egy egyszer trnszformációs eljárásr vn szükség. Egyszer en beláthtó, hogy t = b + +b trnszformáció z [, ] intervllumnk z [, b] intervllumot felelteti meg, így z integrál közelít értéke: f () d b k c ν f ν= ( b g,ν + + b ). (36) A kubtúr Mtlb-kódj dokumentum mellékletében gusskvd_mpl.m néven megtlálhtó. A script bemeneti prmétereként szbdon megválszthtó, hogy z hány ponttl és súllyl végezze el z integrál közelítését. A példábn formul m ködését ismét z f () = függvényre vizsgáltm [, ] intervllum felett, hogy z eddigiekkel összehsonlíthtó eredményt kphssk. Azt tpsztltm, hogy n = 8 súly és pont lklmzás esetén tényleges (.36) és közelít érték (.35) közötti eltérés (.38 %) jelent sen kisebbnek dódott, mint z eddig tpsztltk.. Kubtúr egyszer tégllp felett A feldt következ : legyen dott egy f (, y) kétváltozós függvény, mely értelmezve vn egy S tégllp felett, hol h és y h, teljesül továbbá minden olyn feltétel, mely lehet vé teszi, hogy z f (, y) ddy (37) S integrál létezzen. Ekkor z f (, y) kétváltozós függvény S feletti integrálj meghtározhtó z n f (, y) ddy = h w j f ( j, y j ) + R (38) S formul segítségével, hol w j kvdrtúr súlyit, j, y j S kvdrtúr pontjit, R pedig kvdrtúr hibtgját jelöli [5]. Vizsgáljuk meg kubtúr m ködését és megvlósítási módját. Legyen el ször f (, y) = + y, S = [, ], (39) kérdés pedig: S f (, y) ddy = j= ( + y ) ddy. () A kétváltozós függvény grkonj 7. ábrán láthtó. Mivel ez kétváltozós függvény másodfokú, így z eddigiek lpján hsználhtjuk négy pontot és négy súlyt lklmzó kubtúr-formulát. Az lklmzott kubtúr súlyi és pontji következ k [5, 7]: w = w = w 3 = w =, ( i, y i ) = ( ± 3 ) 3h, ± 3h, 3
hol h ebben z esetben S deníciój mitt. A kubtúr Mtlb-kódj dokumentum mellékletében kubturnegyp_mpl.m néven megtlálhtó. Mivel válsztott kétváltozós függvény integrálj nlitikus úton meghtározhtó ( 8 levezetés mell zésével z integrál pontos értéke: 3.6667), így könnyen tudjuk ellen rizni z eredményt. 8 8 6 6 f(,y) f(,y) y - - - - - - y - - 7. ábr. Az f(, y) függvény S felett A script lefutttás után kpott eredményünk szintén.6667-re dódott, mi zt jelenti, hogy kubtúr erre függvény mindösszesen négy pont és súly lklmzásávl z lklmzott számábrázolásunk mellett megfelel eredményt dott.. Kubtúr tetsz leges csúcskoordinátájú tégllpok felett Felmerülhet kérdés, hogy miként lehet tetsz leges csúcskoordinátákkl deniált tégllpok felett kvdrtúr segítségével kiszámítni kétváltozós függvények htározott integrálját. A következ kben ismeretett formul [6] lklms tetsz leges típusú és tetsz leges csúcspont-koordinátájú négyszög területe (K) felett értelmezett f (, y) kétváltozós függvény közelítésére: I = f (, y) ddy. () K Ez úgy tehet meg, hogy z áltlános négyszöget egy szbályos, origó középponttl relkez, egység oldlhosszúságú négyzetté (R) szükséges trnszformálni, mely felett már lklmzhtó kétdimenziós Guss-kvdrtúr. A trnszformáció módját 8. ábr muttj. Lényege, hogy z y-síkon értelmezett eredeti négyszöget csomóponti formfüggvények segítségével ξη-síkr kell trnszformálni, mjd függvény integrálását ezen síkon szükséges elvégezni. A csomóponti formfüggvények legfontosbb tuljdonság, hogy i-edik sorszámú értéke z i-edik csomópontbn, z összes többiben null. A trnszformációhoz z lábbi négy formfüggvényt
y η P(,y) P3( 3,y3) (-,) (,) K R ξ P(,y) P(,y) (-,-) (,-) 8. ábr. Trnszformáció kvdrtúrához lklmztm [6]: N = ( ξ) ( η), N = ( + ξ) ( η), N 3 = ( + ξ) ( + η), () N = ( ξ) ( + η). A formfüggvények segítségével végrehjtott trnszformációvl z eredeti integrál kiszámíthtó z f (, y) ddy = f (P (ξ, η), Q (ξ, η)) det J (ξ, η) dξdη (3) K R összefüggés felhsználásávl, hol P (ξ, η) z eredeti, Q (ξ, η) pedig z eredeti y változó helyettesítési értéke, kifejtésük formfüggvények segítségével: P (ξ, η) = Q (ξ, η) = i N i (ξ, η) = N (ξ, η) + N (ξ, η) + 3 N 3 (ξ, η) + N (ξ, η), i= y i N i (ξ, η) = y N (ξ, η) + y N (ξ, η) + y 3 N 3 (ξ, η) + y N (ξ, η). i= () A trnszformáció Jcobi-mátriánk determinánsához szükség vn és y ξ és η szerinti deriváltjir is, hiszen det J (ξ, η) = (,y) y ξ ξ (ξ,η) = y = y ξ η y ξ η. (5) η η 3
A deriváltkt nlitikus módon htároztm meg: ξ = ( + η) + ( η) + 3 ( + η) + ( η), η = ( + ξ) + ( ξ) + 3 ( + ξ) + ( ξ), y ξ = y ( + η) + y ( η) + y 3 ( + η) + y ( η), y η = y ( + ξ) + y ( ξ) + y 3 ( + ξ) + y ( ξ). (6) A kvdrtúr összefüggése trnszformáció lklmzásávl tehát: N i= j= N w i w j f (P (ξ i, η j ), Q (ξ i, η j )) det J (ξ i, η j ), (7) hol w i, w j kvdrtúr súlyit, ξ i, η j pedig pontjit jelöli, melyek megtlálhtók például hivtkozott forráson [7] is. Az itt bemuttott trnszformációs kvdrtúrát Mtlb-környezetben meg is vlósítottm, kódj dokumentum utolsó mellékleteként megtlálhtó. M - ködését következ kett s integrál kiszámításávl teszteltem: 3 3 6 ddy. (8) + y Ezen htározott integrál öt tizedesre megdott, kerekített értéke bonyolult, de zárt lkbn megdhtó primitív függvény felhsználásávl ( levezetés mell zésével, pl. Wolfrm Alph segítségével könnyen ellen rizhet ).999. Amennyiben n = 7 súly és pont felhsználásávl futttjuk le scriptet, úgy z integrál közelít értéke öt tizedesjegyen.999, zz megegyezik primtív függvény segítségével kiszámított értékkel. A Jcobi-determináns értéke J = 6- r dódott. Megvizsgáltm zt is, miként változik ez z eredmény, h z el z fejezetben ismertetett négypontos módszer segítségével próbáljuk meg közelíteni htározott integrál értékét. Ebben z esetben z eredmény öt tizedesjegyen ábrázolv.998, mely nnk ellenére, hogy z dott számábrázolás mellett ε = 5 hibát eredményez, gykorlti szempontból szintén megfelel eredménynek tekinthet.. A formulák hibájánk vizsgált Egyszer kvdrtúrformulák nk nevezzük zokt kvdrtúrformulákt, melyek során z eredetileg vizsgált [, b] intervllum nem kerül feldrbolásr diszjunkt részintervllumokr, hnem korábbn ismertetett kvdrtúrformulák kizárólgosn egyszer, teljes [, b] intervllumr kerülnek felírásr, így közelítve függvény htározott integrálját. Ezen egyszer kvdrtúrformulák hibképlete következ képpen lkul []:
Egyszer érint formul: Legyen f : [, b] R kétszer folytonosn dierenciálhtó. Ebben z esetben z egyszer érint formul hibképlete következ : f () d E e (f) = (b )3 f (ξ), ξ [, b]. (9) Egyszer trpézformul: Legyen f : [, b] R kétszer folytonosn dierenciálhtó. Ebben z esetben z egyszer trpézformul hibképlete következ : (b )3 f () d T e (f) = f (ξ), ξ [, b]. (5) Egyszer Simpson-formul: Legyen f : [, b] R négyszer folytonosn dierenciálhtó. Ebben z esetben z egyszer Simpson-formul hibképlete következ : (b )5 f () d S e (f) = f () (ξ), ξ [, b]. (5) 88 A projektmunkámbn ismertetett interpolációs kvdrtúrformulák mindegyike összetett kvdrtúrformul volt. Ezeket kvdrtúrformulákt z egyszer formulák pontosításár hsználjuk, lényege korábbn ismertetett elméleti háttér szerint bbn áll, hogy z eredeti intervllumot diszjunkt, egyenl hosszúságú, n drb részintervllumokr bontjuk fel, melyek felett elvégezve z egyszer kvdrtúrformulák áltl dott számításokt, mjd végül ezek eredményét összedv pontosbb eredmént kphtunk. Pontosságuk mitt világos, hogy gykorltbn ezen formulák z elterjedtebbek. A hibképletek következ képpen lkulnk [8]: Összetett érint formul: Legyen f : [, b] R kétszer folytonosn dierenciálhtó. Ebben z esetben z összetett érint formul hibképlete következ : f () d E (f) = (b )3 n f (ξ), ξ [, b]. (5) Összetett trpézformul: Legyen f : [, b] R kétszer folytonosn dierenciálhtó. Ebben z esetben z összetett trpézformul hibképlete következ : (b )3 f () d T (f) = n f (ξ), ξ [, b]. (53) Összetett Simpson-formul: Legyen f : [, b] R négyszer folytonosn dierenciálhtó. Ebben z esetben z összetett Simpson-formul hibképlete következ : (b )5 f () d S (f) = 88n f () (ξ), ξ [, b]. (5) 5
Az egyes formulák áltl dott integrálértékeket n függvényében z. táblázt trtlmzz úgy, hogy n értékét kett htványir válsztottm. Látjuk, hogy míg z érint formul z integrál értékét lulról becsli, ddig trpéz- és Simpson-formul fels becslést d. Ez teljes mértékben összhngbn vn hibképletekkel, hiszen tényleges integrál és formul áltl dott érték különbsége z utóbbi két esetben negtív, míg z els esetben pozitív el jel. n E(f) T (f) S(f).9653 3.93.79.663.69.36 8.58.3977.37 6.9.38.38 3.99.39.36 6.38.3.36 8.3.33.36 56.35.37.36 5.36.36.36.36.36.36 8.36.36.36 96.36.36.36 89.36.36.36 n E h [%] T h [%] S h [%].68 3.8.5738 5.987.87.783 8.976.37.9 6.5378.79.77 3.383.89 <.6 6.3.7 <.6 8.8.8 <.6 56.36.9 <.6 5.6.6 <.6.6.6 <.6 8.6.6 <.6 96.6.6 <.6 89.6.6 <.6. táblázt. Az egyes kvdrtúrformulák átl dott eredmények n függvényében Láthtó, hogy Simpson-formul segítéségvel vizsgált péld esetén már 6 részszkszr történ felbontás esetén is megfelel pontosságú eredmény érhet el, míg z érint - és trpézformulák esetében hsonló pontosságú eredmény eléréséhez jelent sen nombb felbontásr vn szükség. Hivtkozások [] N. Pásztor. Numerikus integrálás. B.Sc. szkdolgozt, Eötvös Lóránd Tudományegyetem, Természettudományi Kr, Budpest,. [] Bronstein I. N., Szemengyljev K. A. Mtemtiki kéziköny. TypoTEX kidó, Budpest, 9. [3] D. Deford. Lgrnge Interpoltion. Drtmouth College, 5. [] https://www.mthworks.com/products/mtlb.html (utolsó látogtás: 8. november 6). [5] https://dlmf.nist.gov/3.5# (utolsó látogtás: 8. november 8.) [6] Dr. Shozhong D. Qudrture Formuls in Two Dimensions. Lecture Notes, Mth 57 - Finite Element Method, Section, Spring, University of North Crolin t Chrlotte,. [7] https://pom.github.io/bezierinfo/legre-guss.html (utolsó látogtás: 8. november 8.) [8] Zs. Vrg. Numerikus integrálás. B.Sc. szkdolgozt, Eötvös Lóránd Tudományegyetem, Természettudományi Kr, Budpest, 7. 6
. Mellékletek: Mtlb-kódok.. lgrnge_inter_pol_mpl.m %Lgrnge-fele interpolcios polinom, peld cler; clc; _pontok = [- 3 7 ]; f_pontok = [-.5 3.7 -]; felbonts = ; = linspce(-,,felbonts); L = zeros(,felbonts); for k = :length(_pontok) _k = _pontok(k); f_k = f_pontok(k); l = ones(,felbonts); for j = :length(_pontok) if j ~= k _j = _pontok(j); for n = :length(l) l(n) = l(n) * ((n) - _j) / (_k - _j); L = L + (f_k.* l); figure(k); hold on; plot(_pontok,f_pontok,'red*'); lim([-5 5]); ylim([-5 5]); plot(,l); lbel(''); ylbel('f'); is squre; title('lgrnge-féle interpolációs polinom');.. erintoform_mpl.m %Erintoformul lklmzs, peld cler; clc; %Felbonts (m.) finomsg n = 3; = ; b = ; h = (b-)/n; I = log(b) - log(); =linspce(,b,); f =./ ; %Egyszeru integrlndo: / figure(); hold on; plot(,f); lim([,b]); lbel(''); ylbel('y'); i = zeros(,n-); _pontok = zeros(,n+); _pontok() = ; for i = :(n+) _pontok(i) = _pontok(i-) + h; i(i-) = _pontok(i-) + h/; E = ; for i = :length(i) E = E + h * ( / i(i));.3. trpezform_mpl.m %Trpezformul lklmzs, peld cler; clc; %Felbonts (m.) finomsg n = 3; = ; b = ; h = (b-)/n; I = log(b) - log(); =linspce(,b,); f =./ ; %Egyszeru integrlndo: / figure(); hold on; plot(,f); lim([,b]); lbel(''); ylbel('y'); 7
i = zeros(,n-); _pontok = zeros(,n+); _pontok() = ; for i = :(n+) _pontok(i) = _pontok(i-) + h; T = ; for i = :(length(_pontok)-) T = T + ((_pontok(i+)-_pontok(i)) / ) *... ( ( / _pontok(i)) + ( / _pontok(i+)) );.. simpson_mpl.m %Simpson-formul lklmzs, peld cler; clc; %Felbonts (m.) finomsg n = ; = ; b = ; h = (b-)/n; I = log(b) - log(); =linspce(,b,); f =./ ; %Egyszeru integrlndo: / figure(); hold on; plot(,f); lim([,b]); lbel(''); ylbel('y'); i = zeros(,*n+); for i = :length(i) if i == i(i) = ; else i(i) = i(i-) +.5*h; i_k = i(); i_kp = i(); i_kp = i(3); S = ; S = S + ((i_kp - i_k) / 6) *... ((/i_k)+*(/i_kp)+(/i_kp)); for i = :n i_k = i(*i-); i_kp = i(*i); i_kp = i(*i+); S = S + ((i_kp - i_k) / 6) *... ((/i_k)+*(/i_kp)+(/i_kp));.5. gusskvd_mpl.m %Guss-kvdrtur, D cler; clc; Gussp = lod('./gussp_d.tt'); Gusss = lod('./gusss_d.tt'); = ; b = ; I = log(b) - log(); =linspce(,b,); f =./ ; %Egyszeru integrlndo: / figure(); hold on; plot(,f); lim([,b]); lbel(''); ylbel('y'); G = ; bmp = ((b-)/); for i = :length(gussp) G = G + bmp*gusss(i)*(/(bmp*gussp(i)+((+b)/)));.6. kubturnegyp_mpl.m %Kubtur tegllp felett, negy ponttl peld 8
cler; clc; h = ; = linspce(-h,h,); y = linspce(h,-h,); [X,Y] = meshgrid(,y); f = zeros(length()); for i = :length() for j = :length(y) f(i,j) = X(i,j)^+Y(i,j)^; figure(); hold on; surf(x,y,f); lbel(''); ylbel('y'); zlbel('f(,y)'); I_negyp = ; sulyok = [/ / / /]; pontok_ = [/3*sqrt(3)*h -/3*sqrt(3)*h /3*sqrt(3)*h -/3*sqrt(3)*h]; pontok_y = [/3*sqrt(3)*h -/3*sqrt(3)*h -/3*sqrt(3)*h /3*sqrt(3)*h]; for i = :length(pontok_) I_negyp = I_negyp + *h^*sulyok(i) * (pontok_(i)^+... pontok_y(i)^);.7. kubtur_trnszformciovl.m %Kubtur trnszformciovl, peld cler; clc; Gussp_ = lod('./gussp_.tt'); Gusss = lod('./gusss.tt'); Gussp_y=lod('./Gussp_y.tt'); %Tegllp megds koordintivl = [6 6]; y = [-3-3 3 3]; I = ; for o = :length(gussp_) for p = :length(gussp_y) N_ =.5*(-Gussp_(p))*(-Gussp_y(o)); N_ =.5*(+Gussp_(p))*(-Gussp_y(o)); N_3 =.5*(+Gussp_(p))*(+Gussp_y(o)); N_ =.5*(-Gussp_(p))*(+Gussp_y(o)); P = ()*N_+()*N_+(3)*N_3+()*N_; Q = y()*n_+y()*n_+y(3)*n_3+y()*n_; d_dkszi =.5*()*(-+Gussp_y(o)) +.5*()*(-Gussp_y(o)) +....5*(3)*(+Gussp_y(o)) +.5*()*(--Gussp_y(o)); d_det =.5*()*(-+Gussp_(p)) +.5*()*(--Gussp_(p)) +....5*(3)*(+Gussp_(p)) +.5*()*(-Gussp_(p)); dy_dkszi =.5*y()*(-+Gussp_y(o)) +.5*y()*(-Gussp_y(o)) +....5*y(3)*(+Gussp_y(o)) +.5*y()*(--Gussp_y(o)); dy_det =.5*y()*(-+Gussp_(p)) +.5*y()*(--Gussp_(p)) +....5*y(3)*(+Gussp_(p)) +.5*y()*(-Gussp_(p)); det_jcobi = d_dkszi*dy_det - dy_dkszi*d_det; I = I + Gusss(o)*Gusss(p)* /sqrt(p^+q^) * bs(det_jcobi); 9