i i
Numerikus mdszerek
egyetemi jegyzet
2008
i i i
i i
nm 2008/8/4 15:02 page 5 #2
i i
TARTALOMJEGYZK
7
7 8 9 10 11 13 14 16 18 20
Fggvnyrtkek hibi . . . . . . . . . . . . . . . . . . . . . . . . .
Sorozatok konvergencija, a kzelts rendje . . . . . . . . . . . . . . . . . Analitikus fggvnyek hatvnysora . . . . . . . . . . . . . . . . . . . . . . Richardson-extrapolci 1.6.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A kzelt rtk tizedestrt alakja. rtkes s helyes jegyek
22
24 24 26 29 31 33 35 37 39 40 43 43 44 45
A GaussJordan-mdszer Choleski-felbonts
Az LU felbonts mdszere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tridiagonlis mtrixok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jacobi- s GaussSeidel-fle itercis mdszer . . . . . . . . . . . . Szukcesszv tlrelaxls mdszere (SOR) Alapok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Iteratv mdszerek
Sajtrtk-feladatok
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Fggvnyrtkek kiszmtsa
3.1. 3.2. Polinomok rtkeinek a kiszmtsa. A Horner-sma 3.2.1. . . . . . . . . . . . . Analitikus fggvny rtknek a kiszmtsa hatvnysorral . . . . . . . . .
50
50 53 53 . . . . . . . . . . . . . . . . . . . . . .
(1 + x)
tpus fggvnyek
i i i
i i
nm 2008/8/4 15:02 page 6 #3
i i
Exponencilis fggvnyek
. . . . . . . . . . . . . . . . . . . . . . .
55 57 60 61
64
64 65 67 68 69 71
Regresszi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74 78 78 78 79 80 81 83 83 85 86 87 88 88 89
92
94 95 98
Hrmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Itercis mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Nemlineris egyenletrendszerek megoldsa az rint mdszerrel . . . . . . 106
108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Taylor-sorok mdszere . . . . . . . . . . . . . . . . . . . . . . . . . 110 RungeKutta-mdszerek . . . . . . . . . . . . . . . . . . . . . . . . 110 Vltoz lpskz RungeKutta-mdszer . . . . . . . . . . . . . . 116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Tbblpses mdszerek
i i i
i i
nm 2008/8/4 15:02 page 7 #4
i i
1. FEJEZET
i, j = n, m
- bemeneti vltozk
pre
v1 , v2
i i i
i i
nm 2008/8/4 15:02 page 8 #5
i i
8
10: 11: 12: 13: 14: 15: 16: 17:
visszatrs
k k+1
while ciklus mellett mg a legtbb programozsi nyelvben repeat....until s a for i 0 to n step 2 tpus ciklusok is megjelennek. A step kulcssz elmaradsa az alaprtelmezett egyenknti, step 1, lpsnek
(wi )
vektort mg
(cij )
1.2.
Numerikus mdszerek
Tg rtelemben vve a numerikus mdszerek tmakr lefed minden olyan matematikai alap eljrst, melynek eredmnye egy vagy tbb szmrtk. Amennyiben konkrt, szmokban kifejezhet vlaszt vrunk, a matematikai formalizmus mg egyszerbb krdsek esetn sem mindig elgsges. Ha csak mennyisgi sszefggseket keresnk egy jelensg megrtse cljbl, akkor se llnak rendelkezsnkre mindig
rek.
analitikus mdsze-
csak numerikusan oldhat meg, az analitikus mdszerek csupn a kutatsi munka kezdeti fzisban nyjtvn segtsget. Szigor rtelemben vve analitikusnak szmt az a megolds, amely
zrt alakban adhat meg. Ez olyan kifejezsek segtsgvel rhat fel, amelyek
vges szm sszeads, szorzs s gykvons mveletet tartalmaz. Sok esetben ebbe a osztlyba soroltatnak a jl ismert trigonometrikus s exponencilis fggvnyek, st olyan specilis fggvnyek is, mint a hibafggvny vagy a hipergeometrikus fggvny. Ezzel szemben, vgtelen sorokknt, lnctrtknt vagy valamilyen hatrrtkknt felrt megoldsokat ltalban nem tekintjk analitikusnak. Azt is mondhatjuk, hogy papr s ceruza hasznlata elgsges az analitikus megoldsi mveletsor utols szakaszig, melyben egy kpletbe helyettestve a feladat szmadatait azonnal a vgeredmnyhez jutunk. Ez azzal is jr, hogy a matematikai modell keretein bell pontos megoldst adhatunk vges szm mvelet elvgzse rvn. A legtbb feladat esetn a pontos megoldshoz vgtelen sok mvelet szksges. Ilyenkor a numerikus mdszerek vges pontossggal adnak kzeltst egyszer mveletek nagyszm elvgzse eredmnyekppen. A szmtgpek szmra ez tkletesen testre szabott feladat, ezrt manapsg a numerikus mdszer kifejezs rokonrtelm a szmtgpes mdszerrel, amely a megoldshoz vezet utat egy
algoritmusknt
tssort, rszletes tmutatst vagy receptet rtnk, amely valamely problma megoldsra alkalmas. A matematikban, szmtstechnikban vagy lingvisztikban megszokott rtelmezs alapjn az algoritmus olyan jl meghatrozott utastsok, lpsek sorozata, amelyek mindegyike mdostja a rendszer llapott, s egy adott kiindulsi llapothoz
i i i
i i
nm 2008/8/4 15:02 page 9 #6
i i
egy vgs llapotot rendel. Az algoritmus lehet vgtelen vagy vges, az egyes lpsek pedig lehetnek determinisztikusak vagy tartalmazhatnak vletlenszersget. Ha ms terletekkel val sszehasonlts tjn prbljuk meg krlhatrolni a numerikus mdszereket, akkor azt mondhatjuk, hogy az alkalmazott
numerikus algebra
numerikus analzis,
megoldhat matematikai feladatok megoldsban alkalmazzk. A hangsly nem a megolds ltezsnek bizonytsn, hanem sokkal inkbb a megolds algoritmikus meghatrozsn van. Olyan algoritmusok tanulmnyozsra s fejlesztsre szortkozik, melyek numerikus (szmbeli) megoldst adnak folytonos matematikai problmkra. A numerikus analzis jl krlhatrolhat eszkztr segtsgvel dolgozik, s br clja elssorban a szmtgpes problmamegolds tmogatsa, nem foglalkozik a szmtgp sajtossgaibl add sszes problma taglalsval. De annl nagyobb gyelmet fordt a kzelt mdszerek konvergencijnak tanulmnyozsra s a hibk becslsre. Ezzel szemben a numerikus mdszerek az elrt algoritmusok konkrt, ltalban szmtgpen trtn kivitelezsre sszpontost. Nagyobb hangslyt fektet a kivitelezs gyakorlati vonzataira, mint annak httert megalapoz matematikai elmletre.
1.3.
Kzeltsek, hibk
Egy adott zikai jelensg numerikus ton val tanulmnyozsa esetn a szmts eredmnye a pontos eredmnytl tbb ok miatt is eltrhet. Pldaknt tekintsk az idjrs-elrejelzs pontatlansgait. 1. A megolds alapjul szolgl trvnyek s elvek kzelt termszetek. A hasznlt matematikai modellek meghatrozs szerint csonktott lerst adnak. Az idjrst a lgkr, az ocenok s tengerek, a domborzat hihetetlenl bonyolult klcsnhatsa s olyan kls tnyezk hatrozzk meg, mint a Nap- s kozmikus sugrzs. Ehhez mg hozzjn a modern ember hatsa is a krnyezetre. A legpontosabb szmtgpes modell sem kpes ezen hatsok sokasgt a maga teljessgben kezelni. 2. A problmban megjelen adatok kzelt rtkek. Az adatoknak a pontos rtkktl val eltrsre fels korltot adunk meg, s ezt az lentkez hibkat
adatok hibakorltjnak
rkltt hibnak
ban egy tkletes matematikai modell, az elrejelzs egy kezdeti llapotbl indul ki, melyet a klnbz pontokban mrt hmrsklet, nyoms, szler, csapadk, stb. rtkek jellemeznek. A mrsek termszetesen nem fedik le a lgkr minden apr trfogatelemt s az egyes mrsek is vges pontossgak. 3. Az eljrs sorn egy vgtelen szmtsi folyamatot vgessel helyettestnk, pl. vgtelen sor helyett annak rszletsszegt hasznljuk. Az ilyen jelleg hibt
kplethibnak
egyenletrendszert nem tudjuk analitikusan megoldani. Szmtgpre adaptlt mdszerek az egyenletekben mindazt, ami vgtelenl nagy vagy vgtelenl kicsi, vgessel helyettestik.
i i i
i i
nm 2008/8/4 15:02 page 10 #7
i i
10
4. A numerikus szmtsokat vges szmjegy szmokkal vgezzk, ami a lehetsges vals rtkek halmazt a racionlis szmok egy alhalmazra szkti el. Az ebbl ered hibt
kerektsi hibnak
nevezzk.
5. A mveletek vgrehajtsa kzben keletkezhetnek emberi vagy gpi A numerikus analzis a 2-4. tpus hibk tanulmnyozsra szortkozik.
tvedsek.
egy mennyisg pontos rtke, melyet egy tle kis mrtkben eltr x rtkkel x a kzelt rtke s a kt rtk kztti viszonyt az x jellssel fejezzk ki. Ha x < , akkor x a als-, ha pedig x > , akkor fels kzelt rtke. Pldul az e szm als s fels kzelt rtkei 2.718, illetve 2.719, mivel
Legyen
hibja
x x ,
|x| = | x|
a kzelts
sznk a becslsvel:
abszolt hibakorlt vagy egyszeren hibakorlt. hatrozatlansg fogalmat is. Fennll, hogy
x x x + x ,
vagy tmrebb jellsben:
= x x .
Sok esetben a hibhoz rendelt szm csak a problmban megjelen egyb mennyisgek vonatkozsban rtkelhet nagynak vagy kicsinek. Mg az atomi orbitlok szmtsnl a nanomter tredke is szmt, addig az ptszmrnknek a centimteres hiba is elfogadhat, a csillagszattanban pedig a galaxisok tvolsgnak meghatrozsnl nhny fnyvnyi eltrs sem szmt hibnak. Ezrt hasznlatos a
=
n.
x , ,
a relatv hiba kifejezsben a pontos
relatv hiba.
x . x
i i i
i i
nm 2008/8/4 15:02 page 11 #8
i i
11
A pontos rtk hinyban fellrl becsljk a relatv hibt is. A relatv hibakorlt kifejezhet az abszolt hibakorlt segtsgvel:
x =
teht fennll, hogy:
x , |x|
x x |x| x + x |x| ,
azaz
= x x |x| .
Plda
Egy rd hossza Az abszolt hibakorlt
l = 82.4 0.1 cm. Hatrozzuk meg hosszmrs l = 0.1 82.4cm, ezrt l 0.1 0.0012 = 0.12 % 82.4
relatv hibakorltjt.
x1
x2
a 1 s 2 pontos rtkek kzelt rtkei, x1 illetve x2 hibakorlx = x1 + x2 sszeg, illetve x = x1 x2 klnbsg hibjt. A pontos a hasonl = 1 2 sszefggsek. Meghatrozs szerint a hiba:
|x | = |(x1 1 ) (x2 2 )| .
Hasznlva a hibakorltokat s az ltalnos egyenltlensget kapjuk, hogy:
x1 + x2
i i i
i i
nm 2008/8/4 15:02 page 12 #9
i i
12
Szorzat hibakorltja
Kpezzk az Legyenek
x1
= 1 2 .
+ x = (1 + x1 )(2 + x2 ) = = 1 2 + x1 2 + x2 1 + x1 x2 x x 1 x 2 x 1 x 2 = + + . 1 2 1 2 1 2
Kis hibk esetn a
x 1 x 2
egyenltlensg alapjn:
x x 1 x 2 + 1 2 1 2
ahonnan
x = x1 + x2
(1.1)
Plda
1. Adjuk meg az hibjt, ha:
f (x, y, z ) = xy 2 z 3 x = 37.1 ,
y = 9.87 , y = 0.11 ,
z = 6.052 , z = 0.016 .
x = 0.3 ,
x =
x = 0.81 % , x
y =
y = 1.12 % , y
z =
z = 0.26 % . z
f = x + 2y + 3z = 3.86 % .
A relatv hiba nagysga alapjn hrom szmjegynl tbbet nem rdemes hasznlni a fggvnyrtk felrsban:
f = 0.801 106 ,
s abszolt hibja
i i i
i i
nm 2008/8/4 15:02 page 13 #10
i i
13
2. Egy kr
abszolt s relatv hibval hatrozhatjuk meg a kr terlett, ha a tetszleges pontossggal ismerjk. A kr terlete
d = 682 mm-es tmrjt d = 1 mm-es pontossggal ismerjk. Mekkora szm rtkt T = d2 1 s T = 2d = 2 0.29 %. 4 682 2 = 0.365 m terlet abszolt hibja:
mm
T =
3.65 105
mm
3.1416 6822 = 4
m
= 0.0039
vnynek. Felttelezzk, hogy a behelyettestsi mvelet pontos, azaz a fellp kizrlag a behelyettestett rtk a fggvny dierencilja:
valamely x szomszdsgban elhelyezked rtk. Ha feltesszk, hogy |x| < x , |y | |f (x)|x . Ennek alapjn a fggvny s argumentuma hibakorltai kztti y = |f (x)|x .
sszefggs:
Hangslyozzuk, hogy a fenti kplet csak akkor hasznlhat, ha az argumentum korltja megfelelen kicsi. A relatv hibakorlt:
hiba-
y =
Tbbvltozs
(1.2)
z = f (x1 , x2 , . . . , xn ) z
f f f x 1 + x 2 + + x n . x1 x2 xn
z =
i=1 n
f x i , xi log f xi . xi
z =
i=1
i i i
i i
nm 2008/8/4 15:02 page 14 #11
i i
14
Hatvnyfggvnyek hibakorltja
Az
y = xm
xm = |m|x ,
azaz a hatvnyfggvny relatv hibakorltja arnyos az argumentum relatv hibakorltjval. Itt klnsen az
f (x) = 1/x
1/x = x .
A fenti egyenletre tmaszkodva megllapthat, hogy az hnyados relatv hibi megegyeznek.
x = x1 x2
szorzat s
x = x1 /x2
y = ax , a > 0,
akkor
y (x) = ax log a.
A hibakorltok:
ax = ax log a x ,
Ha
ax = log a x .
a=e
ex = x .
1.4.
A jelenlegi digitlis szmtstechnikai technolgik a fggvnyrtkek kiszmtst elemi mveletekre vezetik vissza. Amint azt a kvetkez fejezetben ltni fogjuk, a legtbb fggvny esetben ez nem kivitelezhet vges szm lpsben. Ez a leggyakrabban elfordul kplethiba. Az erre vonatkoz tudnivalkat a 1.5 s 3 fejezetekben rszletezzk. Sok esetben a keresett rtket csak fokozatos kzeltsekkel tudjuk megbecslni. Pldul egy fggvny gykt, derivltjt, vagy akr egy adott pontban val behelyettestsi rtkt is valamely
konvergens
sorozat
hatrrtkeknt
matematikai rtelmezsek s ttelek tbbsge ltalnosan, absztrakt szmhalmazokra is megfogalmazhatak. A szmtgp viszont a vals szmok halmazbl is csak annak racionlis alhalmazt tudja brzolni. Mivel brmely vals szmot tetszlegesen meg lehet kzelteni valamely racionlis szmmal, a tovbbiakban minden megllaptst a vals szmok halmazra (R) vagy az abbl direkt szorzat ltal kpezett tbbdimenzis trre (R
rtjk, hogy a
n = |xn | ,
hiba
megengedett hibra
ltezik
egy olyan
N( )
lpsszm, melyre
N ( ) .
i i i
i i
nm 2008/8/4 15:02 page 15 #12
i i
15
n+
lim xn = ,
n+
lim n = 0 .
A pontos rtk ismeretnek hinyban a hiba abban a formban, ahogy az (1.3)-ban megjelent, a gyakorlatban nem hasznlhat. Viszont brmely sorozatra fennll, hogy ha konvergens, akkor egymst kvet kt elem klnbsge tart nullhoz. Formlisan felrva:
n+
m = 1, 2, 3, . . . .
sszefggs alapjn, melyet vagy az
rekurrencis
N( )
Ugyanakkor arra
treksznk, hogy gyorsan konvergl mdszert hasznljunk, azaz olyat, amely a kvnt pontossgot a lehet legkisebb
N( )
egymst kvet lpsek hibi kztti polinomilis sszefggs adja meg. Ha a hiba mr kellkppen kicsi, akkor fennll, hogy
n+1 = lland (n )m
rekurrencia-kplet szerint tart a nullhoz. lnk, mg az
m1
(1.4)
m>1
eseteket
gencia azt jelenti, hogy az egymst kvet rtkes szmjegyek pontos meghatrozsa linerisan kapcsoldik a befektetett szmtsi erhz. A sorozat nagy hetjk az
jellssel. Az
xn
xn = O(n ) ,
ha az
xn
arnyos
i i i
i i
nm 2008/8/4 15:02 page 16 #13
i i
16
Plda
n1 1 =O 2 n n 1 1 + e n = O n n en + 10e1.01n = O en
1.5.
Egy vals
analitikus
pontban, ha egy
|x | < R
krnyezetben
f ( ) f (n) ( ) (x )2 + + (x )n + = 2! n!
k=0
f (k) ( ) (x )k . k!
R)
az
f (x)
fggvny
konvergencia
f (x) fggvny sorfejtseknt vagy Taylor-soraknt is ismeretes. ( R, + -re vonatkoztatott Taylor-sornak konvergencia tartomnya. Ha a fennll brmilyen R rtkre, akkor a fggvnyt teljesnek nevezzk. Teljes
fggvnyre plda az exponencilis, szinusz s koszinusz fggvnyek. Ezzel szemben a logaritmus vagy tangens fggvnyek analitikus, de nem teljes fggvnyek. A 3 fejezetben tbb fggvny Taylor-sora is megtallhat. A
=0
n szm tag
utn, akkor a
Tn (x) =
k=0
rszletsszeget a fggvny az
f (k) ( ) (x )k k!
n-dik
f (x)
fggvnyt a
+ (x ), 0 < < 1
Rn (x) =
(1.5)
i i i
i i
nm 2008/8/4 15:02 page 17 #14
i i
17
Ezt
maradk tagnak
f (x)
Rn (x) =
f (x)
+h
pontban. Nevezzk
h-t
f ( + h) = Tn ( ) + Rn (h) ,
ahol
Rn (h) =
(0 < < 1) h
lpskzt. Egy msik le-
hetsg a Taylor-polinom foknak, azaz a kzelts rendjnek a nvelse. De vajon minden esetben nvelve a hatvnysor hosszt javthat a kzelts? A Taylor-kplet felrsban hrom adat szerepel: az fgg. Ha a
f (x) fggvny, a
pont s a
rend Taylor-kzeltsek nagyobb hibt eredmnyeznek. Ezt nevezzk Runge-hatsnak. Az elbbiek nyomn egy lnyeges kvetkeztetsre jutottunk: Nem minden fggvny s nem minden pontban kzelthet jl polinommal. Ez esetben a magasabb rend kzelts nem jelent nagyobb pontosgot. Ilyenkor a pontossgot csak a
Az (1.5) maradk tag kiszmtsa a fggvny tpustl fggen lehet knnyebb vagy nehezebb feladat. Egy msik, ltalnosan alkalmazhat mdja a hiba becslsnek azon a tnyen alapszik, hogy a konvergens sor utols tagja nagyobb mint a maradk:
Rn (x) <
Mivel az
f (n) ( ) (x )n n . n!
s
n-ik tag megadhat mint a rendben egymst kvet, Tn1 n = |Tn Tn1 | < ,
Tn , rszletsszegek
ahol
a megkvnt pontossg. A
Rn1 (x)
mara-
dk tagjnak rtkhez ll kzelebb. Gyorsan konvergl sorok, azaz kis szm iterci esetn ez durva becslsnek bizonyulhat s egy lpssel tbbet eredmnyezhet a szksgesnl. Legtbb esetben ez nem szempont mivel a maradk tag kiszmtsnak kltsge hozzvetlegesen megegyezik egy jabb, magasabb rend tag kiszmtsval.
i i i
i i
nm 2008/8/4 15:02 page 18 #15
i i
18
1.6.
Richardson-extrapolci
I = limh0 (h)
tpus hatrrtket.
Numerikus problmkban gyakran keresnk kz rvn rtelmezett. Kzvetett clunk olyan legmagasabb rend kzeltst adja az
Ilyen pldul a derivlt vagy integrl esete. Mindkt mennyisg valamely eltn
lps-
(h)
hatrrtknek. Ha a
(h)
Taylor-sort az (1.6)
k1 1-ed rend megkzeltse az I -nek. A Richardson(h), k1 s k2 esetn olyan (h) fggvny szerkeszthet, amely k2 1-ed rend megkzeltst adja ugyanannak az I hatrrtknek. Az eljrs a kvetkez: vlasszunk egy c > 1 szmot s szmoljuk ki a (h/c) rtket, azaz cskkentsk le a h lpskzt annak c-ed rszre. Ez esetben (h/c) = I +
Beszorozva az (1.7) egyenletet
a2 a1 k1 h + k2 hk2 + . ck1 c
(1.7)
ck1 -el
(h) =
fggvnyt, melynek Taylor-sora:
(h), k2
I -nek. A mvelet azonos mdon megismk3 -bl kiindulva. Megfelel szm lpsben tetszleges rend kzelts ki = 2i, c = 2
sajtos esetet tzetesebben is
= = =
. . .
= I + b2 h4 + b3 h6 + , = I + c3 h6 + c4 h8 + , = I + d4 h8 + d5 h10 + ,
. . .
k (h)
4k
I + O(h2(k+1) ) .
k (h) kiszmtsnak elfelttele a k2 (h), k2 (h/2), k2 (h/4) k3 (h), k3 (h/2), k3 (h/4), k3 (h/8) rtkekbl alakthat ki,
i i i
i i
nm 2008/8/4 15:02 page 19 #16
i i
1.6. RICHARDSON-EXTRAPOLCI
19
0 (h), 0 (h/2), . . . , 0 (h/2k ) valamilyen lineris kombincija. Az albbi algoritmus segtsgvel megkaphatjuk az I hatrrtk 2M +1-ed rend kzeltst. n Vezessk be a D (n, k ) k (h/2 ) jellst.
melyek vgs soron a 1. Szmtsuk ki a 2. Hasznlva a
D(n, 0) = (h/2n ), n = 0, M
rtkeket.
D(n, k ) = k = 1, M , n = k, M
(1.8)
D(2, 2) D(3, 2)
. . .
D(3, 3)
. . . .. .
D(M, 0) D(M, 1)
haladva.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
D(M, 2) D(M, 3) . . .
D(M, M )
function RichardsonExtrapolacio( in: y, h, M out: I for n 0 to M do end for for k 1 to M do for n k to M kdo
D(n, k ) = D(n, 0) y (h/2n )
4k
4 1 D(n, k 1) + k D(n 1, k 1) 1 4 1
legnagyobb
rtk mellett kell megprblnunk javtani a kzelts rendjt. Ez a helyzet Az integrlsi tartomny felosztsnak nomtsa az integrandusz egyre
ll fenn az integrlok becslsnl is, miknt azt a Romberg-mdszerrl szl fejezetben ltni fogjuk. nagyobb szm kirtkelsvel jr, ami elkerlend. Ilyen esetben az (1.8) iterci szmtsi ignye elhanyagolhat a kltsges
D(n, 0)
D(n, 0)
D(n, 0)
i i i
i i
nm 2008/8/4 15:02 page 20 #17
i i
20
zols
helyrtkes szmbrx
szm
trt alakja:
tizedes
(1.9) (1.10)
rtkes szmjegy.
hrom nulla rtk szmjegye nem rtkes, mg az utols nulla az. Rendszerint a
102 exponencilis alakot hasznljuk. Az x kzelt rtk i-edik szmrtk helyes, ha a hiba kisebb mint az eggyel kisebb szmrtknek a fele, azaz | x | < 1 10i1 . 2
Szmok kerektse
A kzelt szmolsban a szmok kerektst a kvetkez szablyok szerint vgezzk: 1. Ha az els elhagyand szmjegy 5-nl nagyobb vagy 5, de utna egy vagy tbb nulltl klnbz rtkes jegy ll, akkor a meghagyott utols szmjegyet egy egysggel megnveljk. 2. Ha az els elhagyand szmjegy 5-nl kisebb, akkor a meghagyott szmjegyek vltozatlanok maradnak. 3. Ha az elhagyand szmjegy 5, s utna nincs nulltl klnbz rtkes jegy, akkor a meghagyott utols szmjegyet pros szm esetn vltozatlanul hagyjuk, pratlan szm esetn egy egysggel megnveljk. Ezeknek a szablyoknak a betartsval a kerektsi hiba nem haladja meg az ltalunk meghagyott utols rtkes jegy helyrtknek a felt.
i i i
i i
nm 2008/8/4 15:02 page 21 #18
i i
1.6. RICHARDSON-EXTRAPOLCI
21
Plda
1. Kerektsk a jegyre! A
= 3.14159265... 3.141593,
3.1415927,
illetve
3.14159,
3.1416,
104
5 103
hibakorltoknl.
2. Kerektsk a 0.032051 szmot ngy, ill. hrom rtkes jegyre. A 0.03205, illetve a 0.0320 kzelt rtkeket kapjuk, amelyeknek abszolt hibja
1 106
illetve
5.1 105 . T = ab
szorzatban a helyes jegyek
a = 42.23m
es
b = 14.3m
a = 5 103 ,
Minhogy
b = 5 102 ,
m , gy
T = 603.889
T T T 604 T = 603 2
m
0.0036 2.2
m , teht a
i i i
i i
nm 2008/8/4 15:02 page 22 #19
i i
2. FEJEZET
brmilyen ms fggs elsrendben visszavezethet ilyen kapcsolatra. Ugyanakkor, a zika alapvet elmletei, mint pldul az elektrodinamika s a kvantummechanika, lineris- s az ebbl szrmaztatott terekre plnek. Taln a leggyakrabban elfordul matematikai feladat az albbi mdon felrt lineris egyenletrendszer (LE) megoldsa:
(2.1)
mok az
aij szmok a rendszer egytthati ; az xj mennyisgek az ismeretlenek ; s a bi szlland vagy inhomogn tagok. Az n az ismeretlenek (vltozk) s k az egyenletek
szmt jelli. Hasonlval tallkozunk tbbek kztt a mechanikban, a villamossgtanban, valamint az kolgiai, gazdasgi s ms vizsglatok sorn. De nem csak nmagban ll feladatok esetn fordulnak el. Erre pl szmos ms numerikus mdszer is. A ksbbiekben trgyalt interpolcis, kvadratra s dierencilegyenlet megoldsi feladatoknl is valamely LE-en keresztl jutunk el az eredmnyhez. Legmeggyzbb pldt taln a folyadkok s mezk lershoz hasznlt parcilis dierencilegyenletek szolgltatjk. Diszkretizlva a teret s az idt nagyszm, akr sok ezer egyenletbl ll LE-re rjuk t a kontinuum egyenleteinket. LE-be tkznk approximcis feladatokkal kapcsolatban, peremrtkfeladatok kzelt mdszerrel val megoldsnl s rezgsi feladatokban is. Ha nemlineris egyenletrendszerrel modelleznk, azt is csak akkor tudjuk megoldani, ha elbb linearizljuk valamilyen kzelts alkalmazsval. ppen ezrt, a lineris egyenletrendszerek megoldsi mdszereinek szakirodalma meglehetsen kiterjedt.
22
i i i
i i
nm 2008/8/4 15:02 page 23 #20
i i
b1 b2 = ... . bk
(2.2)
Ax=b
elemeket tartalmaz mtrixot ket tartalmaz mtrixot
(2.3)
a A-val, az x elemeket tartalmazt x-el, valamint a b elemejellve a (2.3) mtrixegyenlethez jutunk. A tovbbiakban
b-vel
az elbb bevezetett jellst alkalmazzuk, mgpedig vastagtott nagybetkkel a mtrixokat, vastagtott kisbetkkel a vektorokat, mg ezek elemeit vastagts nlkl de indexekkel elltva hasznljuk. Egy (2.1) formban megadott lineris egyenletrendszerbl nehz rnzsre kiolvasni a megoldsait, vagy azt, hogy egyltaln vannak-e ilyenek s hnyan. Ezrt n.
gyktart talaktsokat
k>n k<n
nk
k = n
s az
megoldsa van az sszes vltozra. A Kramer-szably alapjn, ha ltezik az mtrix inverze, a megolds
x = A 1 b
alak.
(2.4)
Numerikus trgyalsunkban mi csak az utbbi esetet fogjuk vizsglni felttelezve, hogy a rendszernek pontosan egy megoldsa van. Ez az eljrs nem megfelel numerikus szempontbl, mert az inverz mtrix kiszmtsa tbb elemi mveletet ignyel, mint amennyit a feladat megoldsa szksgess tesz. ltalban az
megoldsok keressre. Ezeket kt csoportba: a direkt, illetve az itercis mdszerek csoportjba sorolhatjuk. Az egyes mdszerek hatkonysgt elssorban a szmtsi ignynek a rendszer
n +
hatrrtkben val aszimpttikus viselkedsvel jellemezzk az eljrs hatkonysgt. Vegyk az alapvetbb mtrixmveletek szmtsi ignyt: kt vektor sszeadsa, kivonsa: kt mtrix sszeadsa:
x1 + y1 , x2 + y2 , . . . , xn + yn ; n
mvelet;
mvelet;
aij + bij , i, j = 1, n; n2
i i i
i i
nm 2008/8/4 15:02 page 24 #21
i i
24
n1
sszeads, sszesen
x1 y1 + x2 y2 + + xn yn = 2n 1 2n O(n) mvelet;
n j =1
n i=1
xi yi ; n szorzs,
aij xj , i = 1, n; n
mvelet;
n j =1 3
aij bjk , i, k = 1, n; n2
mvelet.
A fentebbiekbl nyilvnval, hogy kt mtrix szorzsa lehetsg szerint elkerlend. Egy msik tnyez mely szinte kizrlag a lineris egyenletrendszerek esetn mrvad, az algoritmus ltal futs kzben ignybevett trhely nagysga. A szmtgpek memrijt manapsg mr gigabjtokban szmoljuk, teht a nyolc bjton brzolt lebegpontos szmokbl szzmillis nagysgrendben tudunk trolni. Ritka az olyan feladat, mely ekkora mret vektorok hasznlatt tenn szksgess. Mtrixok esetn viszont ez
n 10000
megszokott. Ilyenkor elnyt jelenthet az olyan algoritmusok hasznlata, amelyek a mveletek sorn az eredeti mtrixon vgeznek mdostst anlkl, hogy jabb mtrixnak foglalnnak le helyet az eredmny trolsa cljbl.
2.1.
Direkt mdszerek
Ezek a mdszerek (algoritmusok) vges szm lps elvgzse utn megadjk a rendszer megoldst. Az algoritmus sorn fellp hibk fknt a kerektseknek tulajdonthatk. Ebben az alfejezetben nhny ilyen mdszert ismertetnk.
nn
nagysg s
a11 0 ... 0
Ekkor gyakorlatilag
0 a22 ... 0
b1 b2 = ... . bn
xi =
bi , aii
i = 1, n
alakban rhat fel. Programozsi szempontbl ez egy egyszer ciklust jelent, amely sorn az ismert tls mtrixelemek alapjn megkapjuk a keresett
xi
ismeretlenek rtkeit:
i i i
i i
nm 2008/8/4 15:02 page 25 #22
i i
25
1: 2: 3: 4: 5: 6:
function tlsMtrix( in: (aij ), (bi ) out: (xi ) for i 1 to n do end for return (xi ) end function
xi bi /aii
i, j = 1, n
Ha egy adott
lehet. A megoldshoz
i index esetn aii = 0 s bi = 0, akkor az xi megolds brmilyen vals szm n osztsi mvelet szksges. Viszont, ha aii = 0 s bi = 0, akkor A
mtrixa csak
nincs megoldsa a rendszernek. Egy msik, egyszeren kezelhet plda egy olyan rendszer, melynek az tln s alatta tartalmaz nem eltn elemeket, azaz
a21 x1 )/a22 .
ismeretben az
xi =
1 bi aij xj , aii j =1
i1
i = 1, n
(2.5)
kifejezs adja. A fenti sszegzsben, s a tovbbiakban mindentt, ha az als hatr nagyobb mint a fels, akkor az sszeg nulla. Ezt a mveletsort zk. Kt egymsba ptett ciklussal valsthat meg:
visszahelyettestsnek
nevez-
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
function VisszahelyettestsEllrl( in: (aij ), (bi ) out: (xi ) for i 1 to n do end for
x i bi for j 1 to i 1 xi xi aij xj
i, j = 1, n
do
xi xi /aii
lerhat rendszer:
b1 ... . bn1 bn
i i i
i i
nm 2008/8/4 15:02 page 26 #23
i i
26
xn
xi
elemet az
xi+1 , . . . , xn
elemek ismeretben az
xi =
i = n, 1
(2.6)
kifejezs adja. Programozsi szempontbl az elz esethez kpest az egyetlen eltrs, hogy most a ciklusunk htulrl elre halad, vagyis a megoldsok meghatrozsra egy egyig fut ciklust fogunk hasznlni:
n-tl
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
function VisszahelyettestsHtulrl( in: (aij ), (bi ) out: (xi ) for i n to 1 step 1 do end for
x i bi for j i + 1 to n xi xi aij xj
i, j = 1, n
do
xi xi /aii
n2 /2.
Nzzuk most meg, hogy mi trtnik olyankor, mikor nem az elbbi szerencss esetek
T1
T1 A x = T1 b ,
majd a
T2
T2 T1 A x = T2 T1 b .
Az
m-ik
A x=b ,
ahol
(2.7)
A = Tm ... T2 T1 A ,
b = Tm ... T2 T1 b ,
i i i
i i
nm 2008/8/4 15:02 page 27 #24
i i
27
A, b A , b
transzformci helyett
A, x A , x
1 (A Q1 ) (Q 1 x) = b ,
1 1 (A Q1 Q2 ) (Q 2 Q1 x ) = b ,
...
Szemben az elbbi esettel, itt szksges szmontartanunk a vgzett transzformcikat, mivel a megoldst nem a vgs
x,
hanem az eredeti
Ti
b-ben,
nem mdosul az
eredeti (2.1) egyenletrendszer kt egyenletnek trivilis felcserlst jelenti. Hasonlkppen, ha brmelyik sort az vgznk el a
A-ban
rtetdik, tudnillik kt egyenlet sszeadsa nem mdostja a megoldst. Kt oszlop cserje a sgess a
A-ban
n3 -el arnyos szmtsi kltsgnek elkerlse rdekben kihasznljuk azt a tnyt, hogy a fenti mveleteknek megfelel transzformcis mtrixokban csak n elem klnbzik nulltl. Ezrt a sorok s oszlopok mdostst kzvetlenl elvgezhetjk n-el
A mtrix szorzsok arnyos mvelettel. Tekintsk a mr az elbbiekben is hasznlt
nn
(1) (2)
(1)
(1)
(1)
.
(2.8)
Az
gy adom hozz a tbbi sorhoz, hogy azok els egytthatja eltnjn. Felttelezzk, hogy
a11 = 0.
(1)
Ha a kivons ltal
(1)
(1)
-szerest az
i.
egyenletekbl (i
> 1).
aij bi
= =
(2)
li1 b1 .
(1)
(2.9)
i i i
i i
nm 2008/8/4 15:02 page 28 #25
i i
28
(2)
a11 0 ... 0
(1)
(1)
(1)
.
(2.10)
Ha
a22 = 0, nn
i>2
egyenletek esetben.
aij
(k+1)
= aij =
(k ) bi
(k)
(k+1) bi
aik
(k)
(2.11)
k = 1, n 1 , i = k + 1, n , j = k, n .
Az
akk
(k )
felem nek
nevezzk.
Tovbb folytatva az elbbi mveletet (amennyiben nincs fennakads az miatt) a vgn a kvetkez rendszerhez jutunk:
aii = 0
(i)
a11 0 ... 0
(1)
(1)
(1)
.
(2.12)
i, j = 1, n ) A mtrixot s
end for end for end for return (aij ), (bi ) end function
akk = 0
(k )
i i i
i i
nm 2008/8/4 15:02 page 29 #26
i i
29
A kapott rendszer mtrixa egy fels-hromszg mtrix. Amennyiben az utols egyenletre is rvnyes az
ann = 0
(n)
n3 / 3
n2 /2
Plda
Pldakppen tekintsk t a mdszer lpseit egy konkrt egyenletrendszer esetn:
3 3-as
mtrixszal lerhat
1 5 2 x1 2 1 2 3 1 x2 = 5 2 4 3 x3 2 2 1 5 2 x1 7 0 7 1 5 x = 2 20 x 0 0 23 3 7 7
1 5 0 7 0 6 .
2 x1 2 5 x2 = 1 1 x3 2
A pldban a nyilakra a felemet rtuk fel. Innen kezdve (2.6) alapjn lentrl felfel visszahelyettestnk, s megkapjuk a megoldsokat:
x3 =
20 , 23
x2 =
11 , 23
x1 =
31 . 23
2.1.3. Felemkivlaszts
Idzznk mg el egy pillanatot a kikszblsek sorn felttelezett
akk = 0
(k)
felt-
teleken, amelyek teljeslse nlkl elakad a Gauss-fle kikszblsi mdszer. Egyszer algebrai mdszerekkel belthat, hogy a kikszbls pontosan akkor vgezhet el, ha rendre teljeslnek a
a11
. . .
...
.. .
a 1n
. . .
=0
(2.13)
an1
...
ann
a megolds beindthatsgt garantlja. E ttel szerint a Gauss-eliminci gyakran elvgezhetetlen, amikor a rendszernek van egyrtelm megoldsa, hiszen ahhoz csak az
k = n-edik
akk = 0
(k)
i i i
i i
nm 2008/8/4 15:02 page 30 #27
i i
30
felemkivlaszts
Elfordulhat, hogy bizonyos sorok esetben nem teljesl a fenti felttel. Ilyen esetben mdszert alkalmazzuk, vagyis az egyes sorok, oszlopok vagy mind-
a22 eltnik, a msodik sort a harmadik vagy negyedik a42 nem nulla egytthatt mozgathatjuk az a22 helyre, s a msodik oszlop kikszblse is lehetsgess vlik. Az A mtrix sorainak felcserlsvel egyidben a b oszlopmtrix megfelel sorainak felcserlst is el kell vgeznnk.
oszlop kikszblst kveten sorral felcserlve az
a32
vagy
Sorcsere helyett oszlopcsert is hasznlhatunk ugyanabbl a clbl. Elnye az, hogy nem teszi szksgess a
bi
xi
tagokt
igen. Amennyiben a szban forg feladatban ezek sorrendje lnyeges, az egyenletrendszer megoldst kveten az eredeti sorrend visszalltsa tovbbi adminisztrcit tesz szksgess. Ha algoritmusunk csak sorok vagy csak oszlopok felcserlsvel vlaszt ki felemet, ezt felcserlse segtsgvel kapott felem n.
oszlopok
A felemkivlaszts szerepe nem merl ki az esetleges nulla tlmenti tagok kikszblsben. Amint azt az els, a mveletek pontossgrl szl fejezetben kifejtettk, kis abszolt rtk szmokkal val oszts nagy pontatlansggal jr. A pontossg nvelsnek rdekben a lehet legnagyobb szmrtk egytthatt vlasszuk felemnek. A mdszerrel kapcsolatosan mg egy fontos szrevtelt tehetnk. Ez kti a kikszblsi mdszert a kvetkez alfejezetben bemutatsra kerl LU sztbonts mdszerhez. Ennek rdekben szerkesszk meg a kikszbls sorn hasznlt
(j )
(j )
(2.14)
l21 L= ... l n1
0 1 ... ln2
0 0 ... 1
(2.15)
A=LU,
ahol
(2.16)
U -val
az
LU
N
mtrix
(L U )ij =
k=1
elemeit. Ttelezzk fel, hogy az lii
lik akj
(k)
(2.17)
i < j.
k > i
tagjban az
lik = 0
(hisz ezek pont az tl fltti 0 mtrixelemek). Ha mg gyelembe vesszk azt is, hogy
= 1,
(L U )ij =
k=1
=
k=1
(k)
(i)
(2.18)
i i i
i i
nm 2008/8/4 15:02 page 31 #28
i i
31
i1
(L U )ij =
aik
(k ) (k) (i)
i1 (k) (k+1)
+ aij = aij
(i)
(1)
(2.19)
lesz, ami nem ms, mint az eredeti, kiindul mtrixunk. Az igazols mkdik, ezt gyakorlatknt az olvasra bzzuk.
Ennek az szrevtelnek a lnyege az, hogy a Gauss-mdszer gyakorlatilag az egyenletrendszernk mtrixt kt mtrix szorzatra bontja, nevezetesen egy als-hromszg s egy fels-hromszg mtrix szorzatra. Ily mdon, a Gauss-fle kikszbls mdszere ekvivalens a ksbbiekben trgyalt LU sztbonts mdszervel.
2.1.4. A GaussJordan-mdszer
A GaussJordan-mdszer az egyik legrgebbi, viszonylag knnyen megrthet mdszer. Ebben az esetben az tl alatt, illetve felett elhelyezked elemek kinullzsa egyidben trtnik. Az eltrs a Gauss-fle kikszblsi mdszerhez kpest az, hogy egy adott oszlop kinullzs mind a ftl feletti, mind pedig a ftl alatti elemeket rinti. mtrix esetn az
4 4-es
a11 0 ... 0 0
0 a22 0 0
k -adik
ugyanaz, mint (2.11)-ben. A vltozs lnyegben az indexek kezelsben mutatkozik. A GaussJordan mdszer esetn:
k = 1, n ; i = k ; j = k, n.
i, j = 1, n
i i i
i i
nm 2008/8/4 15:02 page 32 #29
i i
32
13: 14:
Fontos itt mg megjegyezni, hogy a GaussJordan-kikszblst sosem hasznljuk felemkivlaszts alkalmazsa nlkl. Abban az esetben, ha nem csak az egyenletrendszer megoldsa a krds, hanem az
A mtrix inverze is rdekel minket, a mdszer hatkonysga nem sokkal marad el a tbbi
ltalnos mdszertl. Azonban ha a mtrix inverzre nincs szksgnk, akkor hromszor lassbb, mint a legjobb alternatv eljrs (pl. az LU felbonts).
Plda
Az algoritmus mkdst a kvetkez
1 3 3 1 1 0 1 0 0 1 0 4 0 0 1 0 2 0 0 1 0 0.5 0 0 2 4 3 1 0 4 0 0 0 4 0 0 0 4 0 0
4 4-es mtrix pldjval szemlltetjk: x1 1 2 3 2 2 1 2 x2 = 2 3 3 1 2 x3 3 2 2 3 x4 x1 3 2 1 8 4 x2 = 1 0 8 4 x3 1 0 x4 2 x1 1 0 0.5 8 4 x2 = 1 0.75 2 1 x3 3 1 x4 1.75 x1 0 0.5 0.125 0 0 x2 = 4 0.75 2 1 x3 0 0.5 x4 0.625 x1 0.5 0 0 0 0 x 2 = 4 2 0 2 x3 0 0.5 0.625 x4 x1 = 0.5; x2 = 1; x3 = 1; x4 = 1.25
i i i
i i
nm 2008/8/4 15:02 page 33 #30
i i
33
A=LU,
ahol
(2.20)
0 l22 ... l n2
u11 0 U = ... 0
Ax=b
Ly =b
rendszert megoldjuk
y -ra,
majd az
U x=y
egyenletrendszert oldjuk meg
x-re.
zetben bemutatott elre, illetve htra irny behelyettestsek mdszervel. A nyitott krds mr csak az marad, hogy hogyan szerkesztjk meg az mtrix elemei kzl az egyiket akr tetszlegesen is megvlaszthatjuk. Egy ilyen azonnali lehetsg, ha az Ezutn mr az
is megtehetjk, ha az
tlsgosan sajtos esetek lennnek. Egy msik mdszerrel mr tallkoztunk. Ez nem lenne ms, mint az elbbi fejezetben megmutatott Gauss-fle kikszbls mdszere, melyre megmutattuk, hogy a rendszer mtrixt pont egy ilyen
LU
esetben nem kivitelezhet. Egy msik lehetsg, melynek igazolsra nem fogunk kitrni, az ellltsa kesztst: 1. Vgrehajtjuk az lii 2. Minden egyes Elszr:
Crout
mtrixok
= 1, i = 1, n
rtkadsokat.
j = 1, n
i1
uij = aij
k=1
lik ukj ,
i = 1, j .
(2.21)
i i i
i i
nm 2008/8/4 15:02 page 34 #31
i i
34
Msodik lpsben:
lij =
1 ujj
j 1
aij
k=1
lik ukj
i = j + 1, n .
(2.22)
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
function Crout( in: (aij ) out: (lij ), (uij ) for i 1 to n do end for for j 1 to n do for i 1 to j do for k 1 to i 1 do end for end for for i j + 1 to n do
lij aij uij uij lik ukj uij aij lii 1
i, j = 1, n
A fenti algoritmus biztostja, hogy az egyenletek jobb oldaln szerepl, ppen felhasznlsra kerl s
n3 3
+ n2
Az LU felbonts hasznlatnak elnye akkor ltvnyos, ha tbb egyenletrendszert szeretnnk megoldani, melyek csak a jobb oldalukban klnbznek egymstl (azaz csak a
oszlopmtrixban). Ez az eset pldul akkor fordul el, ha egy mtrix inverzt sze-
n3 3 szm mvelet elvgzst felttelezi. Viszont, ha mr ismerjk a rendszer mtrixnak LU felbontst, akkor n2 a visszahelyettests 2 mvelettel oldhat meg. gy, ha az egyenletrendszer egytthati nem vltoznak, az LU felbontst elegend egyszer elvgezni, s utna csak a visszahe-
egyenletbl s
oszlopmtrixokra.
Egyrtelmen megmutathat az LU felbonts mdszernek elnye a Gauss-fle kikszblshez kpest az inverzmtrix szmtsnak esetn. Ekkor a Gauss-fle kikszbls mveletignye
n4 3
n3 2
i i i
i i
nm 2008/8/4 15:02 page 35 #32
i i
35
Plda
Pldaknt alkalmazzuk a fenti felbontst egy
1 3 3 1
2 2 3 3
3 1 1 2
1 2 3 2 = 2 3 1 2
0 1 0.75 0.25
mtrixra:
3 8 2 0
2 4 . 1 0.5
(2.23)
1 3 3 1
2 2 3 3
3 1 1 2
x1 2 x2 2 2 x3 x4 2
1 2 = 3 3
y1 y2 y3 y4 x1 x2 x3 x4
1 2 = 3 3 y1 y2 = y3 y4
2.1.6. Choleski-felbonts
Az LU felbonts egyik fontos vltozata a Choleski-felbonts, amely szimmetrikus s pozitv denit mtrixok esetn alkalmazhat. Szmotteven javtja a szmtsi idt az ltalnosabb LU felbonts mdszerhez viszonytva. a
A mtrix meghatrozs szerint pozitv denit, ha xT A x > 0 x vektorra abbl trbl, amelyen az A mtrix rtelmezett. Kimutathat, hogy brmely szimmetrikus s
Az
A = L LT
mdon, ahol
(2.24)
LT
az
i i i
i i
nm 2008/8/4 15:02 page 36 #33
i i
36 Pldul, egy
4 4-es mtrix esetn ez azt jelenti, hogy l11 l12 l12 l11 0 0 0 l21 l22 0 0 l22 l23 0 l31 l32 l33 0 0 0 l33 0 0 0 l41 l42 l43 l44 a11 a12 a13 a14 a21 a22 a23 a24 = a31 a32 a33 a34 . a41 a42 a43 a44 k.
k1
1/2 2 lks
(2.26)
lkk =
akk
s=1
k1
ljk =
ajk
s=1
ljs lks
/lkk
(2.27)
j = k + 1, n.
i, j = 1, n
end for
lkk lkk for j k + 1 to n do ljk ajk for s 1 to k 1 do ljk ljk ljs lks
1/2
end for
A tovbbiakban, akrcsak a Crout mdszer esetben, a megoldsokat az jonnan kapott kt egyenletrendszer elre illetve htra irny behelyettestsvel kapjuk meg.
Plda
i i i
i i
nm 2008/8/4 15:02 page 37 #34
i i
4 4-es
2 1 4 1 = 5 2 2 8 0 2.2913 1.5275 0.3273 0 0 1.5275 0.8729 3.4641 0 0 0 0 0 0 2.6547 0.8660 0.5774 0.2887 2.2913 1.5275 0.3273 . 0 1.5275 0.8729 0 0 2.6547
aij = 0 minden (ij ) esetn, melyekre teljesl a |i j | > 1 felttel. Szemlletesen, egy ilyen egyenlet d1 c1 0 0 ... 0 0 0 x1 b1 e1 d2 c2 0 ... 0 0 0 0 e2 d3 c3 . . . x2 b2 0 0 0 x3 b3 ... ... ... ... ... ... ... ... (2.28) ... = ... ... ... ... ... ... ... . . . . . . xn1 bn1 0 0 0 0 . . . en2 dn1 cn1 xn bn 0 0 0 0 ... 0 e n1 dn
alak. Ilyen mtrixok lpnek fel pldul a parcilis dierencilegyenletek vgeselem diszkretizcijnl. Az ilyen tpus egyenletrendszereket legknnyebb a Thomas algoritmussal megoldani, ami tulajdonkppen a Gauss kikszbls tridiagonlis mtrixra egyszerstett vltozata. Elszr sorrendben eltntetjk az tl alatti elemeket, s az tln lev elemeket egysgnyire normalizljuk. Els lpsben:
c1 =
Ezutn, a tbbi
b1 c1 ; b1 = . d1 d1
(2.29)
i = 2, n
elemre vgrehajtjuk a
ci =
(2.30)
i i i
i i
nm 2008/8/4 15:02 page 38 #35
i i
38
1 0 0 ... ... 0 0
c1 1 0 ... ... 0 0
0 c2 1 ... ... 0 0
0 0 c3 ... ... 0 0
... 0 0 ... 0 0 ... 0 0 ... ... ... ... ... ... . . . 1 cn1 ... 0 1
x1 x2 x3 ... xn1 xn
b1 b2 b3 ... bn 1 bn
(2.31)
xn = bn ; xi = bi xi+1 ci (i = n 1, 1) .
Ha gyelembe vesszk, hogy a mtrixban elfoglalt helyek alapjn s
(2.32)
di = aii , ei = aii1
ci = aii+1 ,
i, j = 1, n
end for
a12 a12 /a11 b1 b1 /a11 for i 2 to n 1 do aii+1 aii+1 /(aii aii1 ai1i ) bi (bi aii1 bi1 )/(aii aii1 ai1i ) aii1 0
Memriakihasznls szempontjbl termszetesen clszerbb, ha nem az egsz mtrixot, hanem csak a nemnulla a kvetkezkppen alakul:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
i, j = 1, n
end for
x n bn
i i i
i i
nm 2008/8/4 15:02 page 39 #36
i i
39
12: 13:
mtrixokra is.
Plda
Pldakppen tekintsk a
12 3 0 0 0
x1 3 0 0 0 6 4 0 0 x2 x3 = 4 5 2 0 0 1 2 8 x4 x5 0 0 4 5
1 1 2 3 2
1 0 0 0 0
0.25 1 0 0 0
0 0.7619 1 0 0
0 0 0 0 1.0244 0 1 8.2 0 1
x1 x2 x3 x4 x5
x=
rtkeket kapjuk.
2.2.
Iteratv mdszerek
x a megoldshoz konvergl. Ily mdon,
Ezek a mdszerek amint azt a nevk is mutatja vgtelen szm itercis lpsbl llnak. Az lpsek ismtlse sorn, idelis esetben az ezekkel a mdszerekkel a rendszerek megoldsa tetszleges pontossggal megkzelthet. Nagy, tbb ezer egyenletbl ll rendszerek esetben sebessgben s memriaignyben is elnysebbek a direkt mdszereknl.
i i i
i i
nm 2008/8/4 15:02 page 40 #37
i i
40
a11 a21
formjba, vagyis
a12 a22
x1 x2
b1 b2
(2.33)
. x2 -t.
(2.34) gy a
x1 -et,
mg a msodik egyenletbl az
x1 =
(2.35)
egyenleteket kapjuk, melyeket felhasznlhatunk az itercihoz. A rendszer megoldst gy vgezzk, hogy kezdetben kiindulunk az vagy egyszeren 0-bl. Ezutn az
x2
(0)
legjobb becslsnkbl,
x1 = x2
(k)
(k)
(2.36)
lpsekkel kiszmtunk egy kvetkez, remlhetleg jobb rtket az ismeretlenekre. Ezt kveten az j rtkekre ismt alkalmazzuk az itercit. Az itercis lpseket addig ismteljk, amg az ismeretleneket tetszleges pontossggal meg nem hatrozzuk. Ez azt fogja jelenteni, hogy az itercit akkor lltjuk le, ha kt egyms utni lpsben a kapott
tulajdonkppen
Jacobi-mdszer
nven ismeretes.
x2
kiszmtsra mr hasznlhatjuk az
x1
x1 = x2
Ebben az esetben a
(k)
(k)
(2.37)
GaussSeidel -fle
Mindkt mdszer ugyanahhoz a megoldshoz konvergl, de a GaussSeidel-mdszer konvergencija a gyorsabb. Ez azt jelenti, hogy ugyanolyan pontossg elrshez ezzel a mdszerrel kevesebb itercit kell vgrehajtanunk. Most, hogy lttuk a mdszerek lnyegt, nzzk meg, hogyan valstjuk meg ezeket ltalnos esetben.
i i i
i i
nm 2008/8/4 15:02 page 41 #38
i i
41
(k ) xi
(2.38)
lesz. Az algoritmus megrsakor arra kell csak vigyznunk, hogy ne rjuk fell az ket, csak miutn az sszes j rtket kiszmoltuk. ppen ezrt az hasznlni.
x rtke-
segdtmbt fogjuk
i, j = 1, n
end if end for end for for i 1 to n do end for end for return (xi ) end function
xi yi /aii
Plda
Lssunk egy konkrt pldt a mdszer mkdsre. Tekintsk a
15 2 3 10 3 3 1 3 x
3 1 12 2
2 x1 x2 2 2 x3 22 x4
1 2 = 3 3
diagonlisan dominns egyenletrendszert. Az iterci sorn az ismeretleneket tartalmaz vektor a kvetkezkppen alakul:
i i i
i i
nm 2008/8/4 15:02 page 42 #39
i i
42
A nyilakra az elvgzett itercis lpsek szmt rtuk fel. Jl lthat, hogy a kirt pontossgban a mdszer mr 10 iterci utn vltozatlan eredmnyeket ad. Termszetesen, az itercis lpsek a kvnt pontossg elrsig folytathatk.
Hasonlan egyszer, st mg egyszerbb a GaussSeidel algoritmus. Ebben az esetben nincs szksg a segdtmb hasznlatra, hiszen egy itercin bell is mindig a mr megkapott rtkeket hasznljuk az j algoritmus a kvetkez:
x-ek
szmolsra.
i, j = 1, n
end if end for end for end for return (xi ) end function
xi xi /aii
Plda
Ezt az itercis mdszert is alkalmazhatjuk az elz pldban szerepl egyenletrendszer megoldsra. Ekkor az itercis sorozat a kvetkez lesz:
Mg egy fontos megjegyzst tehetnk a kt algoritmussal kapcsolatosan. Mint lthattuk, a GaussSeidel mdszer azonnal fellrja az szksges az iterci elvgzse az sszes
hogy ez az algoritmus soros, ebben a formban nem prhuzamosthat. Ezzel ellenttben a Jacobi mdszer esetn egy itercis lpsen bell az szmolhatak, gy ez alkalmasabb prhuzamos szmtsok esetben.
i i i
i i
nm 2008/8/4 15:02 page 43 #40
i i
2.3. SAJTRTK-FELADATOK
43
xi
(n+1)
aij xj
j<i (n+1)
= (1 )xi
( n)
bi aii
j>i
( n) aij xj
(2.39)
0<<2
> 1.
function SOR( in: (aij ), (bi ), M, out: (xi ) for k 1 to M do for i 1 to n do end for end for end for return (xi ) end function
tmp bi for j 1 to n (j = i) tmp tmp aij xj
i, j = 1, n
do
xi (1 ) xi + /aii tmp
Az algoritmus megvalstsakor nem kell klnvlasztanunk az sszegzst kt rszre, hiszen ez automatikusan megolddik. A szmolt rtket tartalmazza. Az optimlis
j < i
esetben az
xj
mr az aktulis lpsben
2.3.
Sajtrtk-feladatok
A sajtrtk-feladatok klnsen gyakoriak a zikban, elssorban a kvantumos rendszerek lersban. Ugyangy megjelennek rezgsi problmk vizsglatban, ahol a rendszer sajtfrekvencii a matematikai modell (lineris egyenletrendszer) mtrixa sajtrtkeinek felelnek meg. A jegyzet keretein bell egyetlen mdszert ismertetnk, nevezetesen a Jacobi-fle mdszert.
i i i
i i
nm 2008/8/4 15:02 page 44 #41
i i
44
2.3.1. Alapok
Legyen
egy
sajtvektora pedig
Ennek sajtrtke
A x = x .
(2.40)
Nyilvn a sajtvektor tetszleges tbbszrse is teljesti az egyenletet, de ezeket nem tekintjk klnbz sajtvektoroknak. A nem tekintjk sajtvektornak. A fenti egyenletet trendezve az
(A 1) x = 0 ,
(2.41)
homogn egyenletrendszert kapjuk, melynek akkor ltezik megoldsa, ha a bal oldalon szerepl szorz mtrix szingulris, azaz fennll, hogy:
det(A 1) = 0 .
Ebben a kifejezsben
(2.42)
n-ed
rend n. tu-
polinomot kapunk, melynek gykei a sajtrtkek. Ennek egyik kvetkezmnye, hogy mindig ltezik n darab sajtrtk. A tbbszrs gykkbl szrmaz megoldsok az elfajult (degenerlt) sajtrtkek. Ez a mdszer csak n < 4 esetben optimlis, ahol explicit megold kpletet viszont a gykkeress tvolrl sem optimlis a sajtrtkfeladat megoldsra. A kapott
darab inhomo-
xk
megoldsvektorai a
sajtrtkek megfelel
sajtvektorai. Miknt az elbb emltettk, az egyes sajtrtknek vgtelen sok ekvivalens sajtvektor felel meg, melyek egymstl csak egy szorztnyezben klnbznek. Ekvivalensnek nem linerisan fggetlen voltuk miatt tartjuk ket. Ez minsgi klnbsget jelent az elfajult sajtrtkekhez tartoz sajtvektorokhoz kpest, melyek linerisan fggetlenek. Mieltt mg tovbblpnnk a konkrt mdszerek ismertetsre, ismteljnk t nhny mtrixokkal kapcsolatos fogalmat. Az vagy
kusnak
nadjungltnak
hermiti-
konjugltjval, azaz
A = A
Az
vagy
aij = a ji .
(2.43)
mtrixot
ortogonlisnak
AT A = A AT = 1 .
(2.44)
Vals mtrixok esetn hermitikussg tulajdonkppen szimmetrikussgot jelent. Fontos mg megjegyezni, hogy a hermitikus mtrixok sajtrtkei valsak.
i i i
i i
nm 2008/8/4 15:02 page 45 #42
i i
2.3. SAJTRTK-FELADATOK
45
n > 10,
Az olyan transzformcit, ahol egy mtrixszal jobbrl s az inverzvel balrl szorzunk egy mtrixot,
rva belthat, hogy a hasonlsgi transzformci nem vltoztatja meg a sajtrtkeket. Vals s szimmetrikus mtrixok esetn
ortogonlis transzformci
is egyben.
Ezen az sszefggsen alapul a kvetkezkben ismertetett mdszer is. Vagyis a megfelelen megvlasztott transzformcival a mtrixot diagonalizljuk. Mivel a sajtvektorok maguk is valsak s ortogonlisak, az rix diagonalizlsa megoldhat az azaz
Vegyk pldaknt a
22
R=
skforgatst ler mtrixot, ahol
(2.46)
A = RT A R
= =
a11 cos2 + 2a21 sin cos + a22 sin2 a11 sin2 2a21 sin cos + a22 cos2 a12 a21
(2.47)
cot2 +
melynek alapjn
(2.48)
(2.49)
fggvnyeket, me-
A mtrix diagonlis, teht az tlban tallhat egytthatk a sajtR forgatsmtrix kt oszlopa a sajtrtkeknek megfelel kt sajtvektor: 1 = a11 , 2 = a22 , x(1) = x(2) = cos sin sin cos ; .
(2.50)
i i i
i i
nm 2008/8/4 15:02 page 46 #43
i i
46
n n mret mtrixok esetn. A sk-forgats mtrixunk az egysgmtrixtl rij , rji , rjj elemekben tr el, vagyis . . . . . . 0 1 . . . cos . . . sin . . . i. sor . . .. . . Rij = . . . . . . sin . . . cos . . . j. sor . . . . 0 . . 1 i. oszlop j. oszlop
Ezt felhasznlva az
csak az
rii ,
T A = Rij A Rij
ortogonlis hasonlsgi transzformcival nullkat visznk be az A szorzs elvgzse utn az
(2.51)
aij
= aki = aik cos + ajk sin , = akj = aik sin + ajk cos ,
2 2
k = 1, n k = i, j
(2.52)
= aii cos + 2aji sin cos + ajj sin2 = aii sin 2aji sin cos + ajj cos = aji (cos2 sin2 ) + (ajj aii ) sin cos = aij aij ,
2
mtrixelemeket kapjuk eredmnyl. Ezek kzl megkveteljk, hogy az elemek 0-k legyenek. Ekkor a
illetve az
aji
cot2 +
(2.53)
(2.54)
Meg kell jegyeznnk, hogy amikor egy msik elemet nullzunk ki a kvetkez lpsben, akkor az elzekben kinullzott elem elromlik. Viszont belthat, hogy bizonyos felttelek mellett az tln kvli elemek ngyzetsszege egy lpsben vagyis monoton mdon tart 0-hoz.
2 |aij |
-tel cskken,
Al -lel
jellve az
l.
vetkezkppen rhatjuk:
T T T A0 = A , A1 = R1 A0 R1 , A2 = R2 A1 R2 , . . . , Al = Rl Al1 Rl , . . . ,
ahol
(2.55)
Rl -el
transzformcis mtrixok
Xl = R0 R1 Rl ,
l = 0, 1, 2, . . . ,
(2.56)
i i i
i i
nm 2008/8/4 15:02 page 47 #44
i i
2.3. SAJTRTK-FELADATOK
47
lim Al = ,
lim Xl = X
(2.57)
lesz. Ez azt jelenti, hogy ha ezeket a transzformcikat egyms utn alkalmazzuk, akkor a mtrix diagonalizldik, s az tlban a sajtrtkeket kapjuk. A sajtvektorok pedig a transzformcik szorzatmtrixnak oszlopaiban lesznek. Beszljnk mg egy keveset a mdszer konvergencijrl, melyet a tiszteletbentartsa biztost, ami egy
/4
biztostani, hogy a kt gyk kzl a + eljelest vlasszuk, amennyiben a szget a kvetkezkppen szmoljuk:
tan = sign
1 + 1 .
(2.58)
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
, imax
i, j = 1, n
end for
xij 0
then
) then tmp (aii ajj ) /(2aji ) t 1.0/(|tmp| + 1 + tmp tmp) if (tmp < 0) then t t
end if
i i i
i i
nm 2008/8/4 15:02 page 48 #45
i i
48
29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59:
end for for k i + 1 to j 1 do end for for k j + 1 to n do end for for k 1 to n do end for
temp aki c + ajk s ajk ajk c aki s aki temp
end if end for end for if (amax ) then return (xij ), (li ) end if end for return HIBA : imax iter. tullepes end function
xij
Az algoritmus kiss bonyolultabb mint a trgyalt elmlet, hiszen ebbe automatikus pontossg s konvergenciaellenrzst is ptettnk. A visszatrtett li tmb a sajtrtkeket, mg az oszlopai a sajtvektorokat tartalmazzk. Az algoritmus hibt jelez, ha .
imax
Plda
Pldaknt szmtsuk ki a kvetkez
3 0 2 1
0 1 3 4
2 3 2 1
1 4 1 5
szimmetrikus mtrix sajtrtkeit illetve sajtvektorait, melyeket a fent bemutatott algoritmus mr 3 itercis lps utn kiszmol. Tekintsk meg, hogy hogyan alakul a mtrix
i i i
i i
nm 2008/8/4 15:02 page 49 #46
i i
2.3. SAJTRTK-FELADATOK
49
az egyes lpsekben:
3 0 2 1
0 1 3 4
2 3 2 1
0.5837 0.6593 1.4168 0.3122 2 0.0 0.0 5 3 0 0 0 0.0158 0.0080 0.0011 1 0.0125 2.0E 4 0 1 0 0 . 0 0 2 0 0.0125 2 0 0 0 0 5 2.0E 4 0 5 0.8207 1 1.4168 0.3122
3.5696; 2
1.4021; 3
2.822; 4
8.8503
x2 = x4 =
Az eredeti mdszer szerint mindig a legnagyobb elem indexei alapjn rdemes elvgezni a transzformcit. Ez kis mtrixok esetben valban megfelel, nagyobb mtrixoknl azonban ennek az elemnek a megkeresse lerontja a mdszer sebessgt. Ehelyett mkdik az is, hogy egyms utn vgigmegynk (akr tbbszr is) a nemdiagonlis elemeken, ahogy azt a pldaknt bemutatott algoritmusban is megtettk.
i i i
i i
nm 2008/8/4 15:02 page 50 #47
i i
3. FEJEZET
Fggvnyrtkek kiszmtsa
Kt,
y,
rtket. Lehet ez
y = f (x) fggvnnyel rjuk le. Matemaf rtelmezsi tartomnybl megpldul egy mozg anyagi pont x(t) helyzete az
rtknek az
id fggvnyben vagy az
(T )
tozsa. Gyakorlatilag minden numerikus feladat esetben megjelennek fggvnyek vagy bemeneti adatknt vagy eredmnyknt vagy valahol a feladat megoldsa sorn. Keressk ezek gykt, integrltjt, derivltjt, szlsrtkt vagy valamilyen transzformltjt. Kereshetjk jl meghatrozott feltteleknek eleget tev fggvnyek alakjt vagy valamely pontokban vett behelyettestsi rtkeit pldul, egy olyan fggvnynek, melyrl tudott, hogy grakus kpe thalad bizonyos pontokon. Bemeneti adatokbl fggvnyek alkalmazsa rvn kpezhetnk kimeneti adatokat, amiknt azt a pldul a jelek szrsekor, talaktsakor tesszk. Brmelyik esettel llunk is szemben, szksgnk van valamely fggvny behelyettestsi rtkeinek a kiszmtsra. A modern processzorokba ptett lebegpontos egysg sajt erbl a ngy elemi mveletet sszeads, kivons, szorzs, oszts s a gykvonst kpes elvgezni. Az opercis rendszer rszt kpez matematikai knyvtraknak s a felhasznl ltal rt programoknak ezekre a mveletekre kell visszavezetnik minden fggvnyrtk-szmtst. A cl minden esetben az, hogy adott fggvnyre s meg az
f (x)
behelyettestsi rtket.
3.1.
Adott
x=
pontban:
P ( ) = an n + an1 n1 + + a1 + a0 .
50
i i i
i i
nm 2008/8/4 15:02 page 51 #48
i i
51
A jobboldal trhat egy emberi szemmel kevsb tlthat, de knnyen algoritmizlhat alakba:
b0 , b1 , . . . , bn
b1 = a 1 + b2 , b0 = a 0 + b1 .
Belthat, hogy ltalnos alakja:
b0
a keresett
P ( )
bn = an , bk = ak + bk+1 ,
Knnyen igazolhat, hogy az egytthati, amelyet
k = n 1, n 2, . . . , 1, 0 .
(3.1)
bn , bn1 , bn2 , . . . , b1 annak az n 1-ed fok Q(x) polinomnak gy kapunk, hogy a P (x) polinomot osztjuk x -vel. Legyen
P (x) = Q(x)(x ) + p0 .
Elvgezve az
x =
P ( ) = p0 = b0
az osztsbl
P (x) = (cn1 xn1 + cn2 xn2 + + c1 x + c0 )(x ) + b0 = = cn1 xn + (cn2 cn1 )xn1 + + (c0 c1 )x + b0 c0
s (3.1) alakjait a
P (x)
c0 = a1 + c1 ,
azaz rvnyes a
ck1 = bk , k = 1, 2, . . . , n
megfeleltets.
i i i
i i
nm 2008/8/4 15:02 page 52 #49
i i
52 A maz
3. FGGVNYRTKEK KISZMTSA
Horner-smaknt ismert fenti eljrs lehetv teszi egyrszt az osztsbl szrQ(x) polinom meghatrozst, msrszt az oszts maradktagja rvn, a polinom
behelyettestsi rtknek kiszmtst. Kzi szmtskor a smt az albbi tblzat formjban elnys hasznlni:
an
+
bn
an1 bn bn1
an3 bn 2 bn3
a1 b2 b1
a0 b1 b0 = P ( )
1: 2:
b0 = P ( )
a b1 , . . . , bn
bn an for i n 1 to 0 bi ai + bi+1
step 1 do
Plda
Alkalmazzuk az eljrst az albbi polinom rtknek a meghatrozsra az ban:
x=2
pont-
x 2-vel
Q(x) = 2x3 + x2 + 6x + 7
s a maradk
P (2) = 20.
i i i
i i
nm 2008/8/4 15:02 page 53 #50
i i
53
3.2.
Az 1.5 alfejezetben lttuk, hogy bizonyos megszortsok mellett a Taylor s Maclaurinsorok segtsgvel tetszlegesen megkzelthetjk egy fggvny behelyettestsi rtkt. A korbban trgyalt Horner-sma alkalmazsa nem elnys hatvnysorok esetn, mivel a legmagasabb fok tagtl indul visszafele. A hatvnysorok esetn az egyre magasabb fok tagok jabb s jabb korrekcijt jelentik a kzelt rtknek. Az algoritmust gy kell megtervezni, hogy egy j tagnak a sorhoz val hozzadst kveten a becslt hiba alapjn lehessen megismtelni a lpst vagy vgetvetni az itercinak. A felrhat mint
n-edik
rszsszegre
Tn = u0 + u1 + + un ,
ahol
un = I (un1 , n, x, p0 , p1 , ...) ,
(3.2)
az
vny, s
f fggvny Taylor-sornak egymst kvet tagjaira vonatkoz itercis fggpi az f fggvnyben megjelen paramterek. A hatvnysorokat szmt algorit-
1: 2:
) megengedett hiba
(pi )
paramterek,
repeat
u I (u, n, x, (pi ))
7: 8: 9: 10: 11:
end function
rtktl fggetlenl
Amennyiben lnyeges a pontos hibabecsls a fenti algoritmus 9. sorban het a nagyobb mveletignyt tmaszt (1.5) maradk taggal.
|u|
helyettest-
=0
f (x) (1 + x) , f (0) = ,
ahol
f (0) = 1,
s
f (0) = ( 1),
...
f (x) = 1 + x + +
i i i
i i
nm 2008/8/4 15:02 page 54 #51
i i
54 ahol
3. FGGVNYRTKEK KISZMTSA
Rn (x) =
T0 = u0 = 1 ,
un+1 = un
n x, n+1
Tn+1 = Tn + un+1 .
repeat
end function
Ha a fenti
Hatvnysor
Hatvnysor(x, TaylorTagEgyPluszXAlpha, ,
kell meghvjuk, ahol a
1: 2: 3: 4: 5: 6: 7: 8:
TaylorTagEgyPluszXAlpha
fggvny:
Plda
Szmoljuk ki a
10
rtket 10
pontossggal. Mivel
10 =
32
1 +1=3 1+ 9
1 2
, =
1 2 s
1 + 1/9
rtkre. Ez esetben
x=
un+1 = un
n1 , n+1 9
1 2
1 9 , az
Az
i i i
i i
nm 2008/8/4 15:02 page 55 #52
i i
55
un
0 1 2 3 4 5 1 0.0555555555556 -0.00154320987654 8.57338820302e-05 -5.95374180765e-06 4.63068807262e-07 1
Tn
1.05555555556 1.05401234568 1.05409807956 1.05409212582 1.05409258889 A pontos rtk 3.16227766016...
Teht
10 3 1.05409258889 = 3.16227776666.
ex ,
fggvny Maclaurin-sora
ex = 1 + x +
x2 x3 xn + + + + ... . 2! 3! n!
Rn (x) =
azaz meredeken n az
ex xn+1 (n + 1)!
(0 < < 1) ,
x = [x] + q ,
ahol
[x]
az
egsz rsze s
0 q < 1.
ex = e[x] eq .
Az els tnyezt sorozatos szorzssal kapjuk meg:
[x]
e
vagy
[ x]
= ee . . . e ,
[x]
ha
[x] 0 ,
e[x] =
ahol
11 1 ... , ee e
ha
[x] < 0 ,
e = 2.718281828459045 5 1016
A sorfejtst csak a msodik tnyezre kell kiszmolnunk:
eq =
qn n! n=0
i i i
i i
nm 2008/8/4 15:02 page 56 #53
i i
56 Mivel
3. FGGVNYRTKEK KISZMTSA
q < 1,
0 Rn (q ) <
Az tagok rekurrencis kapcsolata:
3 q n+1 . (n + 1)!
T0 = u0 = 1 ,
un+1 = un
x . n+1
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
end function
repeat
Plda
Alkalmazsknt hatrozzuk meg rekurrencis kplet:
e-t 107
x = 1/2
teht a
u0 = 1,
un+1 = un
1 2(n + 1)
(k = 1, 2, . . . )
un
0 1 2 3 4 5 6 7 8 1 0.5 0.125 0.0208333333333 0.00260416666667 0.000260416666667 2.17013888889e-05 1.55009920635e-06 9.68812003968e-08 1 1.5 1.625
Tn
i i i
i i
nm 2008/8/4 15:02 page 57 #54
i i
57 helyett
Az
ex s ax illetve log ax
tpus fggvnyek visszavezethetk az elbbi esetre gy, hogy rtket hasznlunk bemeneti rtkknt.
3.2.3. Logaritmus-fggvny
A logaritmus fggvny szemben az exponencilissal nem teljes, azaz konvergencia tartomnya vges. A nulla krl nem fejthet sorba, ezrt hatvnysort a
log (1 + x)
s ebbl
log(1 + x) = x
ahol
(3.4)
(3.5)
1 < x 1 tartomnyon konvergens a sor s minl kisebb x abszolt rtke, annl gyorsabb a konvergencia. x = 1 esetn a hiba a lpsszmmal
8
pontossg elrshez 10
u0 = 0 ,
u1 = x,
un+1 = un
n x, n+1
T0 = 0 , |x|
T1 = x .
rtk esetn mr az
Az albbi algoritmusban elltesztelst alkalmazunk, mivel kis elsrend tag is kielgt pontossgot adhat:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
nn+1 n u u x n+1 T T +u
log (1 x)
log(1 x) = x
Kivonva belle a
x2 x3 x4 xn ... . 2 3 4 n
log (1 + x)
1x x3 x5 = 2 x + + + ... 1+x 3 5
i i i
i i
nm 2008/8/4 15:02 page 58 #55
i i
58 Alkalmazva az
3. FGGVNYRTKEK KISZMTSA
1x = z, 1+x
x=
1z 1+z
log z = 2
ahol
1 1z + 1+z 3
1z 1+z
1 5
1z 1+z
+ . . . Rn (z ),
0 < z < + ,
(3.6)
Rn <
2 2n+1 , 1 2 2n + 1
1z . 1+z
A fenti sorfejtsnek tbb elnye is van: i.) lefedi a teljes (0,+) rtelmezsi tartomnyt a logaritmusnak, ii.) knnyen kezelhet numerikusan, mivel csak egyszer kell kiszmolni a
rtkt, iii.) s a sor gyorsabban konvergl mivel csak pratlan hatvny tagokat
x > 0 1 3
rtket, melynek
x = 2m z ,
mdon bontjuk szt. Teht
1 z<1, 2
0<
2n1 3 + + 3 2n 1
Rn ,
(3.7)
0 < Rn <
1 4(2n + 1)
1 3
2n1
u0 = 2 ,
un+1 = un
2n 1 2 , 2n + 1
T0 = u0 .
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
end while
i i i
i i
nm 2008/8/4 15:02 page 59 #56
i i
59
12: 13:
Plda
Becsljk meg az a.)
x=3
logaritmust
108
pontossggal.
log 3 = log 4 1
Az
1 4
= 2 log 2 + log 1
1 4
.
algoritmus
x = 0.25
= 108
bemeneti rtkekkel a
TaylorLogEgyPluszX
Tn
un
0 1 2 3 4 5 6 7 8 9 10 11 0 -0.03125 -0.00520833333333 -0.0009765625 -0.0001953125 -4.06901041667e-05 -8.71930803571e-06 -1.90734863281e-06 -4.23855251736e-07 -9.53674316406e-08 -2.1674416282e-08 -4.96705373128e-09 0
-0.28125 -0.286458333333 -0.287434895833 -0.287630208333 -0.287670898437 -0.287679617746 -0.287681525094 -0.287681948949 -0.287682044317 -0.287682065991 -0.287682070958
Teht b.)
TaylorLog
algoritmus az
x = 0.75
adja:
un
1 2 3 4 -0.0019436345967 -2.37996073065e-05 -3.46933051115e-07 -5.50687382722e-09
Tn
-0.287657920311 -0.287681719918 -0.287682066851 -0.287682072358
i i i
i i
nm 2008/8/4 15:02 page 60 #57
i i
60 A vgs rtk:
3. FGGVNYRTKEK KISZMTSA
log 3 1.0986122887616776.
sin x = x
|x|
[0, /4]
intervallumban. Pldul:
sin
= cos
, 6
sin
16 = sin , 5 5
cos
u0 = x ,
mg a koszinusz esetn
un+1 = un
x2 , (2n + 2)(2n + 3)
T 0 = u0 ,
u0 = 1 ,
un+1 = un
x2 , (2n + 1)(2n + 2)
T0 = u0 .
0 < x < /4
i i i
i i
nm 2008/8/4 15:02 page 61 #58
i i
61
13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
0 < x < /4
repeat
end function
nn+1
Plda
Becsljk meg a
sin
cos
rtkeket legfeljebb
106
hibval.
n
0 1 2 3 4 5 1
un
1 -0.548311355616 0.0501075571163 -0.00183163617127 3.58681040023e-05 -4.37041971753e-07
Tn
0.451688644384 0.5017962015 0.499964565329 0.500000433433 0.499999996391
n
0 1 2 3 4
un
0.5235987755989 -0.0239245962039 0.000327953194429 -2.14071976924e-06 8.15125665739e-09
Tn
0.5235987755989 0.499674179394 0.500002132589 0.499999991869 0.50000000002
3.3.
Brmely
F (x, y ) = 0
implicit alakban. Legyen
rtket,
gx (y ) = F (x, y )
fggvny gyke,
i i i
i i
nm 2008/8/4 15:02 page 62 #59
i i
62
3. FGGVNYRTKEK KISZMTSA
teht az erre vonatkoz 6. fejezet mdszerei alkalmazhatk. A 6.3 alfejezetben taglalt rint mdszer alapjn egy jk, mg
y0
y1
yn+1 = yn
F (x, yn ) , Fy (x, yn )
Fy (x, y )
F (x, y ) , y
n = 0, 1, 2, . . .
(3.8)
Fordtott rtk
A fggvny explicit alakja:
y=
Egy lehetsges implicit megfelelje:
1 , x 1 , y
x>0.
F (x, y ) = x
A (3.8) rekurrencis kplet ez esetben:
Fy (x, y ) =
1 . y2
x yn+1 = yn
1 yn
1 2 yn
= yn (2 xyn ) ,
n = 0, 1, 2, . . .
F (x, y ) =
1 1. xy
Ekkor
Fy (x, y ) =
1 . x y2
1 hogy ha 2 x < 1 akkor az itercis kplet konvergens. Ezrt az rjuk fel a kvetkez mdon:
rtket szorzatknt
x = 2m x1 ,
s az
1 x1 < 1 , 2
y0 = 2m
Plda
Becsljk, meg az
1/3
rtket.
3 x = 22 , 4
y0 =
1 4
i i i
i i
nm 2008/8/4 15:02 page 63 #60
i i
63
y1 = y2 = 0.312(230.312) = 0.332,
1 4
3 4
5 = 0.312 16 y4 = 0, 333333333!
Gykvons
A keresett fggvny:
y=
Implicit alakban:
x,
x>0. Fy (x, y ) = 2y .
2 x yn 2yn
F (x, y ) y 2 x = 0 ,
Az itercis kplet:
yn+1 = yn
ahonnan megkapjuk az albbi
Hero-algoritmust.
1 2 yn + x yn , n = 0, 1, 2, . . .
yn+1 =
Plda
Szmoljuk ki az
y=
rtket.
5 5 = 23 , 8 y1 =
x1 =
5 , 8 y2 =
m = 3,
y0 = 2
1 5 (2 + ) = 2.25, 2 2 y3 = 0.5(2.2361 +
5 ) = 2.236067978! 2.2361
i i i
i i
nm 2008/8/4 15:02 page 64 #61
i i
4. FEJEZET
Bevezets
x s y , mennyisg kapcsolatnak lersra nem felttlenl adott egy minden tovbbi f (x) = x2 exp (2x). Ehelyett x y x0 y0 x1 y1 x2 y2 xn yn
tpus tblzat tartalmazza a rendelkezsnkre ll sszes informcit a kapcsolatra vonatkozan. Ezek ltalban mrsek vagy egy mintavtelezs sorn nyert adatok. Segtsgkkel problunk kvetkeztetni ms, a tblzatban nem megjelen, hullmhosszon. Az albbi mrsi adatok llnak rendelkezsnkre: hullmhossz () 380 nm 589 nm 20 trsmutat (no 2.122 1.973 1.898
(x, y )
rtkprra.
Tegyk fel, hogy egy tltsz kzeg optikai trsmutatjra van szksgnk egy bizonyos
Miknt tudjuk ezeket az adatok hasznostani, ha mondjuk 410 nanomternek megfelel trsmutatra van szksgnk? Mi a teend egy olyan ksrlet esetn, melynek sorn nagyszm mrst vgeztnk, de meglehetsen nagy hibakorlttal? Mindkt helyzetben az adatokkal sszhangban lev s elvrsainknak is megfelel n.
modellfggvnyt
szerkesztnk. Ezzel helyettestjk az ismeretlen fggvnyt s becsljk meg annak behelyettestsi rtkeit a szmunkra rdekes pontokban. A fenti pldban az eredeti, de nem ismert, no () fggvnyt egy I () modellfggvnnyel kzeltjk no ( = 410nm) trsmutatt az I ( = 410nm) rtkkel becsljk. meg s a keresett
64
i i i
i i
nm 2008/8/4 15:02 page 65 #62
i i
65
4.2.
Interpolci, extrapolci
f ( x)
fggvnyrl teht annyit tudunk, hogy
Tekintsk azt az esetet, mikor az adatokban nem feltteleznk szmottev vletlenszer hiba. Az adatok htterben ll ismeretlen
yi = f (xi ) ,
i = 0, 1, 2, . . . , n
4.1. bra. Interpolci. A szaggatott vonal az eredeti, a folytonos vonal a kzelt fggvny grakus kpe. Keresztek jellik a tabullt pontokat. A kvetkezkben mindentt felttelezzk, hogy az jnak megkzeltse egy
xi
rtkek az
I (x)
yi = I (xi )
feltteleket. el, azaz
(4.1)
Interpolcirl
beszlnk, ha az
pont melyben az
I (x)
rtket kvnjuk
x [x0 , xn ]. Extrapolcival
van dolgunk, ha az
f (x)
fggvnyt az interval-
x / [x0 , xn ].
Az extrapolci rendszerint
pontatlanabb kzeltst ad, mint az interpolci, br mindig tallhat olyan fggvny melynek brmilyen interpolcis megkzeltse is kudarcra van tlve. Az interpolci mindig felttelez bizonyos simasgot az A gyakorlatban a tblzat mrett jellemz
f (x) fggvny rszrl. n szm attl fgg, hogy a mrs vagy minta-
vtelezs ltal ignybe vett mely erforrsok leginkbb korltozottak s attl, hogy ezek a korltok miknt viszonyulnak a feladatban megfogalmazott clkitzsekhez. Ksrletek esetn az egy mrs elvgzsre fordtott id s a jrulkos kltsgek perdntek. A digitlis jelfeldolgozsban a rgztst vgz berendezs felbontsa, az elirnyzott jelvisszaadsi hsg, a rgztshez szksges trhely s a feldolgozskor ignybevehet szmtsi kapacits hatrozzk meg a tblzat mrett. Van, amikor rendelkezsnkre ll
i i i
i i
nm 2008/8/4 15:02 page 66 #63
i i
66
egy analitikus kifejezs, de ennek kirtkelshez szksges szmtsi id tlzottan nagy. Mikroszkopikus rendszerek lersra hasznlt n. molekulris dinamika modellekben az energia kifejezsek annyira sszetettek, hogy kt atom klcsnhatsnak kiszmtshoz sok ezer mvelet is szksges lehet. Ilyenkor a szimulci beindtsa eltt mintavtelezzk a klcsnhatsi erteret s futs kzben a tblzat alapjn nhny elemi mvelet rvn kiszmtott kzelt rtkekkel dolgozunk. Az interpolcis mdszereket tbb szempontbl is osztlyozhatjuk. Ha a megkzeltsnl hasznlt fggvnyek tpust tekintjk, a mdszer lehet:
Polinomilis:
elterjedtebbek.
Trigonometrikus:
llhatunk. Fleg interpolcival egybekttt Fourier mdszerek alkalmazsnak szksgessge esetn bizonyulnak hasznosnak.
m-ed
polinomok
m-ed
I m (x) =
j =1
ahol
Pjm (x)yj ,
(4.2)
Pjm (xi ) = ij
1 0
(4.3)
xi
yi
polino-
mok kizrlag az abszcisszk fggvnye. A megkzelts sorn a (4.1) kiktsnek tbbflekppen tehetnk eleget, attl fggen, hogy milyen ms tulajdonsgokkal szeretnnk felruhzni a megkzelt fggvnyt, ezzel jabb osztlyozsi mdot teremtve:
meghatrozsnl az
szomszdsgban elhelyezked
nhny pontot vesszk csak gyelembe. Ilyenkor ltalban nem kapunk magasabbrend derivltakban folytonos fggvnyt.
Globlis interpolci: ez esetben az sszes rendelkezsre hasznljuk brmely x [x0 , xn ] rtkrl lenne is sz.
ll
(xi , yi )
pontot fel-
Spline interpolci: olyan helyzetekben, amikor elvrjuk a kzelt fggvny derivltjainak folytonossgt, egyfle kztes mdszert hasznlunk. A spline fggvny egyetlen szakaszon rtelmezett polinom, mely rtelemben loklis a mdszer, viszont a polinom egytthatit gy rgztjk le, hogy globlis simasgot biztostson a kzelt fggvnynek.
i i i
i i
nm 2008/8/4 15:02 page 67 #64
i i
67
x rtk lokalizlst, azaz [xj , xj +1 ) szakasznak az azonostst, amelyen bell ez elhelyezkedik. Matematikai megfogalmazsban, adott x0 x xn rtkre keressk azt a m [0, n] termszetes szmot, melyre fennll, hogy xm x < xm+1 . Az albbi algoritmus az k0 = 0, l0 = n rtkekbl indul ki s sorozatos felezssel gy hatrozza meg az [k1 , l1 ], [k2 , l2 ], . . . index intervallumokat, hogy minden lpsben fennlljon, hogy x [xkr , xlr ], r = 0, 1, 2, . . . .
gy a loklis mint a spline interpolci szksgess teszi az annak az
1:
i = 0, n
(xi )
minta,
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
(m = 1).
Ez egy
[xj , xj +1 )
x [xj , xj +1 )
intervallumon
Aj (x)
Bj (x)
Aj ( x ) =
xj +1 x , xj +1 xj
Bj (x) = 1 Aj (x) =
xj x . xj xj +1
(4.4)
Mivel egyszer mdszer, a vgrehajtsi idt tekintve gyors is. Viszont a megkzelts durvasga a legcseklyebb pontossgot is megkvn alkalmazs esetn hasznlhatatlann
i i i
i i
nm 2008/8/4 15:02 page 68 #65
i i
68
i = 0, n
(xi ), (yi )
2: 3: 4: 5:
end function
az interpolland rtk
4.2.2. Lagrange-interpolci
Egy tipikus globlis interpolcis mdszer. Br tbb interpolcis polinomot is meg kell hatroznunk, ezek mindegyike a teljes kivtelvel az sszes
(x1 , xn ) intervallumon rtelmezett s egy pont xi pontra szksg van egytthatinak meghatrozsra. A polinomok foka n 1. A (4.3) felttel kielgtst m = n 1 esetn a kvetkez mdon tehetjk meg: lj (x) Pjn1 (x) = =
k=j
x xk . xj xk j -edik
tnyez.
ILagr (x) =
j =1
A fenti kplet kzvetlenl alkalmazhat az sra tetszleges
yj
k=j
x xk . xj xk
ILagr (x) behelyettestsi rtk meghatrozx esetn. Viszont olyan esetekben, mikor az interpolcis fggvny alakja,
azaz a polinom egytthati rdekelnek, ms trgyalsmd szksges. A Lagrange-interpolci legfbb elnye a lineris interpolcival szemben a fggvny simasga, derivltjainak folytonossga. Ennek ksznhetleg sok esetben jobb, valsabb megkzeltst lehet elrni vele mint a linerissal. Tekintve, hogy egy olyan polinomrl van sz melynek foka a tabullt pontok szmval n, leglnyegesebb htrnya a Lagrange interpolcinak az, hogy bizonyos esetekben indokolatlanul erteljes hullmzsok jelennek meg a polinom grakus kpben, kt egymst kvet pont kztt. Ez annak tudhat be, hogy az eredeti, a tabullt pontokat szrmaztat,
f (x)
polinomilis s egy megkzelt polinom csak gy tud eleget tenni az sszes pont rintsnek kvetelmnynek, hogy a pontok kztt loklis maximumokon s minimumokon halad keresztl. Az interpolcis algoritmus ez esetben:
1:
i = 0, n
2:
pre
minta,
az interpolland rtk
i i i
i i
nm 2008/8/4 15:02 page 69 #66
i i
69
for i 0 to n do
y0
p1 for i 0 to n do if i = j then x xi p p xj xi
y y + p yi
yj -vel
y (x)
[xj , xj +1 )
Aj (x)
Bj (x)
yj (x)
inter-
i i i
i i
nm 2008/8/4 15:02 page 70 #67
i i
70
szakoszokon rtelmezett fggvnyekhez, de a simasgi kvetelmnyek miatt ltalban nem lineris. Teljesen ltalnosan felrhat mint
(4.6)
gj (xj ) = gj (xj +1 ) = 0. Tekintve Aj (x) s Bj (x) fggvnyek lineris voltt, illetve a (4.6) s (4.5) kapcsolatt, rvnyes, gj (x) = Aj (x)yj + Bj (x)yj +1 ,
gj (x)-et
Cj (x) = Aj (x), s Dj (x) = Bj (x). Megoldva a kt msodrend x-ben, s gyelembe vve, hogy Cj (xj ) = Dj (xj ) = Cj (xj +1 ) = 1 3 (B (x) Bj (x))(xj +1 xj )2 . 6 j
Dj (xj +1 ) = 0, Cj (x) =
A keresett
Dj (x) =
yj
yj (x)
elsrend
yj -hez hasonlan tabulltak, azaz ismertek lennnek. yj (x) s yj (x) msodrend derivlt folytonossgt hasznltuk derivltt nem. Az [xj , xj +1 ) intervallumon:
yj (x) =
Felrva ugyanezt az
yj 1 (x) =
x j x j 1 xj +1 xj 1 xj +1 xj yj +1 yj y j y j 1 yj 1 + yj + yj +1 = 6 3 6 xj +1 xj xj xj 1
egyenlethez vezet. Ez ttelnek, hogy
(4.8)
n2
egyenletet jelent
darab ismeretlen
yi
rtkre. Kvetkezs-
y1
yn -t
nven is-
meretes, vagy gy rgztjk le ezt a kt rtket, hogy az elsrend derivltak, rtkeket vegyenek fel a kt szls pontban. A (4.8) lineris egyenletrendszer tridiagonlis s megoldsa az
yn
adott
y1 , . . . , y n
ismeretlenekben
i i i
i i
nm 2008/8/4 15:02 page 71 #68
i i
4.3. REGRESSZI
71
4.3.
Regresszi
A ksrleti adatokban tkrzd jelensg modellezsnek egy msik fajtjval llunk szemben, mikor a mrsek sorn elkvetett vletlenszer hiba nem elhanyagolhat. Ilyen esetben az interpolcival egy nagyon bonyolult struktrj, a pontok szmval arnyos szm maximummal s minimummal rendelkez kzelt fggvnyt kapunk. Felttelezs szerint az eredeti fggvny viszont ennl sokkal egyszerbb alak, s grakus kpe valahol a pontok kztt kell hzdjon, amennyiben a mrs sorn nem kvettnk el rendszeres hibt is. Feladatunk a lehet legjobban tokhoz. Ezt a illesztsi mdszert adjunk ezzel kapcsolatban: Miknt lehet egy fggvny s egy sorozat tabullt pont kztti eltrsnek egyrtelm mennyisgi meghatrozst adni? Egyltaln milyen fggvnnyel hasonltjuk ssze a tabullt pontokat a illeszts sorn?
illeszteni egy modellfggvnyt a tabullt ponregresszinak nevezzk. Kt fontos krdsre kell vlaszt
4.2. bra. Regresszi. A szaggatott vonal az eredeti, a folytonos vonal az illeszt fggvny grakus kpe. Krcskk jellik a tabullt pontokat. A pontokra centrlt fggleges szakaszok az adatok szrst adjk meg.
A legtbb esetben a fggvny tpust (lineris, parabolikus, exponencilis, stb.) megsejtjk a tanulmnyozott jelensgrl rendelkezsnkre ll elzetes informcikbl kiindulva, illetve a ksrleti adatok ltal mutatott tendencik alapjn. Amennyiben olyan nagy a pontok szrsa, hogy semmifle tendencia nem azonosthat kielgt bizonyossggal, akkor csak az elbbi mdja marad a fggvny tpusnak lergztsre s szmolnunk kell azzal is, hogy a illeszts kis valsznsggel ad megbzhat, pontos eredmnyt. A legtbb esetben a modell- (regresszis) fggvny egy elemi fggvny, mint pldul valamely alacsony fok polinom vagy exponencilis fggvny. A fggvny tpusnak lergztse utn annak paramtereit kell meghatrozzuk gy, hogy az a legjobban illesszkedjen az
i i i
i i
nm 2008/8/4 15:02 page 72 #69
i i
72
y (x) = y (x; a1 , . . . , aM )
mdon, ahol
a1 , . . . , a M
a modellfggvny
resszis mdszerek ltalnos alapelve, hogy a modellfggvny s a pontok kztti eltrst valamilyen mdon minimalizljuk. Induljanak az elterjedtebb mdszer a az
(xi , yi ) pontok indexei egytl. A leglegkisebb ngyzetek mdszere, melynek lnyege, hogy bevezetve
n
F (a1 , . . . , aM ) =
i=1
tok esetn azon rtkeit hatrozzuk meg a paramtereknek, melyekre az mely gy hzdik az
rse)
(xi , yi )
y (x; a1 , . . . , aM ) regresszis fggvnyt kapunk, szrsa (tlagos ngyzetes eltlegkisebb. A funkcionl minimalizlshoz szksges ai
paramtereket az
letrendszer tpusa szerint tbbflekppen oldhatunk meg. Ahhoz, hogy valamelyest meg-
M.
Lineris regresszi.
y (x; a, b) = ax + b
tpus. Funkcionlunk ebben az esetben:
F (a, b) =
i=1
Minimalizlsnak felttelei:
= =
0,
(4.9)
0.
X =
i=1
xi ,
Y=
i=1
yi ,
XX =
i=1
x2 i ,
XY =
i=1
xi yi
y (x)-nek,
egy vals
1 F -et
F (x)-et
a1 , . . . , aM -et
i i i
i i
nm 2008/8/4 15:02 page 73 #70
i i
4.3. REGRESSZI
73
aX X + bX aX + bn
A fenti lineris egyenletrendszer megoldsa:
= =
XY , Y .
(4.10)
a=
X Y nX Y , X 2 nX X
b=
X XY Y XX . X 2 nX X
1:
i = 1, n
(xi ), (yi )
2: 3: 4: 5: 6: 7: 8: 9: 10:
end function
X Y nX Y X 2 nX X X XY Y XX b X 2 nX X return a, b a
end for
i i i
i i
nm 2008/8/4 15:02 page 74 #71
i i
5. FEJEZET
I=
a
tpus kifejezs kirtkelse, melyben az
I = F (b) F (a) ,
ahol
de mivel a gyakorlati esetek dnt tbbsgben az emltett primitv fggvny analitikus formban nem rhat fel csak numerikusan tudjuk megkzelteni a feladatot. A problma egyenrtk az
y (b)
meghatrozsval a
dy = f ( x) dx
dierencilegyenletbl,
(5.1)
tekrl szl fejezetben trgyalt feladat specilis esete teht az ott ismertetett mdszerek itt is alkalmazhatk kell legyenek. Annak, hogy a integrls s a kznsges dierencilegyenletek kln fejezetben kerlnek trgyalsra tbb oka is van:
74
i i i
i i
nm 2008/8/4 15:02 page 75 #72
i i
5.1. BEVEZETS
75
amint az (5.1) s (7.1) egyenletek sszehasonltsbl azonnal kitnik, az elbbi egy sokkal szkebb osztlya az elsrend dierencilegyenleteknek, melynek megoldshoz leghatkonyabban kifejezetten erre a problmra kilezett mdon juthatunk. olyan integrlok esetn, amikor az integrlsi hatrok valamelyike vagy mindkett minden hatron tlnylik (vgtelen), a Runge-Kutta mdszer, abban a formban amint az bemutatsra kerl a 7. fejezetben, teljesen alkalmatlan. gyakran merl fel az a helyzet, hogy a fggvny alakja csak egy
{xi , fi = f (xi )}
rtkpr tblzat formban adott. Az integrlst ebben az esetben is kielgt pontossggal elvgezhetjk. Dierencilegyenletek esetn rendszerint szksges az
f (x, y )
Mindezek ellenre a kvadratrknl hasznlt mdszerek egy rsze alkalmazsra lel a differencilegyenletek integrlsnl is. Mieltt belemerlnnk az egyes mdszerek taglalsba rviden felfrisstnk nhny tudnivalt az integrlokrl ltalban s ennek kapcsn az ortogonlis polinomokrl. Az egydimenzis integrl alatt egyvltozs fggvnyek integrltt rtjk. Geometriai szempontbl feladatunk az integrlsi hatrokon bell a fggvny grakus kpe s a vzszintes kplet:
f (x)dx = lim
a
ahol sg,
Ti = lim
i=1
f (xi )n ,
i=1
vgtelen keskeny,
(5.2)
f ( xi )
magas-
biakban bemutatott numerikus mdszerek is ezen a meggondolson alapszanak, viszont tekintve, hogy a vgtelen sszegzs elvont mvelet, a szmtgp alkalmazshoz szksges, hogy az eredmnyt vges szm mvelettel is kielgt mrtkben megkzelthessk. Mihelyt kzeltsrl van sz, mdszerek sokasga ll rendelkezsnkre, melyek pontossgban, gyorsasgban s bonyolultsgban lnyegesen eltrnek egymstl, s esetenknt szksges kivlasztanunk azt, mely az elvrsainknak legjobban megfelel.
Ortogonlis polinomok.
felttele a fggvnyek kztti skalris szorzat s az ortogonalits fogalmainak ttekintse. Miknt a hrom vagy tbbdimenzis vektorok, azok nagysga, skalris szorzatuk s ortogonalitsuk rtelmezett a tbbdimenzis vals szmok lineris tern, gy bizonyos tulajdonsgokkal felruhzott fggvnyek esetn is beszlhetnk lineris trrl s a vektorokhoz hasonlan bevezethetjk a skalris szorzat fogalmt. Legyen ht az fggvny az
vals
f |g
a
W (x) 0, x [a, b]
mely a trbeli vektorok skalris szorzathoz hasonlan kielgti azt a kvetelmnyt, hogy az eredmny egy szm s
f |f 0. W (x)
az n.
slyfggvny.
Amennyiben
f |g =
i i i
i i
nm 2008/8/4 15:02 page 76 #73
i i
76
a kt fggvny
egysgnyi melyek
ortogonlis. Egy fggvny melynek nmagval vett skalris szorzata normalizlt fggvnynek nevezzk. Egy olyan halmaz normalizlt fggvny egymsra klcsnsen ortogonlisak, ortonormlt fggvnyhalmaznak hvunk. Legendre-polinomok: W (x) = 1, a = 1, b = +1
Rekurencia relci:
= = =
= = =
Hermite-polinomok: W (x) = ex , a = , b = +
Rekurrencia relci:
Laguerre-polinomok: W (x) = x ex , a = 0, b = +
(j + 1)L j +1 (x) + (x 2j 1)Lj (x) + (j + )Lj 1 (x) = 0
Pldk:
L 0 (x) = 1 , L 1 (x) = x + + 1 , ( + 2)( + 1) x2 ( + 2)x + , 2 2 x 3 ( + 3)x2 ( + 2)( + 3)x ( + 1)( + 2)( + 3) L + + . 3 (x) = 6 2 2 6 Csebisev-polinomok: W (x) = 1/ 1 x2 , a = 1, b = +1 L 2 (x) =
Rekurrencia relci:
i i i
i i
nm 2008/8/4 15:02 page 77 #74
i i
5.1. BEVEZETS
77
Amint lthat, minden plda esetn adott egy rekurrencia relci melynek segtsgvel tetszleges szm polinom generlhat, amennyiben az els kett adott. A kvetkezkben bemutatott numerikus integrlsi mdszerek mind ugyanarra az elvre plnek. Mivel az
f (x) fggvny primitvje nem rhat fel egy olyan megkzelt fggvnyt
integrlunk ki helyette melynek primitvje ismert. Erre a legalkalmasabbak a polinomok s az interpolcirl szl 4. fejezetben t is tekintettnk nhny ezzel kapcsolatos mdszert. Joggal felttelezhetjk, hogy ha az interpolcis polinom j megkzeltst ad az integrland
f (x)
f (x)dx
a
ahol
wi fi ,
i=0
(5.3)
fi f (xi ) s wi valamely jl meghatrozott sly. A klnbz mdszerek az xi csompontok s wi slyok vagy egytthatk megvlasztsban trnek el egymstl vltoz
pontossg, gyorsasg illetve bonyolultsg megkzeltst tve lehetv az integrlnak. Ha nagyvonalakban t akarjuk tekinteni a terletet a kvetkezkppen osztlyozhatjuk a mdszereket: 1. az
xi , fi
f (x)
xi
csompontokra.
wi
b. az elz esettel szemben, egyszer feltevseket tesznk a slyokra s a csompontok gondos megvlasztsa biztostja a megkzelts pontossgt c. a lehet legnagyobb pontossg elrsnek mdja, ha mind a csompontokat mind a slyokat gy hatrozzuk meg, hogy a lehet legnagyobb pontossgot rjk el Hangslyozzuk, hogy a fenti osztlyozs hozzvetleges. Egyes, alapmdszereknek tekintett eljrsok szmos hibridje hasznlatos. Termszetesen, az 1. esetben, ha a rendelkezsnkre ll csompontok valamely 2a. osztlybeli szablyossgot mutatnak, akkor hasznlhatk az utbbi tpus mdszerek. ltalban a mdszer kivlasztsakor dntsnket nem annyira a pontossggal szemben tmasztott igny hatrozza meg, mint inkbb a fggvny s az integrlsi tartomny sajtos tulajdonsgai. Az irodalom egy rszben megtallhat osztlyozsa az integrlsi mdszereknek eltr a fentebbiekben bemutatottl. Ismeretk viszont hasznos, mivel knnyebb tlthatsgot biztostanak ennek a terletnek. Az
xi
ket:
i i i
i i
nm 2008/8/4 15:02 page 78 #75
i i
78
Az irodalom egy msik rszben a fenti osztlyozsi mdnl valamivel ltalnosabban, de lnyegben fedve azt, az eljrs mdja szerint trtnik a feloszts:
ide sorolandk az
Gauss kvadratrk:
5.2.
Jelen rszben ttekintjk azon mdszereket, melyekben az optimalizls kizrlag a adottak a feladat megfogalmazsakor vagy, ismerve az Leszktett feladatunk a kvetkez: adottak az rtkt.
szably szerint vlaszthatk meg, miknt azt a 2a. osztlybeli mdszereknl lergztettk. rtkprok. Keressk az (5.3) megkzeltsben a
f (x) fggvnyt
In (x) =
i=0
fi
j =i
x xj = xi xj
li (x)fi f (x)
i=0
ponton. (5.3)-nek
wi =
a
li (x)dx .
(5.4)
Belthat, hogy (5.4) hasznlata (5.3)-ban tkletes pontossg megkzeltst biztost, amennyiben az
f (x)
n , ahol
n az n s annl kisebb fok polinomok halmaza. Ez f (x)-nek az In (x) polinommal val kzeltse egzakt, ha
{xi , fi }
rtkprok egy
kiszmtsbl szrmaznak.
n,
i i i
i i
nm 2008/8/4 15:02 page 79 #76
i i
79
n s ugyanakkor
li (x) =
a j =0
wj li (xj ) = wi ,
f ( x) = 1, x, x2 , ..., xn elemi polinomokra melyek kifesztik a n teret, egzaktul fennlljon (5.3), akkor az n + 1 darab wi -re felrt lineris egyenlet megoldsaknt megkapjuk a keresett
egytthatkat. Pldakppen vegyk a hrompontos integrlsi kplet esett, melytl elvrjuk, hogy egzakt eredmnyt adjon minden
1 0
alakban rjuk fel. Az
f (x) = 1, x 1 1 2 1 3 =
x2
1
prbafggvnyeket hasznlva:
dx
0 1
= = =
w0 + w1 + w2 , 1 w1 + w2 , 2 1 w1 + w2 , 4
=
0 1
xdx x2 dx
0
w0 = 1/6, w1 = 2/3, w2 = 1/6. Az integrlsi sszegf (x) = a0 + a1 x + a2 x2 alak [a, b] intervallumon trtn integrls n + 1 pontban
vett kvadratra segtsgvel val megkzeltsekor, az egytthatkat a kvetkez lineris egyenletrendszer megoldsa szolgltatja:
1 x0 x2 0
. . .
1 x1 x2 1 xn 1
1 xn x2 n
. . .
xn 0
xn n
,
(5.5)
ahol
xk
polinomok
Fk (x)
primitvjei ismeretek. Mivel nem kizrlag polinomok primitv fggvnyt ismerjk, a mdszert kiterjeszthetjk (5.3)-nl ltalnosabb formban felrt feladatokra. A tanulmnyozott integrl
f (x)w(x)dx
a i=0
wi fi ,
(5.6)
i i i
i i
nm 2008/8/4 15:02 page 80 #77
i i
80 melyben
w(x) az n. slyfggvny. Fel kell hvjuk a gyelmet arra, hogy a wi egytthatk xi -ben vett behelyettestsi
b
wi =
a
Pldakppen vegyk az
li (x)w(x)dx .
(5.7)
3 + w1 f 4
1 + w2 f 4
1 + w3 f 4 w0 = w3
s
3 4
integrlt s annak megkzeltst, melytl elvrjuk, hogy egzakt legyen brmilyen hrom vagy annl kisebb fok az egyszerbb
f ( x)
w1 = w2
s gy
0 4
= =
+ 2 w1
1 4
w1 =
w2 = w0 = w3 = 4/ .
4 f
3 f 4
1 f 4
1 +f 4
3 4
(5.8)
Tetszleges slyfggvny is a (5.5) lineris egyenletrendszer kell megoldjuk annyi klnbsggel, hogy ez esetben
Fk (x) =
Az integrandusz amikor
xk w(x)dx .
f (x)
w(x)
w(x)
vnnyel, azaz
Fk (x)
ismert.
5.2.4. Intervallumcsere
Minden esetben a
jaitl. Viszont knyelmetlen lenne egy lineris egyenletrendszert megoldani minden olyan esetben, amikor vltoznak az integrlsi hatrok. Clunk teht egy tetszleges egy msik tervallumon megkzelteni egy integrlt, melynek kvadratrakplete elzleg mr ismert
[c, d]
f (t)dt
c
Legyen a megkzelts pontos brmely az
wi f (ti ) .
i=0 m . Br az elbbiekben mindentt fennllt m lehet kisebb mint n, s mint
f (x)
m=n
(t)
(t) =
ad bc ba t+ dc dc
i i i
i i
nm 2008/8/4 15:02 page 81 #78
i i
81
x = (t)
vl-
dx = (b a)/(d c)dt
d
f (x)dx =
a
ba dc
f ((t))dt
c
ba dc
wi f ((ti )) .
i=0
Az intervallumcsere nem a rgztett csompontkz eljrsok sajtja. Azonos mdon hasznlhat majd a Gauss kvadratrk esetn is.
[a, b] intervallumot n h = (b a)/n hosszsg szakaszra az xi = a + ih, i = 0, n pontok segtsBevezetve a q = (x a)/h folytonos vltozt, q [0, n], a Lagrange interpolcis
n
polinom alakja
In (q ) =
i=0
A keresett integrl teht felrhat mint
i)!
fi .
f (x)dx h
a
ahol
In (q )dq = (b a)
0 i=0 n 0
Hi fi ,
(5.9)
Hi =
(5.10)
az n. Cotes egytthatk. Vegyk szre, hogy ezek nem fggnek sem az integrland fggvnytl sem az integrlsi tartomnytl. Ugyanakkor fennllnak a kvetkez sszefggsek:
Hi = 1 ,
i=0
Hi = Hni . f ( x) = 1
esetet tekintjk. A
Tglalap mdszer, n = 0:
H0 = 1
x1
Trapz mdszer, n = 1:
H0 = H1 =
x1
1 2
f (x)dx = h
x0
1 1 f0 + f1 + O(h3 f ) 2 2 1 , 6 H1 = 2 3
Simpson-mdszer, n = 2:
H0 = H2 =
i i i
i i
nm 2008/8/4 15:02 page 82 #79
i i
82
x2
f (x)dx = h
x0
(5.11)
azaz az integ-
rlsi tartomny fele. Egy szerencss vletlen folytn a Simpson-mdszer hasznlata a hibatagban kiejti az
f (x)
Simpson-fle
3 8
mdszer, n = 3:
H0 = H3 =
x3
3 , 24
H 1 = H2 =
9 24
f (x)dx = h
x0
ahol
3 9 9 3 f0 + f1 + f2 + f3 + O(h5 f (4) ) , 8 8 8 8
h = (x3 x0 )/3.
5.1. bra. Integrls NewtonCotes-kvadratrkkal: a.) Tglalap mdszer ( kzelts nulladrend polinommal), b.) Trapz mdszer (kzelts elsrend polinommal), c.) Simpson-mdszer (kzelts msodrend polinommal)
1:
az integrland fggvny,
2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
pre f = f (x) tpus fggvny, b > a, n 1 h (b a)/n xa s0 for i 1 to n 1 do: xx+h s s + f (x)
s+ f (a) + f (b) 2
a tartomny hatrai,
az intervallumok szma
i i i
i i
nm 2008/8/4 15:02 page 83 #80
i i
83 ) szma
12:
az integrland
13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
a s b a tartomny hatrai, n az intervallumok pre f = f (x) tpus fggvny, b > a, n pros h (b a)/n xa+h s0 for i 1 to n/2 1 do: s s + 2f (x) + f (x + h) x x + 2h
= a, xn = b).
Ezeket a kpleteket
zrt kvadratrknak
nevezzk. Br teljesen termszetes, de mgsem szksgszer ez a feltevs. Az (5.8) kvadratrban a csompontokat az integrlsi tartomny belsejben vettk fel. Ez esetben a
nylt
x5
f (x)dx = h
x0 x1
f (x)dx = h
x0 x1
f (x)dx = h
x0
23 16 5 f1 f2 + f3 + O(h4 f (3) ) . 12 12 12
A fenti s hasonl kpleteket, mind az ismeretlen egytthatk mdszervel, mind a NewtonCotes egytthatk levezetsnl hasznlt mdon kaphatunk. A nem zrt kpletek elnye az, hogy segtsgkkel olyan fggvnyek integrljai is megkzelthetk numerikusan, melyek behelyettestsi rtke nem szmthat ki az egyik vagy mindkt vgpont-
1 1/2 x dx). 0 A nylt kpletek f htrnya, hogy hasznlatuk nem alkalmas nagyobb intervallumok
ban (pl. esetn hasznlatos kiterjesztett kpletek fellltshoz.
5.3.
Kiterjesztett kpletek
h
Az olvasnak bizonyra feltnt, hogy az eddig ismertetett mdszerek nem nyilvnval mdon kapcsoldnak a (5.2) meghatrozsban felrt matematikai hatrrtkhez. A
i i i
i i
nm 2008/8/4 15:02 page 84 #81
i i
84
n =
Ti f (xi )h
h2 1/n2
nh2 1/n h.
Kvetkezskppen:
xn
f (x)dx
a
Teht a
h 0
tomnyon vett integrl pontos rtke fel. Vges csompontkz esetn az elkvetett hiba
h-ban
rbbet elkpzelni se lehet. Ugyanakkor az elz rszekben, ahhoz szoktunk hozz, hogy hiba rendje nagyjbl azonos a csompontok szmval. A fenti kiterjesztett kplet esetn viszont a kett fggetlen egymstl. Ha pldul a fenti kpletben megktszerezzk az intervallumok szmt a hiba csupn felre cskken. Ezzel szemben a trapz mdszerrl (egy intervallum) ttrve a Simpson-mdszerre (kt intervallum) a hiba
rendje
ktsze-
rezdik. Minek ht kiterjesztett kpleteket hasznlni? Elszr is azrt, mert a Newton Cotes kvadratrakpletek kiterjesztse tetszleges szm csompontra nem trivilis. Ha adott pillanatban a pontossgot nem tartjuk kielgtnek jabb csompontok bevitelvel tetszleges mrtkig nvelhetjk a pontossgot a kiterjesztett kplet esetben, viszont teljesen j NewtonCotes egytthatkat kell jraszmoljunk (5.10) segtsgvel mihelyt nveljk az intervallumok szmt. A msik indok az interpolcis kzeltsek azon fontos tulajdonsgra vezethet vissza, hogy magasabb rend mdszer nem jelent nagyobb pontossgot. Egy meglehetsen simn vel fggvnyt jobban meg lehet kzelteni pldul szz darab szakaszonknt harmadfok polinommal, mint egyetlen hromszzad fok polinommal. Clunk mindenkppen az, hogy minl nagyobb pontossgot rjnk el a lehet legkevesebb fggvnyhvssal, azaz minl kevesebb csomponttal. Az egyes intervallumokhoz tartoz
Ti
az elemi
i.
intervallumot
Ti =
Az sszegzs sorn minden tag ktszer fordul el. Egyszer mint egy adott intervallum jobboldali vgpontja, majd azt kvetleg a soron kvetkez intervallum kezdpontja. Ezen tagok egytthati sszeaddnak. A teljes tartomnyon vett integrl kzelt sszege
i i i
i i
nm 2008/8/4 15:02 page 85 #82
i i
85
teht
xn
f (x)dx = h
x0
m1
+
k=0
ahol
[a, b] s f
legalbb
2m-szeresen folytonosan derivlhat. A fenti megkzeltsben Bi Bernoulli szmok, melynek genertorfggvnye az x xn = B n ex 1 n=0 n!
egyenlet baloldala. Az (5.12) kvadratrban megjelen Bernoulli szmok szmunkra lnyeges tulajdonsga, hogy a (B2k+1
B1 = 1/2
= 0, k = 1, ).
ebben az esetben a
Kiterjesztett Simpson-kplet:
jn
Ti integrlnak megfelel intervallumot h hosszsg elemi intervallumbl ptjk fel. (5.11) alap-
xn
f (x)dx =
x0
. . . + (fn4 + 4fn3 + fn2 ) + (fn2 + 4fn1 + fn )] h = [f0 + 4f1 + 2f2 + 4f3 + 2f4 + . . . + 2fn2 + 4fn1 + fn ] + 3 + O(h4 ) . (5.13)
Vegyk szre, hogy
i i i
i i
nm 2008/8/4 15:02 page 86 #83
i i
86
T (1) = h
ahol
f0 f1 + 2 2
T (n)
az
jabb pontot elhelyezve az intervallum kzepn kt intervallumot kapunk. A kzelt sszeg most:
T (2) =
teht egyetlen pont beszrsval megduplztuk az intervallumok szmt. Ahhoz, hogy tovbb felezzk az intervallumokat, tovbbi kt majd ngy, nyolc, stb. pontban kell kirtkeljk az integrland fggvnyt:
h f0 f1 T (2) h + f1/4 + f1/2 + f3/4 + = + (f1/4 + f3/4 ) , 4 2 2 2 4 h f0 f1 T (8) = + f1/8 + f1/4 + f3/8 + f1/2 + f5/8 + f3/4 + f7/8 + = 8 2 2 T (4) h + (f1/8 + f3/8 + f5/8 + f7/8 ) , = 2 8 n T (n) h T (2n) = f(2i1)/2n . + 2 2n i=1 T (4) =
A rekurzv algoritmust a kvetkez mdon llaptjuk meg:
T (2
n+1
2n
(5.14)
hn+1 = hn /2 ,
sszehasonltva kt egymst kvet lpsbl szrmaz kzeltrtket, megbecslhetjk a kzelts hibjt. A kilpsi felttel ezek szerint
az elvrt pontossg. A rekurzv trapz algoritmus erssge abban ll, hogy ellen-
rztt mdon nvelhetjk a pontossgot anlkl, hogy egyetlen pontban is flslegesen jra kirtkelnnk az integrland fggvnyt.
i i i
i i
nm 2008/8/4 15:02 page 87 #84
i i
87
tartalmaz. A 1.6 alfejezetben megismert Richardson-extrapolcibl mertve ihletet rjuk fel a rekurzv trapz algoritmus kt egymst kvet lpsbl szrmaz kzeltseket:
h2 h4 h6 h2k + a4 + a6 + . . . + a2k k + . . . , 4 16 64 4
h = (b a)/n s I
szblhetjk az als egyenlet ngyszeresbl kivonva a fels egyenletet. Kvetkezskppen az integrl kzelt kifejezse
S (2n)
alak lesz. Itt
(5.15)
tossgt klcsnzi a lnyegben trapz mdszernek. Megvizsglva az (5.15) egyenletet, szrevehet, hogy a kt, kombincija valban a pen vegyk az
n illetve 2n, intervallumra kiszmtott kzeltrtkek lineris 2n intervallumra felrt Simpson-kplettel egyenrtk. Pldakpf1 f0 + 2 2 h f0 + 4f1/2 + f1 6
n=1 1 h 4 3 2
esetet:
S (2) =
f1 f0 + f1/2 + 2 2
A rekurzv trapz algoritmusra pl Simpson algoritmus meglehetsen hatkony s nem tl nagylptk feladatok esetn kielgten gyorsan konvergl.
5.3.3. Romberg-integrl
Az (5.15) jobboldaln tovbbi tagokat is ki lehet ejteni a 1.6 alfejezetben trgyalt Richardson-extrapolci egyszer algoritmusa segtsgvel. Ezzel eljutunk a rgztett csompont kzelt integrlok legersebb algoritmushoz, az n. lljk a
2n
intervallumos
T (2n )
trapz megkzeltst
Je-
R(0, 0) =
1 R(n + 1, 0) = R(n, 0) + hn+1 f (a + (2i 1)hn+1 ) 2 i=1 R(n + 1, m + 1) = R(n + 1, m) + R(n + 1, m) R(n, m) . 4m+1 1
(5.16)
R(2, 2) R(3, 2)
. . .
R(3, 3)
. . . .. .
R(M, 0)
R(M, M )
i i i
i i
nm 2008/8/4 15:02 page 88 #85
i i
88
Az egyes oszlopokban az azonos rend kzeltsek rtkei helyezkednek el, mg az azonos intervallumszm kzeltsek ugyanabban a sorban kapnak helyet. A legpontosabb rtk
R(M, M )
mely
2(M + 1).
teljes mrtkben ki tudjuk hasznlni az algoritmus nyjtotta elnyket az integrandusz lehet legmagasabb rend derivltig folytonos kell legyen. (5.12) alapjn, amennyiben ez a szm vges, pl.
2M ,
a Romberg hromszg
M 1-nl
biztostanak pontosabb kzeltst s az egyedli mdja a pontostsnak az intervallumok szmnak nvelse, azaz jabb sorok kiszmtsa
M 1-re
R(0, 0) s R(1, 0) trapz szably szerinti megkzeltsek lineris kombincija Simpson megkzeltPontostsknt megjegyezzk, hogy br megtveszten hat az a tny, hogy az st adja, a tovbbi oszlopokban nem az intervallumok szmnak megfelel NewtonCotes kvadratrakpletekbl szrmaztathat kzelt rtkek tallhatk. Idzzk fel, hogy a NewtonCotes kvadratrk esetn a kzelts rendje ltalban eggyel nagyobb az intervallumok szmnl. A Romberg-algoritmus esetn pedig legnagyobb pontossg rendje gten pontos eredmnyt ad
2M
2(M + 1). A mdszer rendkvl gyorsan konvergl s kielM kis rtkeire is. Nagy szmtsi idt ignyl integrandusz
esetn, mikoris elsrend szempont az integrandusz lehet legkevesebb szm kirtkelse, a Romberg algoritmus az els szm jellt a feladat elvgzsre.
5.4.
Gauss-kvadratrk
f (x)
fggvny csom-
ismeretben mely paramtereket rgztjk le, s melyeket hasznljuk a megkzelts optimalizlsra. Az (5.3) illetve az ltalnosabb (5.6) kzeltsek paramterei az pontok s
xi
wi
le a csompontokat, vagy egyenletesen felosztva az integrlsi tartomnyt, vagy egy tblzatbl olvasva ki ket.
intervallum (n
+1
n+1 n-l
lineris egyenletet rtunk fel (5.5) vagy kzvetlenl hatroztuk meg (5.4, 5.7) sze-
rint. Az
n+1
n+1
annyi egyenlet pedig a megkzelts rendjt is megduplzza. A megkzeltseknek azt az osztlyt, melyben a csompontokat teljes egsszben vagy csak rszlegesen ezen az ton llaptjuk meg Gauss kvadratrknak nevezzk.
5.5.
GaussCsebisev-kvadratra
Br a mdszert eredetileg Csebisev dolgozta ki, mivel Gauss munkja ltalnosabban trgyalja a problmakrt gy minden hasonl mdszer elnevezsben megjelenik Gauss neve. Chebyshev azt tanulmnyozta, hogy milyen csompontok esetn pontos a (5.3)
i i i
i i
nm 2008/8/4 15:02 page 89 #86
i i
89
f (x)dx w
a i=0
f (x)dx
1
kvadratrakpletet, ahol
2 [f () + f ( ) + f (0) + f ( ) + f ()] 5
5 + 11 12 5 11 12
0.832497487000982
0.374541409553581 . s
csompontok
A fenti kvadratra tnl kisebb fok polinomokra pontos. Miknt az rendszert. A keresett abszcisszkat s a
egytthatt
n+2
egyenletbl ll egyenletrendszer gykei szolgltatjk. Az egyenletrendszer megoldsa nem trivilis s megolds nem is ltezik csak az hatkonyabb mdszerek lteznek.
n = 0, 2, 3, 4, 5, 6 s 8 rtkekre. A kvet-
5.6.
ltalnos Gauss-kvadratrk
A Gauss-kvadratrk kvetkezkben bemutatott formja a numerikus integrls omegjnak tekinthet, legalbbis, ami a megkzelts hibjnak rendjt illeti. Feladatunk legyen jra az
f (x)w(x)dx
a i=0
wi f (xi )
(5.17)
kvadratra-kpletben szerepl paramterek meghatrozsa. Tovbblpve a rgztett csompont integrlsi mdszereken, ahol az egytthatk megvlasztsval rkra, ahol a csompontok meghatrozsa brmely
f n
osztly
f n+1
ltst adott, termszetszerleg feltevdik a krds, hogy ha gy a csompontokat mint az egytthatkat megfelelkppen vlasztjuk meg, akkor a pontos eredmny kvetelmnye kiterjeszthet-e a hat ltal biztostott
2n+1 trre. Ms szavakkal, az n + 1 csompont s ugyanannyi egytt2n + 2 szabadsgi fok lehetv teszi-e a megkzelts pontossgt
i i i
i i
nm 2008/8/4 15:02 page 90 #87
i i
90
2n + 1
gyalt mdszereknl sszehasonlthatatlanul nagyobb pontossgot tudnnk elrni. Csupn ngy pontban (hrom intervallum) vett kvadratra hibja kilencedrend, ami a hasonl szm csompontot hasznl NewtonCotes kvadratra ltal biztostott hatodrendnl lnyegesen nagyobb pontossgot jelent. Pldul, ha
h = 0.1,
akkor a Gauss-kvadratra
hibja ezerszer kisebb, azaz hrom rtkes szmjeggyel tbbet biztost. Az ismeretlen egytthatk mdszert trgyal rszbl mr tudjuk, hogy az (5.17) megkzelts akkor s csak akkor egzakt
f n
b
fggvnyekre, ha
wi =
a
ahol
w(x)li (x) ,
(5.18)
li (x)
m>n
egsz szmra
n m .
w-ortogonlisa
q (x)p(x)w(x)dx = 0 .
a
Ttel: Ha x0 , x1 , . . . , xn
q (x) polinom gykei, akkor az (5.17) megkzelts az (5.18) f 2n+1 esetn. Bizonyts: Legyen f 2n+1 . Elosztva a q polinommal, a kapott hnyados s maradk a p s r polinomok. Teht
a
f = qp + r ,
Mivel
p, r n .
Ebbl kvetkezleg s kihasznlva
hogy
f (xi ) = r(xi ).
b
f (x)w(x)dx =
a a
q (x)p(x)w(x)dx +
a =0
r(x)w(x)dx =
i=0
wi r(xi ) =
i=0
wi f (xi )
[a, b]
[a, b]
intervallumon
xi , i = 0, n csompontok s megfelel wi slyok, amelyek w(x) fggvnnyel slyozott integrlt 2n + 1-ed rend kvad-
ratrval kzeltenek. Hrom krdsre kell vlaszt adnunk mieltt konkrt szmrtket kaphatunk a keresett integrltra: mely polinom gykei lesznek a keresett csompontok? ha megvan a polinom, miknt keressk meg a gykeit? milyen slyok tartoznak a csompontokhoz? Amennyiben az integrlsi tartomnyra s a slyfggvnyre vonatkoz elvrsainkat kielgti valamely 5.1 paragrafusban bemutatott specilis polinom, akkor az ezekre kiszmtott s tblzatba foglalt csompontok s slyok azonnal rendelkezsnkre llnak a
i i i
i i
nm 2008/8/4 15:02 page 91 #88
i i
91
szakirodalomban. A leggyakrabban hasznlt kzelts az n. Gauss-Legendre kvadratra, mely nem felttelez slyfggvnyt, azaz
w(x) = 1
s a
[1, 1]
tegrlt kzelti. Miknt neve is elrulja, a Legendre polinomokra ptett kvadratra. Npszersge annak tulajdonthat, hogy brmely integrandusz s brmely vges intervallum esetn hasznlhat. Ha van is slyfggvny, az sszeolvaszthat az integrlsi hatrok pedig a korbban ismertetett mdon lekpezhetk a Az 5.6 tblzatban sszefoglaltunk nhny abszcissza s sly rtket:
n
0 1
wi
5.2. tblzat. GaussLegendre-kvadratrk csompontjai s slyai Ha nem tallunk clunknak megfelel kvadratrt, akkor magunk is ltre tudjuk hozni a megfelel polinomokat s kiszmthatjuk gykeit. Ez viszont nmagban egy kln terlete a numerikus mdszereknek.
i i i
i i
nm 2008/8/4 15:02 page 92 #89
i i
6. FEJEZET
f1 (x1 , x2 , . . . , xk ) = 0 , f2 (x1 , x2 , . . . , xk ) = 0 ,
vagy tmrebb felrsban . . .
(6.1)
fm (x1 , x2 , . . . , xk ) = 0 , f (x) = 0 ,
ahol
f = (f1 , . . . , fm )
x = (x1 , . . . , xk ). m
szma, az
tbbdimenzis.
sunk.
fggvnyben a feladat
x szaegy- vagy
termszetesen alakja fggvnyben ltezhet nulla, egy, vges vagy vgtelen sok megoldTekintsk az egydimenzis esetet s keressk az
f (x) = 0
vals fggvny
(6.2)
gykeit.
-vel,
hogy analitikus mdon (kplettel) megadhat. A digitlis szmbrzols korltai miatt a legtbb fggvny esetben a pontos gyk egy matematikai absztrakci marad, ezrt a numerikus mdszerekkel csak kzelsg rtelmezse. Ebben nyjt segtsget a fggvnyek karakterisztikus mret alatt azt a
kzelt gykket
karakterisztikus mreteinek
fogalma. Az
irny
Cx
92
i i i
i i
nm 2008/8/4 15:02 page 93 #90
i i
93 jellemz sajtossgai alapjban vve derivltjainak zrus-helyei megtallhatak, mieltt valamely stacionrius viselkeds bell, pldul tart egy rtkhez vagy vgtelenhez. Az
irny
Cy
tenge-
bizonyos viselkedst mutat fggvnyek esetn lehetsges, s akkor is valamely konvenci alapjn. Erre plda a haranggrbe. Ennek szlessgt a grbe s annak flmagassgnl felvett egyenessel val metszspontjai kztti tvolsgknt hatrozzuk meg. Ha a fggvnyhez rendelhet valamely karakterisztikus mretetet jellemz paramter, akkor brmely, ezzel azonos nagysgrend rtket is tekinthetnk karakterisztikus mretnek. Pldul a megfelel. Az egyszer fggvnyek esetn, pl. vehetjk egysgnyinek. Az risztikus mretet. Azaz
sin x
esetn nemcsak a
xp , ex , cos x, log x,
Cx
karakterisztikus mretet
Cx [f (x)] =
A
1 Cx [f (x)] .
Cy
s vltozsnak mrtke az
cilis fggvny esetben ersen, a szinusz s koszinusz esetben pedig egyltaln nem befolysolja a sklzs. sszetett fggvnyek esetn a karakterisztikus mretek becslse jval nehezebb, s az is elfordulhat, hogy egyszeren nem is ltezik karakterisztikus mret. Pldul,
Cx [exp tan x]
ersen fgg
Cy [tan x]-tl.
sin 1/x
selkedse miatt egyltaln nincs karakterisztikus mrete. Ilyen helyzetekben legfeljebb egy elre megadott szakaszon bell tudunk karakterisztikus mretrl beszlni, s csak akkor, ha ezen bell nincs a a megfelel hiba mint egy olyan
sin 1/x-nl
tapasztalt viselkeds.
x = x -vel a kzelt gyk hibjt. y irnyban x = f (x) f ( ) = f (x). A kzelt gykt gy hatrozhatjuk meg,
rtk, melyre fennll, hogy
x Cy [f ]
ellltott
1,
amikor
x Cx [f ]
1.
xn
sorozat
hatrrtke a
n D , nM ,
|f (xn )|;
f (x)
fggvny
s az iterci viselkedst, akkor brmelyiket hasznlhatjuk kilpsi felttelknt. Krltekintst ignyelnek azok a feladatok, melyek megkvetelik, hogy a lehet legnagyobb pontossggal hatrozzuk meg a gykt. rtelemszeren, az bell kell maradnia. A gykkeres mdszerek az s
ltal jellemzett
f (x)
i i i
i i
nm 2008/8/4 15:02 page 94 #91
i i
94
vett behelyettestsi rtkeinek kiszmtsval kzeltenek. Szmottev az eslye annak, hogy a hatrozatlansg als korltjt nem az
f (x)
fggvnyrtkek kiszmtsakor fellp hiba adja. Nem zrhat ki az sem, hogy mind az
x,
mind az
kerektsi- s kplethibk lncolata rvn vg nlkli itercihoz vezet. Az itercik szmt fellrl korltoz harmadik kilpsi felttel viszont kivdi ezt a problmt. Kvetkezskppen, ha a robusztussg rsze a gykkeres algoritmusra kirtt kvetelmnyeknek, akkor mindhrom kilpsi felttel egyidben val alkalmazsa ajnlott.
6.1.
Gykk sztvlasztsa
A legtbb mdszer kizrlag egyetlen gyk keressre alkalmas. Most, hogy a karakterisztikus mretek alapjn lergztettk, hogy mekkora pontossgot vrunk el a kzelt megoldstl, a kvetkez lps, hogy azonostsuk azokat a rvid szakaszokat, melyeken bell egyetlen gyk tallhat. Ebben a kvetkez ttel van segtsgnkre:
Ttel:
1. ha az
f (x)
fggvny folytonos az
[a, b]
ellenttes eljel, akkor legalbb egy vagy pratlan szm gyke tallhat az intervallum belsejben.
2. ha az
f (x)
fggvny folytonos az
[a, b]
azonos eljel, akkor vagy nincs gyke vagy pros szm gyke tallhat az intervallum belsejben.
Szmunkra teht az olyan szakaszok rdekesek, melyek vgpontjaiban a fggvny behelyettestsi rtkei az abszcissza kt oldaln helyezkednek el, azaz kielgtik az
kzrezrsi felttelt. Ennek biztostshoz ismt a fggvny karakterisztikus mretre van szksgnk. Az aprt gy hatrozzuk meg, mint a legkisebb x irny karakterisztikus
mretnl jval, mondjuk kt-hrom nagysgrenddel kisebb intervallumot. Az eljrs a kvetkez: egy
xmin , xmax
lpsekben araszo-
lunk vgig. Minden lpsben ellenrizzk, hogy a vgpontokban vett fggvnyrtkek klnbz eljelek-e. Ha igen, akkor megjegyezzk a vgpontok helyt. Az eljrs a vgpontok egy-egy tmbjt trti vissza. Pszeudkdban ugyanez:
1: 2:
a lpskz,
3: 4:
i i i
i i
nm 2008/8/4 15:02 page 95 #92
i i
95
i1
then
kzrezrsi felttel
end if
xy
Vgs kvetkeztetsknt megllapthatjuk, hogy a gykk sztvlasztsra nem ltezik ltalnos rvny numerikus mdszer. Az ismerete minden esetben szksges.
6.2.
Felez mdszer
f ( x) x tengelyt. Vegynk a0 illetve b0 -val. A felez mdjabb (a1 , b1 ), (a2 , b2 ), ..., (an , bn ), ...
fggvny az
Az elz rszben sikerlt olyan intervallumokra felosztanunk a szmtengelyt, amelyek mindegyikben egyszer s csakis egyszer metszi az egy ilyen intervallumot, s jelljk annak kt vgpontjt szer abban ll, hogy kiindulva ebbl a kt rtkbl tervallumon bell marad: azaz gt: azaz
szmprokat kapunk gy, hogy a gyk mindvgig a kt rtk ltal meghatrozott in-
an < < bn
szortvn a gykt (6.1. bra). Minden egyes lpsben felezzk az intervallum nagys-
tiszteletbentartva s az intervallumot tetszlegesen lecskkentve, annak vgpontjai tetszlegesen kzel kerlnek a Legyen gykhz. Gyakorlatilag az eljrs a kvetkez:
cn = (an + bn )/2
1. ha
bn+1 = cn , an+1 = cn ,
kzepre mozgatjuk, mert ezzel nem csszik ki keznk kzl a gyk; 2. ha akkor azaz ha a jobb oldali vgpont kzpre val
f (an )f (cn ) = 0
lellunk, mert
cn = ,
A harmadik lpsben gyelembe vett eshetsg valsznsge gyakorlati alkalmazsok esetn kicsi, de ettl fggetlenl helyet kell kapnia az algoritmusban. Az
n-edik
cn .
n =
bn an . 2
i i i
i i
nm 2008/8/4 15:02 page 96 #93
i i
96
1:
a tanulmnyozott fggvny,
a, b
az
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
b > a, sign(f (a)) = sign(f (b)) u f (a) (b a)/2 while > do ca+ w f (c) if u w < 0 then bc else if w = 0 then return c
pre
becslt megolds
else
end if
ac uw
/2
i i i
i i
nm 2008/8/4 15:02 page 97 #94
i i
97
Plda
Legyen a
b
1.000000 1.000000 0.750000 0.625000 0.625000 0.593750 0.578125 0.570312 0.570312 0.568359
c
0.500000 0.750000 0.625000 0.562500 0.593750 0.578125 0.570312 0.566406 0.568359
|b a|/2
0.500000 0.250000 0.125000 0.062500 0.031250 0.015625 0.007812 0.003906 0.001953
f (a)
-1.000000 -0.106531 -0.106531 -0.106531 -0.007283 -0.007283 -0.007283 -0.007283 -0.001155 -0.001155
f (b)
0.632121 0.632121 0.277633 0.089739 0.089739 0.041498 0.017176 0.004964 0.004964 0.001905
f (c)
-0.106531 0.277633 0.089739 -0.007283 0.041498 0.017176 0.004964 -0.001155 0.001905 0.000375
10
0.567383
0.000977
Az albbi robusztusabb vltozatban a kilpsi felttelt kiegsztjk, hogy kis kekre, illetve nagy iterciszm esetn is trjen vissza az algoritmus:
|f (x)|
rt-
1:
, D, M M
out: x )
a tanulmnyozott
a, b
az intervallum hatrai,
az
f (x) x a
b > a, sign(f (a)) = sign(f (b)) u f (a) (b a)/2 or i0 w f (a + ) while > or |w| > D or i < M do ca+ w f (c) if u w < 0 then bc else if w = 0 then return c
pre
else
/2 ii+1
end if
ac uw
i i i
i i
nm 2008/8/4 15:02 page 98 #95
i i
98
20: 21: 22:
Vizsgljuk most meg a konvergencia sebessgt. A hiba minden lpsben felezdik, azaz a rekurrencia-kplet
6.3.
rint mdszer
A ms nven Newton-mdszerknt is ismert eljrs a fggvny derivltjnak a segtsgvel kzelti meg a gykt. Mkdse azon a tnyen alapszik, hogy a gyk szomszdsgban a fggvny megkzeltleg lineris. Egy kezdeti, a gykhz a lehet legkzelebb es becslsbl indul ki. Fejtsk a fggvnyt sorba az gykt:
x0
x0
krl s helyettestsk be a
pontos
0 = f ( ) = f (x0 ) + f (x0 )( x0 ) +
f (x0 ) ( x0 )2 + 2
A keresett megolds a jobb oldali polinom gyke. A Taylor-sort levgva vges szm tag utn, egy hasonl polinomot kapunk, aminek meghatrozva pontos gykt, ez kzelt gyke lesz az eredeti vgtelen fok Taylor-polinomnak. gy is megfogalmazhatjuk, hogy a pontos polinom kzelt gyke, a kzelt polinom pontos gyke. Legyen kzelt gyk. A polinomilis egyenlet:
x1
ez a
(6.3)
x1 -et
egy felteheten az
x0 -nl
x1 -bl
xn+1 = xn
f (xn ) . f (xn ) x0
(6.4)
A kplethez eljuthatunk intuitvabb geometriai meggondols tjn is. A 6.2. brn lthat grakus szerkeszts szerint az
x1
pontban a
fggvnyhez hzott rintt meghosszabbtjuk, amg az az szspont mr kzelebb fekszik a gykhz, mint
tengelyt metszi. Az
x1
met-
x0 .
Az
x1
biekhez hasonlan jrunk el, jabb s jabb, a gykhz egyre kzelebb es irnytangensre fennll, hogy
x2 , x3 , ..., xn
tan n = f (xn ) =
f ( xn ) , xn xn+1
i i i
i i
nm 2008/8/4 15:02 page 99 #96
i i
99
1: 2: 3: 4: 5: 6: 7: 8:
repeat
x1 x0
end function
Plda
f (x) = x ex , x0 = 1 c = (a + b)/2 jellst.
Legyen s a megengedett legnagyobb hiba 10
. Hasznlva a
1 2 3 4
109 -re zsugorodik a hiba. sszehasonltva a fe3 a 10 -os hibval, nyilvnval az rint mdszer
i i i
i i
nm 2008/8/4 15:02 page 100 #97
i i
100
felsbbrendsge. A mdszer hatkonysgnak megrtshez vizsgljuk meg aprlkosabban az iterci konvergencijt. A hiba az gyk. A kvetkez lps hibja
n-edik
lpsben
n xn ,
ahol
a pontos
n+1 = n
f (xn ) , f (xn )
gyk krli Taylor-sorbafejtst
f ( ) + ... , 2 f ( + n ) = f ( ) + n f ( ) + ... , f ( + n ) = f ( ) + n f ( ) + 2 n
illetve azt, hogy
f ( ) = 0, n+1 = n
f ( ) n f ( ) + 2 f ( ) 2 n 2 = . f ( ) + n f ( ) 2f ( ) n
mg a felez mdszer esetn csak lineris.
A konvergencia teht
kvadratikus,
Az rint mdszer legnagyobb htrnya mind a felez, mind ms mdszerekkel szemben az, hogy szksgess teszi a fggvny derivltjnak ismerett, ami a legtbb gyakorlati alkalmazs esetn nem ll rendelkezsre. Egy msik htultje a mdszernek, hogy ha a kezdeti becsls nem elg pontos, azaz a magasabbrend tagok nagy hibt adnak, akkor az iterci divergenss vlhat. A 6.3. bra szemllteti ezt a lehetsget.
6.3. bra. Divergens iterci az rint (Newton) mdszerrel. Felmerl a krds, hogy mi trtnne, ha a (6.3)-ban a msodrend tagot is gyelembe vennnk. Ebben az esetben tartalmazzk az madrend lesz.
x1
egy olyan parabola gyke lenne, amelynek egytthati a fggvnybe. A konvergencia erssge ez esetben har-
f (x0 )
x0 -ban
i i i
i i
nm 2008/8/4 15:02 page 101 #98
i i
6.4. HRMDSZER
101
6.4.
Hrmdszer
f (x) x1
Az rint mdszer f fogyatkossgt kikszblend, nem hasznljuk a derivlt analitikus kifejezst, hanem numerikusan kzeltjk azt meg. Tekintsk ismertnek az fggvnyt s a gyk kzelben elhelyezked pontra vonatkoztatva s helyettestsk be a
x0 ,
x1
szernl alkalmazott trgyals vezrfonalt kvetve, vegyk a fggvny Taylor-sort az pontos gykt:
(6.5) (6.6)
f (x1 ) =
xn+1 =
(6.7)
xn+1 = xn1
xn1
x n1 x n OBN
OAM
hromszgek hasonlsgbl
f (x1 ) x1 x2 = , f ( x0 ) x0 x2
azonnal advn kzeledik egymshoz, az egyenes tart a fggvny rintjhez s az megkapjuk a Newton mdszert. A mdszer lnyege megragadhat a kvetkez algoritmuson keresztl is:
1: 2: 3: 4: 5: 6:
x0 x1 x1 x2
i i i
i i
nm 2008/8/4 15:02 page 102 #99
i i
102
7: 8: 9: 10:
end function
f (x1 )x0 f (x0 )x1 f (x1 ) f (x0 ) until |x2 x1 | > return x2 x2
Plda
Legyen
1 2 3 4 5
A konvergencia erssgt is viszonylag knnyedn megkaphatjuk az elz rszben gyjttt tapasztalatokra tmaszkodva. A (6.7)-ba behelyettestve az
fggvny
gyk krli
(
n+1
n1
+ )
nf
( n + ) 2 f 2 n1 f nf + n 2 +
2f n
n1 f
f 2 n1
f 2 n1
i i i
i i
nm 2008/8/4 15:02 page 103 #100
i i
103
ahol
az
fggvny derivltjai a
egyszerstsek utn:
n+1
A fenti sszefggs az
f 2f
n n1
(6.8)
n + 1-edik
hatrozatlansg segtsgvel adja meg. Ezt t szeretnnk alaktani (1.4) alakv. Kihasznlva, hogy ennek alapjn:
n1
(6.8) trhat:
lland
m n
1/m n
ahonnan az
1/m n n
lland
1.618 n
Amint az vrhat volt, a konvergencia gyorsasga meghaladja a felez mdszert, viszont alul marad a Newton-mdszerrel szemben. Ezzel szemben a derivlt ismeretnek szksgtelensge miatt a hrmdszer a leghasznosabb mindhrom kzl.
6.5.
Itercis mdszer
x = g (x)
alakba. Az egyenlet megoldst nem ismervn, annak valamely kezdeti helyettestve a jobb oldalba, egy jabb mtelhet az elbbi lps
x0
becslst be-
x1
ha a kett megegyezik, akkor kzs rtkk a (6.2) megoldsa. Ellenkez esetben megis-
ha konvergenss sikerl tenni, akkor hatrrtke a keresett gyk lesz. A jobb oldalon ll fggvnynek elviekben vgtelen sok vltozata lehetsges, de clszer ezt a lehet legegyszerbb kapcsolatban tartani az eredeti kvetkez:
f (x)-szel.
xn+1 = g (xn ) ,
ahol
g (x) = x Qf (x) ,
az itercis folyamat grakus szerkesztse lthat. Az els kt esetben a folyamat konvergens. Amint az bra tlzottan meredek
g ( x)
i i i
i i
nm 2008/8/4 15:02 page 104 #101
i i
104
1: 2: 3: 4: 5: 6: 7: 8:
repeat
end function
i i i
i i
nm 2008/8/4 15:02 page 105 #102
i i
105
Plda
Legyen 1 2 3 4 5 6 7
Q = 0.6. xn+1
0.563918396 0.566952490 0.567131903 0.567142610 0.567143250 0.567143288 0.567143290
Qf (xn )
0.963918396 0.941385132 0.940350907 0.940289849 0.940286206 0.940285988 0.940285975
|xn+1 xn |
0.063918396 0.003034095 0.000179413 1.07072889e-05 6.39353343e-07 3.81782835e-08 2.27977877e-09
Plda
Ugyanaz 1 2 3 4 5 6 7 0.5 0.71306132 0.26722152 1.26378544 -0.698620839 4.72057550 -4.70275541
Q = 2-re: xn
f (xn )
-0.10653066 0.22291990 -0.49828196 0.98120314 -2.70959817 4.71166545 -114.953294
xn+1
0.71306132 0.26722152 1.26378544 -0.69862084 4.72057550 -4.70275541 225.203833
Qf (xn )
3.21306132 2.98028284 3.53100695 2.56516460 6.02195466 2.01782009 222.501078
|xn+1 xn |
0.21306132 -0.44583980 0.99656392 -1.96240628 5.41919634 -9.42333091 229.906589
Lthatlag, erre a
Ttel:
Ha
|g (x)| q < 1,
akkor az
a < x < b,
x0 [a, b]
kezdrtktl s a
= lim xn
n
hatrrtk az
x = g (x)
egyenlet egyetlen gyke az
[a, b]
intervallumban.
| xn |
qn |x1 x0 | 1q
i i i
i i
nm 2008/8/4 15:02 page 106 #103
i i
106
egyenltlensget. A mi esetnkben a
g (xn ) = 1 Qf (xn ),
szrevehet, hogy az rint mdszer tulajdonkppen egy okosabb itercis mdszer, mely minden lpsben belltja a
rtkt az optimlis
1/f (xn )
rtkre.
6.6.
Tekintsk jra az
f (x) = 0
oldst. Ttelezzk fel, hogy adott egy kezdeti pontos megolds
(6.10)
x(0)
becslse a megoldsvektornak s a
= (1 , . . . , k ).
0 = fi ( ) = fi (x(0) ) +
j =1
Bevezetve a
J (x) = . . . f (x) n x1
f1 (x) x1 f2 (x) x1
.. .
fn (x) x2
. . . fn (x) xn
f1 (x) xn f2 (x) xn
x( 1)-re
ll fenn,
i i i
i i
nm 2008/8/4 15:02 page 107 #104
i i
107
Megismtelve a lpst a
(6.11)
x(n+1) = x(n+1) x(n) . A (6.11) egy lineris egyenletrendszer, melyben a J (x(n) ) ( n) egytthat-mtrix s a f (x ) szabad tagok vektora adottak. x(n+1) megkaphat a
lineris egyenletrendszerekrl szl fejezetben ismertetett valamely mdszerrel, pldul a Gauss-fle kikszblssel. Ha a (6.11)-et trjuk az
f (x(n) )
alakba, akkor a mdszer szoros kapcsolata az egyvltozs fggvnyekre megadott rint mdszerrel nyilvnvalv vlik. A kilpsi felttelt felrhatjuk a relatv hiba kplett hasznlva:
max xi /xi
i
vagy amennyiben lteznek eltn
(n)
(n+1)
xi
(n)
max xi
i
(n)
A megolds ltezsnek s a mdszer konvergencijnak trgyalsa halad matematikai feladat, ezrt eltekintnk tle. [4]-ben rszletesen trgyalt a krdskr.
i i i
i i
nm 2008/8/4 15:02 page 108 #105
i i
7. FEJEZET
d2 y + 2 y = 0 , dt2
ahol
kztt a
dp g = p dz RT
s
a gravitcis gyorsuls s
letnek egyszer analitikus megoldsai ismertek, viszont ha a rezgs ersen anharmonikus, illetve a msodik pldban gyelembe akarjuk venni a hmrsklet bonyolult magassgfggst, az analitikus megolds lehetsge kiesik s numerikusan kell hozzfognunk az egyenletek integrlshoz. ltalnos esetben egy elsrend DE alakja:
dy y = f (x, y ) , dx
ahol az A megoldshoz szksges legalbb a kezdeti llapot ismerete
(7.1)
f (x, y (x)) fggvny alakja ismert, x a vltoz s y (x) a meghatrozand fggvny. y (0), ezrt ezt kezdeti rtk problmnak nevezzk. Egy msodrend DE ltalnos alakja: y = f (x, y, y ) .
108
i i i
i i
nm 2008/8/4 15:02 page 109 #106
i i
109
Ez felrhat kt elsrend DE-bl ll DE rendszerknt egy jabb fggvny bevezetsvel. A legelterjedtebb eljrs az j fggvnyek megvlasztsra az, hogy egyms derivltjaiknt rjuk fel. A mi esetnkben:
y =z z = f (x, y, z )
Hasonlkppen harmadrend DE esetn:
y =z z =w w = f (x, y, z, w)
ltalnos esetben minden csatolt DE rendszere az
N -ed
darab elsrend
yi = fi (x, y1 , y2 , ..., yN ) ,
formban, ahol az sszes
i = 1, 2, ..., N
(7.2)
fi
fggvny kezdeti rtknek ismerete szksges, hanem annak sszes derivltjainak egsz
N 1-ed
rendig, azaz:
y (0), y (0), ..., y (N 1) (0). Ez viszont egyenrtk a (7.2) DE rendutn az yi (0) kezdeti felttelek ismeretvel. Clunk teht egy (x0 , y (x0 )) H
f (x,y )
(x0 + H, y (x0 + H ))
(7.3)
tsnl a kzelts rendjn tl olyan tnyezket is gyelembe kell venni, mint az szerinti optimlis belltsa futs kzben, stb.
f (x, y )
7.2.
Egylpses mdszerek
h H
lpsre
Miknt neve is elrulja, a mdszercsald alapvonsa, hogy egyetlen, apr ad receptet. Sematikusan:
(xn , yn )
ALG[f (x,y )]
(xn+1 , yn+1 ) ,
ALG[f (x, y )]
az
rs csak rvid szakaszdarabokra alkalmazhat azrt nem jelent gondot, mivel a kapott
(xn+1 , yn+1 )
i i i
i i
nm 2008/8/4 15:02 page 110 #107
i i
110
A lpsek szmval arnyosan a szmtsi id is n, ezrt rdeknk magasrend mdszert alkalmazni. Ez jelen esetben azt jelenti, hogy:
kzeltsben a hiba vezet rendje minl magasabb, de legalbb egyet meghalad legyen.
fggvny
y (x + h) = y (x) + hy (x) +
ahol
h3 h2 y (x) + y (x) + , 2! 3!
(7.4)
xn
krli sorfejts
didaktikai szempontbl br jelentsggel. A Taylor-sorok elnye, hogy knnyen megrthet, s matematikai tanulmnyozsa is lnyegesen egyszerbb, mint a tovbbiakban bemutatott mdszerek. Htrnya, hogy analitikus elszmtsokat ignyel. Viszont valamely szimbolikus szmtst lehetv tev szoftver segtsgvel egszen magasrend kzeltsek is elrhetv vlnak. Termszetesen itt is fennll, hogy a magasabbrend mdszer nem szavatolja a nagyobb pontossgot s az
behelyettestsi rtknek kiszmtsa kltsgess vlik. Bizonyos kzeltsi rend intervallumban az alternatv mdszerek gazdasgosabbak.
7.2.2. RungeKutta-mdszerek
Amennyiben nem llnak rendelkezsnkre
f (x, y )
i i i
i i
nm 2008/8/4 15:02 page 111 #108
i i
111
Erre lttunk pldt a numerikus derivlsrl szl fejezetben. Tekintsnk kt olyan msodrend mdszert, melyek lpsenknt kt kirtkelst tesznek szksgess. A Taylorsorok tulajdonsgaibl:
y (x + h/2) =
y (x + h) y (x) + O(h2 ) , h 1 y (x + h/2) = (y (x) + y (x + h)) + O(h2 ) , 2 h y (x + h/2) = y (x) + y (x) + O(h2 ) . 2
nvekmnyt ktflekppen is felrhatjuk:
Ezek alapjn a
= y (x + h) y (x)
vltoz
f (x, y )
f (x + h, y + ) = f (x, y ) + O(h) + O( ) .
sszevetve a (7.6) s (7.7) egyenletekkel azt kapjuk, hogy:
a = hf (x + h/2, y (x) + h/2f (x, y )) + O(h3 ) , h b = (f (x, y (x)) + f (x + h, y (x) + h/2f (x, y )) + O(h3 ) . 2
Algoritmikusabb alakba trva:
kzppont
vagy
javtott Euler,
mg az utbbi
Heun
i i i
i i
nm 2008/8/4 15:02 page 112 #109
i i
112
Tulajdonkppen mindkett az n.
msodrend RungeKutta
valstsai. A RungeKutta mdszercsald az egylpses eljrsok koronzatlan kirlya. Mg az algoritmusok vgs alakja kimondottan egyszer, lpsrl lpsre trtn levezetsk meglehetsen bonyodalmas. Ezrt megelgsznk azzal, hogy betekintst nyernk a mdszer mkdsi mechanizmusba. Tovbbi rszletek fellelhetk az irodalomban [6]. Tekintve a kvadratrkrl szl fejezetben trgyalt mdszerek hatkonysgt, sszer a feladatot gy felfogni, mint a
x+h
=
x
f (x, y (x))dx h
i=0
wi f (xi , y (xi )) ,
xi = x + ai h , xn , yn
ai [0, 1]
(7.9)
kiindulsi pontot
x, y -
y (x)
f (xi , y (xi ))
x+ai h
f (xi , y (xi )) = f f
x + ai h, y (x) +
x mi
(7.10)
x + ai h, y (x) + h
i=0
(7.11)
A (7.11) jobb oldaln jbl s jbl megismtelve az integrlsszegintegrl lpseket nem jutunk elbbre. Ezrt olyan kvadratrkhoz kell folyamodnunk, melyek elzleg mr kiszmtott helyesebben: megkzeltett Kutta mdszerek az
f (xj , y (xj ))
(7.15) (7.16)
lpcsknek
nyos rtelemben vett kvadratrkrl van sz, ezrt az ezekre kifejlesztett mdszerek nem alkalmasak az
(m + 1)(m + 2)/2 2 darab ai , bij s wi paramter lergztshez. A (7.12x s y rtkek krl, majd egyeztetve a a (7.4) s (7.5)-beli h-ban azonos rend tagokkal a paramterekre egy sor kiktst rhatunk
7.16) egyenletek jobb oldalt sorba fejtve az
fel. ltalban tbb az ismeretlen, mint az egyenlet, ezrt a paramterek megvlasztsban van nmely szabadsgunk is. A mdszert az albbi n.
i i i
i i
nm 2008/8/4 15:02 page 113 #110
i i
113
0 a2 a3 a4
. . .
0 0 b32 b42
. . .
0 0 0 b43
. . .
.. .
0 0 0 0
. . .
0 0 0 0
. . .
am
bm1 w1
bm 2 w2
bm3 w3
bm,m1 wm1
0 wm
Butcher-tbla
0 1/2
2/2
0 1
Heun mdszer
4/4
0 1/2 1/2 1
0 0 0 1 1/3 0
0 0 0 0 1 /6 0 0 0 2+ 2 2 2+ 2 6 0 0 0 0 1/6
npszer RK
4/4
0 1 2 1 2 1
Gill
0 2 2 2 2 2 2+ 2 6
i i i
i i
nm 2008/8/4 15:02 page 114 #111
i i
114
Rend/Lpcsk 5/6
0 1 5 3 10 3 10 1 7 8 0 1 5 3 40 3 10 11 54 1631 55296 37 378 0 0 9 40 9 10 5 2 175 512 0 0
Butcher-tbla
0 0 0 6 5 70 27 575 13824 250 621 18575 48384 0 0 0 0 35 27 44275 110592 125 594 13525 55296 0 0 0 0 0 253 4096 0 277 14336 0 0 0 0 0 0 512 1771 1 4
Megjegyzs Cash-Karp
4/6
2825 27648
A leghasznltabb RungeKutta mdszer negyedrend. Npszersge az egyszersgn tl annak is tulajdonthat, hogy a magasabbrend mdszerek esetn a kzelts rendje, valamint a lpcsk szmnak arnya mind egynl kisebb. Jelentsgre val tekintettel kplet formjban is megadjuk:
Plda
Oldjuk meg az lpskzzel. Hasonltsuk adjuk meg. ssze az Euler, a kzppont, Heun s negyedrend RungeKuttamdszereket. A tblzatok jobb szls oszlopban a pontos rtktl val relatv eltrs
y = xy
dierencilegyenletet a
y (0) = 0
kezdeti felttellel s
0.4
i i i
i i
nm 2008/8/4 15:02 page 115 #112
i i
115
1 2 3 4 5
1 2 3 4 5
Heun-mdszer (msodrend):
1 2 3 4 5
Negyedrend RungeKutta-mdszer:
xn
yn
1 2 3 4 5
k1 k3 k1 k3 k1 k3 k1 k3 k1 k3
= 0.000000 = 0.083200 = 0.173326 = 0.293683 = 0.440672 = 0.678636 = 0.986020 = 1.549761 = 2.300824 = 3.818448
ki k2 = 0.080000 k4 = 0.173312 k2 = 0.280788 k4 = 0.440630 k2 = 0.638975 k4 = 0.986754 k2 = 1.426443 k4 = 2.306541 k2 = 3.416724 k4 = 5.930788
|yn yn |
i i i
i i
nm 2008/8/4 15:02 page 116 #113
i i
116
lpskz nem megfelel belltsa vagy a kvntnl nagyobb hibt, vagy megnveke-
y (x)
karakterisztikus mretnl sokkal kisebbnek kell lennie. Ezzel viszont kt gond is van. Az egyenlet megoldsa eltt nem ismerjk annak karakterisztikus mreteit, s ha ismernnk is, ezek olyan szles skln mozoghatnak, hogy ha a pontossg szempontjbl biztonsgos legkisebb mretet vesszk alapul, akkor a szmtsi id jelents rsze nagysgrendekkel nagyobb lpskzzel is kzelthet szakaszokon vsz el. ppen ezrt egy szlesebb krben alkalmazand mdszernek kpesnek kell lennie arra, hogy a helyi viszonyokhoz igaztsa a lpskzt, azaz a megolds simasga fggvnyben cskkentse vagy nvelje azt kls beavatkozs nlkl. Az
adaptv RungeKutta-mdszer alapgondolata, hogy az y (x + 2h) rtket ktflekppen y (x + h) rtkrl h lpskznyit, vagy kzvetlenl lpve y (x)-tl 2h tvolsgot. A kt esetben
y (x + 2h) = y1 + (2h)5 + O(h6 ) , y (x + 2h) = y2 + 2h5 + O(h6 ) ,
ahol
y1
y2
D = y2 y1 = 30h5
klnbsg jl jellemzi a kplethibt. Megfelel kiktst tve a ritmus maga be tudja lltani a
nagysgra, az algo-
nem ingyenes. Ha a pontosabb, azaz a ktlpses eljrst vesszk alapul, akkor az ehhez szksges nyolc fggvnykirtkelshez mg hozz kell vegyk az egylpses kzelts hrom lpcsjt. Azrt csak hrmat, mert az els lpcs azonos a kt esetben. Teht egy 11/8-szoros szmtsi id nvekedssel jr a mdszer. Egy msik mdszer
Fehlberg
wi
f (x, y )
ugyanazon
ki
n+1 s wi illetve
n+1 = w1 k1 + w2 k2 + w3 k3 + w4 k4 + w5 k5 + w6 k6 + O(h5 ) ,
6 n+1 = w1 k1 + w2 k2 + w3 k3 + w4 k4 + w5 k5 + w6 k6 + O (h ) .
A becslt hiba gy:
D n+1 n+1 =
i=1
(wi wi )ki .
A hiba a kisebbik rend kzelts szerint, azaz a lpskz tdik hatvnya szerint n. Ha teht
D0
a megkvnt pontossg s
D1
h1
lpskz
i i i
i i
nm 2008/8/4 15:02 page 117 #114
i i
tartozik, akkor az j,
D0 -pontossgnak
h0 = h1
D0 D1
0.2
Cash-Karp
7.3.
Tbblpses mdszerek
f tbbszri kirtkelsvel nvelf (xi , yi ) behelyettestsek nem gazdasa negyedrend mdszert. A k1 , k2 , k3 s
A RungeKutta mdszerek rvilgtottak arra, hogy het a kzelts rendje. Ugyanakkor a kltsges gosan kerlnek felhasznlsra. Vegyk pldul
k4
kiszmtst kveten az
pp ezrt ennl elnysebb megoldst nyjtana, ha a nem tjrhat, ngyes csomagok helyett korltozs nlkl jrahasznosthatak lennnek az elzleg kiszmtott rtkek. Teht a mdszerek az albbi stratgira plnek:
f (xi , yi )
ALG[f (x,y )]
(7.17)
wi
egytthatk llandk,
feloszts. Az egytthatk meghatrozsra a RungeKutta mdszerek kapcsn bevezetett kvadratrs trgyalsi md itt mg kzenfekvbb. Az
xn+1
f (x, y (x))dx = h
xn i=0
linomra. Vegyk szre, hogy eltren az 5. fejezetben lert mdszerektl a jobb oldali sszegben az integrlsi tartomnyon kvl(!) es pontokban rtkeljk ki a fggvnyt. Mivel az egytthatk fggetlenek a kiindulsi ponttl s a kezelhetsg rdekben tekinsk az
xn = 0
h=1
i i i
i i
nm 2008/8/4 15:02 page 118 #115
i i
118 A
k+1
darab,
pj (x)dx =
0
alak egyenletbl alkotott lineris
wi pj (i)
i=0
a
egyenletrendszerben
pj (i)-k
adjk
fels-
wi -k
k=4
esetn a
Adams-Bashforth
tdrend kpletet:
n+1 =
(7.18)
Az AdamsBashforth-kpletet ritkn hasznljk nmagban. Az alapjt kpez extrapolci hibja az azonos rend interpolcihoz kpest szmottev. A (7.17) helyett egy
(7.19)
alak interpolcis kplet szerint kzeltnk. Az interpolci pontossgra val kedvez hatsnak negatv mellkhatsa, hogy az egyenlet implicitt vlik, azaz a jobb oldalon megjelen
fn+1
n+1
becslst;
fn +1
n+1 -t.
A gyakorlatban a prediktor-korrektor mdszer prediktoraknt az AdamBashforth kpletet hasznljk s korrektorknt az ugyancsak tdrend
AdamsMoulton
kpletet:
n+1 =
(7.20)
esetn. Az
Adams-Bashforth-Moulton mdszer tdrend kzeltst biztost, lpsenknt kt fggvnyhvssal, szemben a negyedrend RungeKutta ngy lpcsjvel. Ugyanakkor, a mdszer magasrendsge csak megfelelen sima fggvny esetn nyilvnul meg pontossgban. Kln bonyodalom, hogy nem indthat a kezdeti pontbl. Az eljrs bezemelshez egy azonos rend, egylpses, pldul RungeKutta mdszert hasznlnak. Ez kiszmtja az els t pontot, s csak ezt kveten veszi t a feladatot a prediktor-korrektor.
i i i
i i
nm 2008/8/4 15:02 page 119 #116
i i
119
A lpskz mdostsa a fggvny helyi tulajdonsgai alapjn komoly knyvelsi problmkkal jr. A fent emltett okok miatt a rugalmas, knnyen alkalmazhat mdszerek terletn a RungeKutta maradt az llovas, mg a gazdasgos mdszert ignyl feladatok esetn a prediktor-korrektor mdszerek helyt nagymrtkben tvettk a kvetkezkben trgyalt extrapolcis mdszerek.
7.4.
Extrapolcis mdszerek
y (x)
fggvny elg sima, akkor a legjobb megoldsi
Ha a tanulmnyozott szakaszon az
stratgia az, hogy minl magasabb kzeltsi rendet zsfoljunk bele a lehet legkevesebb fggvnyhvsba. Erre a clra idelis az 1.6 alfejezetben bemutatott Richardsonextrapolci. A fggvny simasgnak s a Richardson-extrapolci hatkonysgnak ksznheten nem szksges lpsrl lpsre araszolnunk elre. (7.3) alapjn egyenesen egy hosszabb szakaszon propagljuk a megoldst. Feladatunk, hogy az adjunk egy megkzeltst gy, hogy a hiba a Az n. osztjuk
mdostott kzppont mdszert kvetve az integrlsi tartomnyt kpzeletben feln darab h = H/n hosszsg szakaszra, s az albbi algoritmus szerint lpdelnk
z0 y (x) z1 = z0 + hf (x, z0 ) zm+1 = zm1 + 2hf (x + mh, zm ) , m = 1, n 1 1 y (x + H ) yn [zn + zn1 + hf (x + H, zn )] . 2
(7.21)
vgig rajta:
y (x) = (y (x + h) y (x h))/2h
msodrend megkzeltse
yn y (x + H ) =
i=1
Megduplzva a lpsek szmt a kapott
i h2i
y2n
segtsgvel kpezhet a
4y2n yn 3
negyedrend kzeltse
y (x + H )-nak.
csak 1.5 fggvnyhvst ignyel a RungeKutta ngyvel szemben. A szakaszokat tovbb lehet felezni tetszlegesen nvelve a kzelts rendjt. A gyakorlatban egyetlen szakasszal
n = 1-el
is tl nagynak bizonyul, akkor az a simasg hinyra utal, s clravezetbb a cskkentse. A tovbbjavtott s leginkbb elterjedt vltozata a mdszernek
Stoer
H szakasz Bulirsch-
nven ismeretes.
i i i
i i
nm 2008/8/4 15:02 page 120 #117
i i
SZAKIRODALOM
[1] Kopchenova, N.V. Maron, I.A.: Computational Mathematics, Mir Publishers Moscow (1975) [2] Obdovics, Gy.: Gyakorlati szmtsi eljrsok, Gondolat Kiad (1972) [3] Kincaid, D. Cheney, W.: Numerical Analysis, Mathematics of Scientic Computing, 2. kiads (1996) [4] Demidovich, B.P. Maron, I.A.: Computational Mathematics, Mir Publishers Moscow (1981) [5] Press, W.H. Teukolsky, S.A. Vetterling W.T. Flannery, B.P.: Numerical Recipes in C, The Art of Scientic Computing, 2. kiads, Cambridge University Press (1992) [6] Butcher, J.C.: Numerical Methods for Ordinary Dierential Equations, Wiley (2003)
i i i