Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Integrálás
A deriválás papíron is automatikusan elvégezhető feladat.
Az analitikus integrálás ezzel szemben problémásI vannak szabályok, de nem minden integrálható analitikusanI a szabályokat ugyan be lehet programozni a gépbe
(ld. Mathematica)I ez az ún. szimbolikus integrálásI analitikus alakot adI ez nagyon nehéz, mi nem tanuljuk meg hogyan kellI a legtöbb esetben nem is működik
Numerikus integrálás
Amit mi tanulunk: numerikus integrálás (kvadratúra)I ez nem analitikus alakot ad, hanem konkrét számértékeket
I =∫ b
af(x) dx
I f analitikusan adott függvény, a és b pedig számok
Numerikus integrálás
Az eljárás alapötleteI az integrálandó intervallumot diszkretizáljukI a diszkrét pontokban felvett függvényértéket kiszámítjukI az függvényértékeket az intervallum hosszával szorozzukI az így kiszámolt „területeket” összeadjuk
Cél:I az f függvényt minél kevesebbszer kiértékelveI minél pontosabban közelítsük az eredményt
A trapézmódszer
Egyetlen integrálási szakaszra:∫ xi+1
xi
f(x) dx = h[
12 f(xi) +
12 f(xi+1)
]+ O(h3f′′)
A trapézszabály valójában a szakaszhatárok közötti lineárisinterpolációI szakaszonként lineáris függvényekre egzaktI magasabb rendű függvények esetén a hibája O(h3f′′) módon
skálázik
Az O(hmf(n)) jelölés
Az O(h3f′′) jelölés jelentéseI a korrekció h3 megszorozva az integrált függvény második
deriváltjának az [x1, x2] szakaszon felvett tetszőleges értékévelI ha a második derivált valahol nagyon nagy, akkor a módszer
instabil
Az együtthatók meghatározásaCsak egy [x1, x2] intervallumot nézünk.
Keressük az intervallum integráljának közelítését a következőalakban: ∫ x2
x1
f(x) dx = h [αf(x1) + βf(x2)]
Behelyettesítve f(x) = 1 nullad, illetve f(x) = x elsőrendűpolinomot – emlékezve, hogy h = x2 − x1 – egyenletrendszertkapunk α-ra és β-ra:
x2 − x1 = h [α+ β]
x22 − x2
12 = h [αx1 + βx2]
Ez pont a trapézformula:
⇒ α =12 β =
12
Integrálás polinomok segítségével
A trapézmódszer látványosan jobb, mint a téglalap módszer:I N helyett N + 1 függvénykiértékelés, ugyanakkorI láthatóan sokkal nagyobb pontosságI hevesen változó függvény esetén N-et nagyon meg kellene
növelni
Az eljárás elvileg folytathatóI az integrálandó szakaszokat polinomokkal közelítjükI a polinomokat tudjuk integrálni, deI tudjuk, hogy magas rendben problémákat okoznak
Zárt Newton–Cotes-formulák
Legyen adott az f jó tulajdonságokkal bíró függvény, és az [a, b]intervallum, amin integrálnunk kell. LegyenI N az integrálási szakaszok száma, ésI h = b−a
N az integrálási szakaszok hosszaI N–C-formuláknál a szakaszok hossza mindig azonos
Egy-egy intervallumban közelítsük a függvény k-ad rendűpolinommal.I ehhez intervallumonként k + 1 helyen kell f-et kiértékelniI de az intervallumok összeérnekI összes kiértékelések száma: Nk + 1
A Simpson-szabályPéldául másodrendben:I az eredeti h hosszú intervallumot két egyenlő részre osztjukI xi+ 1
2az intervallum felezőpontja
∫ xi+1
xi
f(x) dx =h2
[13 f(xi) +
43 f(xi+1/2) +
13 f(xi+1)
]+ O(h5f(4))
Ez előző alapján azt várnánk, hogy ez O(h4) pontos, de aszerencse folytán két tag pont kiejti egymást.
A magasabb rend nem feltétlen jelent nagyobb pontosságotI csak ha az f függvény kellően sima, azazI a magasabb rendű deriváltak kicsik
Még magasabb rend? Csökken-e a hiba?
Simpson-féle 38 -ados szabály:∫ xi+1
xi
f(x) dx =
h3[3
8 f(xi) +98 f(xi+1/3) +
98 f(xi+2/3) +
38 f(xi+1)
]+ O(h5f(4))
Bode-féle szabály:∫ xi+1
xi
f(x) dx =
h4[14
45 f(xi) +6445 f(xi+1/4) +
2445 f(xi+1/2) +
6445 f(xi+3/4) +
1445 f(xi+1)
]+O(h7f(6))
A felösszegzett trapézszabályÁllítsuk elő a integrált trapézok összegéből:∫ b
af(x) dx = h
[12 f(x1) + f(x2) + ...+ f(xN) +
12 f(xN+1)
]+
+ O((b − a)3f′′
N2
)
Itt most [a, b] intervallumon integrálunkI ez N egyenlő, h = b−a
N intervallumra van osztvaI N + 1 függvénykiértékelés szükséges
A hiba N−2-vel skálázikI ha a felosztások számát duplájára növeljük, akkor a hiba
negyedére csökkenI de az is kell, hogy f′′ értéke sehol se legyen túl nagy
Magasabb rendű felösszegzett formulák
Az interpolálásra magasabb rendű függvényeket használunkI pl. köbös splineI a köbös spline integrálját analitikusan ismerjükI az együtthatók meghatározása eléggé elbonyolódik...
∫ xN
x1
f(x) dx = h[3
8 f1 + 76 f2 + 23
24 f3 + f4 + f5
...+ fN−4 + fN−3 +2324 fN−2 +
76 fN−1 +
38 fN
]+O
(1
N4
)
Nyílt integrálási formulák
Előfordul, hogy a függvény nem értékelhető ki az integrálásiszakasz egyik vagy másik végpontjábanI ekkor a zárt formulák nem működnekI nyílt formulákat kell használni
Például a trapéz szabály alapján:∫ xN
x1
f(x) dx = h[f1/2 + f3/2 + ...+ fN−1/2
]+ O(1/N2)
I ez kísértetiesen hasonlít a sima téglányösszegre (mert az)I a hibája ezért nem is túl jóI de vannak magasabb rendű változatai
Improprius integrálok
Ha az egyik vagy másik integrálási határ ±∞I változóhelyettesítést kell alkalmazni∫ b
af(x) dx =
∫ 1/a
1/b
1t2 f
(1t
)dt
I feltétel: ab > 0I ha mindkét határ végtelen, vagy a határok előjele nem azonos,
akkor két részre kell vágni, és úgy integrálni
Romberg-integrálás
Integráljuk a függvényt úgy, hogy egyre nagyobb számú szakaszraosztjuk az integrálási tartománytI nézzük az integrál konvergenciáját, ahogy h → 0I a numerikusan számolt integrál értékeiből extrapolálunk
A módszer differenciálegyenletekre is működikI Richardson-extrapolációI ügyesen választva a lépéshosszakat minimalizálható a
függvénykiértékelések száma
Az integrál iteratív meghatározásaÁllítsuk elő az integrált az [a, b] intervallum felosztogatásávalI kiindulás: trapézszabály a teljes [a, b] intervallumraI ez lesz az első közelítés
I1 = s1 = (b − a)[
12 f(a) + 1
2 f(b)]
I minden lépésben felezzük az intervallumokatI és tekintjük az aktuális h = b−a
2 és a felezőpontban vettfüggvényérték szorzatát
s2 =b − a
2 f(
a + b2
)I ezzel javíthatjuk az integrál első becslését:
I2 =12 I1 + s2
Az integrál iteratív meghatározása
Eredmény az előző diáról:
s2 =b − a
2 f(
a + b2
)
I2 =12 I1 + s2
I az 12 együttható onnan adódik, hogy az intervallum a felére
csökkentI a függvényt mindig csak az új osztópontokban kell kiszámolniI az előző közelítés eredményét mindig felhasználjukI addig kell folytatni, amíg az előző iterációtól való eltérés egy
adott hiba alá nem csökken
Romberg-integrálásAz értékeket egy táblázatba rendezzük:
R0,0R1,0 R1,1R2,0 R2,1 R2,2R3,0 R3,1 R3,2 R3,3
I minden sor első eleme az [a, b] intervallumra trapézszabállyalkiszámolt integrál
R0,0 =12(b − a) [f(a) + f(b)]
I a sor többi elemét a balra/fent levő elemekből számoljukI a sor utolsó eleme lesz az extrapolált értékI addig kell folytatni, amíg a sor utolsó két elemének különbsége
a hibahatár alá nem csökken: |Rn,n − Rn,n−1| < ϵI minden sor elején újra kell számolni az integráltI de az előző sorbeli függvénykiértékelések felhasználhatók
A Romberg-integrálás formulái
I minden sor első eleme az [a, b] intervallumra trapézszabállyalkiszámolt integrál
R0,0 =12(b − a) [f(a) + f(b)]
I a következő sor nulladik elemét h finomításával kapjukI felhasználjuk a korábbi függvénykiértékeléseket
Rn,0 =12Rn−1,0 + hn
2n−1∑k=1
f (a + (2k − 1)hn)
I a sor többi elemét extrapoláljuk az előző sor alapján
Rn,m = Rn,m−1 +1
4m − 1(Rn,m−1 − Rn−1,m−1)
Függvények szingularitással
Ha egy függvénynek valahol szingularitása vanI csak ha a szingularitás integrálhatóI megfelelő feldarabolással a határra vihető
Pl. ha a divergencia a pontban hatvány jellegűI (x − a)γ , ahol 0 < γ < 1I ekkor változóhelyettesítéssel
x = t1
1−γ + a, azaz t = (x − a)1−γ
I erre jutunk∫ b
af(x) dx =
11 − γ
∫ (b−a)1−γ
0t
γ1−γ f
(t
11−γ + a
)dt
Függvények kifejtése valamilyen bázison
Számítási szempontból néha előnyös lehetI a függvény kifejtjük függvények ortogonális bázisánI polinomok, Fourier-bázis, Legendre-polinom stb.
A bázisfüggvények egzakt integrálját tudjukI az adott függvény integrálja előáll az ismert integrálok és a
kifejtési együtthatók szorzatának összegeként
Gauss-formulák
Ha az integrálandó függvény előáll egy polinom és egy speciálisfüggvény szorzataként∫ b
aW(x)f(x) dx =
N∑j=1
wjf(xj),
I ahol f(x) polinom alakúI W(x) általában valamilyen integrálható szingularitást
tartalmazó függvényI a wj együtthatókat és xj értékeket polinomegyenletek
megoldásaként kapjuk
Néhány W(x) függvény
I Gauss–Csebisev:
W(x) = (1 − x2)−1/2 − 1 < x < 1
I Gauss–Laguerre:
W(x) = xαe−x 0 < x < ∞
I Gauss–Hermite:
W(x) = e−x2 −∞ < x < ∞
I Gauss–Jacobi:
W(x) = (1 − x)α(1 − x)β − 1 < x < 1
Többdimenziós integrálokNehéz problémaI a függvényt nagyon sok pontban kell kiértékelniI ha egy dimenzióban 100 pont kellett, akkor három
dimenzióban 106 pont kell!
Az integrálási határok is bonyolultakI egy dimenzióban intervallumI magasabb dimenzióban egy d − 1 dimenziós felületI a tartomány lehet konkáv, nem összefüggő stb.
Ha az integrandusnak és a tartománynak van valamilyenszimmetriája, akkor van remény a gyors integrálásraI pl.: gömbszimmetrikusI ilyenkor az integrálás átírható egy dimenzióra (csak r szerint)
Többdimenziós integrálás felbontásaHa az integrálási tartomány egyszerű, és a függvény nagyon simaI használható többdimenziós Gauss-kvadratúra (nem vesszük),
vagyI az integrálás elvégezhető egydimenziós integrálok sorozataként
Átírva egydimenziós integrálokra:
I =
∫∫∫R
dx dy dz f(x, y, z) =
=
∫ x2
x1
dx∫ y2(x)
y1(x)dy
∫ z2(x,y)
z1(x,y)dz f(x, y, z)
Itt ügyelni kell a határokraI x mentén haladva minden egyes függvénykiértékeléskor
valójában egy kétdimenziós integrált kell elvégezniI a „belső ciklus” nagyon drága lesz
Példa: integrálás két dimenzióban
Az f függvényt az origóra centrált egységkörön belül szeretnénkintegrálniI a kör egyenletéből a határvonal y = ±
√1 − x2
I ezzel: ∫∫R
dx dy f(x, y) =∫ 1
−1dx
∫ √1−x2
−√
1−x2dy f(x, y)
A többdimenziós integrálás algoritmusaAlgoritmus az előző problémára∫∫
Rdx dy f(x, y) =
∫ 1
−1dx
∫ √1−x2
−√
1−x2dy f(x, y)
I felosztjuk a [−1, 1] intervallumot N részreI ciklussal végigmegyünk a felosztáson, ekkor xi és xi+1 értéke
mindig ismertI elvégezzük a belső integrált az xi és xi+1 értékek mellettI ahogy haladunk x-ben, úgy folyamatosan felösszegzünk
Nem egyszerű:I annyi egymásba ágyazott ciklus lesz, ahány dimenziós az
integrálI a legbelső ciklus egy egydimenziós integrált számolI ügyelni kell a határra; nem mindig konvex vagy összefüggő