Anda di halaman 1dari 117

i i

nm  2008/8/4  15:02  page 1  #1

i i

BabeBolyai Tudomnyegyetem Fizika Kar

Numerikus mdszerek
egyetemi jegyzet

Lzr Zsolt, Lzr Jzsef, Jrai-Szab Ferenc

2008

i i i

i i
nm  2008/8/4  15:02  page 5  #2

i i

TARTALOMJEGYZK

1. Numerikus mdszerek alapfogalmai s eszkzei


1.1. 1.2. 1.3. Bevezets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Numerikus mdszerek Kzeltsek, hibk 1.3.1. 1.3.2. 1.3.3. 1.4. 1.5. 1.6.

7
7 8 9 10 11 13 14 16 18 20

A kzelt rtk s hibja

Kzelt rtkekkel vgzett mveletek hibja

Fggvnyrtkek hibi . . . . . . . . . . . . . . . . . . . . . . . . .

Sorozatok konvergencija, a kzelts rendje . . . . . . . . . . . . . . . . . Analitikus fggvnyek hatvnysora . . . . . . . . . . . . . . . . . . . . . . Richardson-extrapolci 1.6.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A kzelt rtk tizedestrt alakja. rtkes s helyes jegyek

2. Lineris egyenletrendszerek, sajtrtk-feladatok


2.1. Direkt mdszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. 2.1.7. 2.2. 2.2.1. 2.2.2. 2.3. 2.3.1. 2.3.2. Egyszer egyenletrendszerek . . . . . . . . . . . . . . . . . . . . . . Gauss-fle kikszbls Felemkivlaszts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Jacobi-fle sajtrtkfeladat megoldsi mdszer . . . . . . . . . . .

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

3.2.2. 3.2.3. 3.2.4. 3.3.

Exponencilis fggvnyek

. . . . . . . . . . . . . . . . . . . . . . .

55 57 60 61

Logaritmus-fggvny . . . . . . . . . . . . . . . . . . . . . . . . . . Trigonometriai fggvnyek . . . . . . . . . . . . . . . . . . . . . . .

Fggvny rtknek meghatrozsa itercikkal . . . . . . . . . . . . . . .

4. Tblzatosan megadott fggvnyek kzeltse


4.1. 4.2. Bevezets 4.2.1. 4.2.2. 4.2.3. 4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpolci, extrapolci Lineris interpolci Lagrange-interpolci

64
64 65 67 68 69 71

Kbs spline interpolci

Regresszi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5. Numerikus integrls, kvadratra kpletek


5.1. 5.2. Bevezets 5.2.1. 5.2.2. 5.2.3. 5.2.4. 5.2.5. 5.2.6. 5.3. 5.3.1. 5.3.2. 5.3.3. 5.4. 5.5. 5.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rgztett csompont integrlsi mdszerek . . . . . . . . . . . . . . . . . Lagrange-interpolcis mdszer . . . . . . . . . . . . . . . . . . . . Ismeretlen egytthatk mdszere . . . . . . . . . . . . . . . . . . . ltalnos integrlsi kpletek . . . . . . . . . . . . . . . . . . . . . Intervallumcsere . . . . . . . . . . . . . . . . . . . . . . . . . . . . NewtonCotes kvadratra kpletek . . . . . . . . . . . . . . . . . . Nylt s flig nylt NewtonCotes-kpletek . . . . . . . . . . . . . . Rekurzv trapz algoritmus . . . . . . . . . . . . . . . . . . . . . .

74
74 78 78 78 79 80 81 83 83 85 86 87 88 88 89

Kiterjesztett kpletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rekurzv Simpson-algoritmus . . . . . . . . . . . . . . . . . . . . . Romberg-integrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Gauss-kvadratrk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GaussCsebisev-kvadratra ltalnos Gauss-kvadratrk

6. Algebrai s transzcendens egyenletek numerikus megoldsa


6.1. 6.2. 6.3. 6.4. 6.5. 6.6. Gykk sztvlasztsa Felez mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rint mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92
94 95 98

Hrmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Itercis mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Nemlineris egyenletrendszerek megoldsa az rint mdszerrel . . . . . . 106

7. Kznsges dierencilegyenletek megoldsa


7.1. 7.2. Bevezets 7.2.1. 7.2.2. 7.2.3. 7.3. 7.4. Egylpses mdszerek

108

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Taylor-sorok mdszere . . . . . . . . . . . . . . . . . . . . . . . . . 110 RungeKutta-mdszerek . . . . . . . . . . . . . . . . . . . . . . . . 110 Vltoz lpskz RungeKutta-mdszer . . . . . . . . . . . . . . 116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Tbblpses mdszerek

Extrapolcis mdszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

i i i

i i
nm  2008/8/4  15:02  page 7  #4

i i

1. FEJEZET

Numerikus mdszerek alapfogalmai s eszkzei


1.1. Bevezets
Az utbbi vtizedekben a szmtstechnikban lezajlott fejlds fokozatosan talaktja mindennapjainkat, j alapokra helyezve az egyni s trsadalmi lt mkdsi mechanizmusait. A tudomnyban, technikban s oktatsban a szmtgp szerepe mg kihangslyozottabb. Az adatok begyjtse, tvitele, feldolgozsa, elmleti modellezse, vizualizlsa, az eredmnyek kzzttele mind olyan mveletek, amelyek szmtgp nlkl nem megvalsthatk. A termszettudomnyok eltoldsa az alkalmazott kutatsok irnyba egy msik tnyez, mely megersti a szmtgpek szerept ezeken a terleteken. A mai termszettuds eszkztrnak elengedhetetlen tartozkai a programozsi ismeretek s azon bell a matematikai problmk szmtgpes kezelse. Jelen jegyzet elssorban a zikus hallgatkat clozza, de remljk, hogy gyakorlati tmutatknt szolgl minden olyan termszettuds szmra, aki az alapoktl szeretne (jra)indulni. Az alkalmazs irnybl kzelti meg a feladatokat, ezrt matematikai ttelekbe s bizonytsaikba csak elvtve botlik az olvas. A bemutatott mdszerek megrtshez szksges matematikai httr bevezet szint algebrt, minimlis dierencil- s integrlszmtst kell felleljen. Tovbb felttelezzk, hogy az olvas rendelkezik alapszint programozsi ismeretekkel. A jegyzetben az algoritmusokat nyelvfggetlen, n. pszeudkdban adjuk meg, fggvnyek s eljrsok formjban. Egy fggvny az albbi elemeket tartalmazza:
1: 2: 3: 4: 5: 6: 7: 8: 9:

function AlgoPlda( in: a, u1 , u2 , (cij ) inout: v1 , v2 out: (wi )


a, u1 , u2 , (cij ) (wi ) u1 > v2 , u2 [0, 1), m n + 2 kn while k m 2 do if u1 > u2 + k then wk = 0
7

i, j = n, m

- bemeneti vltozk

- kimeneti vltozk (visszatrtett rtkek)

pre

v1 , v2

- cmszerinti paramtertads elfelttelek rtkads elltesztel (while) ciklus elgazs

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:

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

else if u1 = 0 then return v1 , v2 , (wi ) else end if


wk ck,k+1

visszatrs

end while end function

k k+1

meneti adatnak szmtanak. A elfordul htultesztels felel meg.

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 )

mtrixot jell. Mreteik, azaz indexeik rtktartomnyai is be-

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-

A modern tudomnyban s a technikban elfordul problmk tlnyom tbbsge

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

adja meg. ltalnos rtelemben algoritmus alatt olyan mdszert, utas-

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

1.3. KZELTSEK, HIBK

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,

s algoritmika egyvelege. A numerikus analzist analitikus ton nem

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

nevezzk. A kzelt rtk adatok hasznlatbl szrmaz, az eredmnyben je-

rkltt hibnak

nevezzk. Ha elvben ltezne is a meteorolgi-

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

nevezzk. A lgmozgsokat ler csatolt parcilis dierencil-

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

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

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.

1.3.1. A kzelt rtk s hibja


helyettestnk. Teht

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

2.718 < e < 2.719 .


A kzelt rtk

hibja
x x ,

|x| = | x|
a kzelts

abszolt hibja. A hiba  miknt a pontos rtk is  ismeretlen, ezrt megelgx | x|

sznk a becslsvel:

abszolt hibakorlt vagy egyszeren hibakorlt. hatrozatlansg fogalmat is. Fennll, hogy

Gyakran hasznljuk azonos rtelemben a

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.

Kis hibk esetn, mikoris

rtk helyettesthet a kzelt rtkkel:

x . x

i i i

i i
nm  2008/8/4  15:02  page 11  #8

i i

1.3. KZELTSEK, HIBK

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.

1.3.2. Kzelt rtkekkel vgzett mveletek hibja


Ha kzelt rtkkel vgznk mveleteket, a kapott eredmny is kzelt lesz. A tovbbiakban megnzzk, hogy miknt viszonyul ez a hatrozatlansg a mveletben rsztvev mennyisgek hibjhoz.

sszeg s klnbsg hibakorltja


Legyen

x1

x2

tokkal. Keressk az rtkre fennllnak

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:

|a1 + a2 + + an | |a1 | + |a2 | + + |an |

x1 + x2

i i i

i i
nm  2008/8/4  15:02  page 12  #9

i i

12

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

Szorzat hibakorltja
Kpezzk az Legyenek

x1

x = x1 x2 mennyisget, amelynek x2 az x1 s x2 relatv hibakorltai:

megfelel pontos rtk a

= 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

msodrend tag elhanyagolhat. A korbban is alkalmazott

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 ,

fggvny rtkt s annak relatv s abszolt

y = 9.87 , y = 0.11 ,

z = 6.052 , z = 0.016 .

x = 0.3 ,

Az argumentumok relatv hibja:

x =

x = 0.81 % , x

y =

y = 1.12 % , y

z =

z = 0.26 % . z

A fggvnyrtk relatv hibja:

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

f = f f = 0.801 106 0.038 = 0.30 105 .

i i i

i i
nm  2008/8/4  15:02  page 13  #10

i i

1.3. KZELTSEK, HIBK

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

T = T T = 3.65 105 29 104 = 3864

= 0.0039

1.3.3. Fggvnyrtkek hibi


Keressk az

kzelt rtknek megfelel behelyettestsi rtkt az

vnynek. Felttelezzk, hogy a behelyettestsi mvelet pontos, azaz a fellp kizrlag a behelyettestett rtk a fggvny dierencilja:

y = f (x) fggy hiba

hatrozatlansgbl addik. A Taylor-sor alapjn

1 y = f (x)x + f ()2 x f (x)x , 2


ahol akkor

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

y f (x) d = x = log f (x) x . |f (x)| f ( x) dx


fggvny esetn:

(1.2)

z = f (x1 , x2 , . . . , xn ) z

f f f x 1 + x 2 + + x n . x1 x2 xn

Az abszolt s relatv hibakorltok:

z =
i=1 n

f x i , xi log f xi . xi

z =
i=1

Alkalmazzuk a fentieket nhny fontosabb fggvny esetre.

i i i

i i
nm  2008/8/4  15:02  page 14  #11

i i

14

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

Hatvnyfggvnyek hibakorltja
Az

y = xm

fggvny esetn, (1.2) alapjn a relatv hibakorlt:

xm = |m|x ,
azaz a hatvnyfggvny relatv hibakorltja arnyos az argumentum relatv hibakorltjval. Itt klnsen az

f (x) = 1/x

reciprok fggvny br jelentsggel:

1/x = x .
A fenti egyenletre tmaszkodva megllapthat, hogy az hnyados relatv hibi megegyeznek.

x = x1 x2

szorzat s

x = x1 /x2

Exponencilis fggvnyek hibakorltai


Ha

y = ax , a > 0,

akkor

y (x) = ax log a.

A hibakorltok:

ax = ax log a x ,
Ha

ax = log a x .

a=e

a termszetes logaritmus alapja, akkor:

ex = x .

1.4.

Sorozatok konvergencija, a kzelts rendje

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

adjuk meg. A szmunkra fontos

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

, n = 2, 3, . . . ) vonatkoztatunk. Legyen x0 , x1 , . . . , xn , . . . konvergens

sorozat, s ennek hatrrtke

Ez alatt azt (1.3)

rtjk, hogy a

n = |xn | ,

hiba

is konvergens nulla hatrrtkkel, azaz brmely kicsiny,

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

1.4. SOROZATOK KONVERGENCIJA, A KZELTS RENDJE

15

A megszokott jellst hasznlva:

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+

lim |xn xn+m | = 0 ,

m = 1, 2, 3, . . . .
sszefggs alapjn, melyet vagy az

Brmely sorozat meghatrozhat egy implicit

rekurrencis

f (xn , xn1 , . . . , xnk ; n) = 0,


vagy az explicit

xn = f (xn1 , xn2 , . . . , xnk ; n)


alakban adhatunk meg. A numerikus mdszerek itercik segtsgvel gyrtjk le egy sorozat tagjait. Az iterci minden lpshez a szmtgpnek zikai idre s energira van szksge. A matematikai rtelemben vett pontos rtk meghatrozsa vgtelen lpssort r el, amire sem szksgnk, sem lehetsgnk nincs. Ehelyett, a vgtelen sorozatot az elre lergztett hibnak megfelel,

N( )

tag vges sorozattal helyettestjk.

Ugyanakkor arra

treksznk, hogy gyorsan konvergl mdszert hasznljunk, azaz olyat, amely a kvnt pontossgot a lehet legkisebb

N( )

lpsszmmal ri el. A konvergencia gyorsasgt az

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

m = 1 esetn lineris konvergencirl beszszupralineris konvergencinak nevezzk. Lineris konver-

gencia azt jelenti, hogy az egymst kvet rtkes szmjegyek pontos meghatrozsa linerisan kapcsoldik a befektetett szmtsi erhz. A sorozat nagy hetjk az

rtkek tartomnyban val viselkedst pontosabban is jellemez-

jellssel. Az

xn

sorozatokra fennll, hogy:

xn = O(n ) ,
ha az

xn

arnyos

-el, vagy az utbbinl gyorsabban konvergl a nullhoz.

i i i

i i
nm  2008/8/4  15:02  page 16  #13

i i

16

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

Plda
n1 1 =O 2 n n 1 1 + e n = O n n en + 10e1.01n = O en

1.5.

Analitikus fggvnyek hatvnysora


f (x)
fggvny

Egy vals

analitikus

pontban, ha egy

|x | < R

krnyezetben

a fggvny felrhat hatvnysorknt:

f (x) = f ( )+f ( )(x )+


A jobboldal az

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

sajtos esetben kapott

f (x) = f (0) + f (0)x +


sort

f (0) 2 f (n) (0) n x + + x + ... . 2! n!


vges

Maclaurin-sornak nevezzk. Ha a vgtelen hatvnysort levgjuk


n

n szm tag

utn, akkor a

Tn (x) =
k=0
rszletsszeget a fggvny az

f (k) ( ) (x )k k!

n-dik

Taylor-polinomjnak nevezzk. A polinom csak kzelti

f (x)

fggvnyt a

Rn (x) = f (x) Tn (x) .


klnbsggel. Kimutathat, hogy pont, melyre fennll, hogy

kztt ltezik egy olyan

+ (x ), 0 < < 1

Rn (x) =

f (n+1) ( + (x )) (x )n+1 (n + 1)!

(1.5)

i i i

i i
nm  2008/8/4  15:02  page 17  #14

i i

1.5. ANALITIKUS FGGVNYEK HATVNYSORA

17

Ezt

maradk tagnak

is nevezzk s azt a hibt jelli, amit elkvetnk, amikor az

f (x)

fggvnyt a Taylor-polinommal helyettestjk. A Maclaurin-sor eseten

Rn (x) =

f (n+1) (x) n+1 x (n + 1)! -hez


kzeli

A gyakorlatban sokszor hasznljuk a Taylor-sorfejtst arra, hogy megkzeltsk az

f (x)

fggvny behelyettestsi rtkt egy

+h

pontban. Nevezzk

h-t

lpsnek. Az elbbiek alapjn

f ( + h) = Tn ( ) + Rn (h) ,
ahol

Rn (h) =

f (n+1) ( + h) n+1 h . (n + 1)!

(0 < < 1) h
lpskzt. Egy msik le-

A hiba cskkentsnek trivilis mdja az, hogy cskkentjk a

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

fggvny esetn a sor konvergencia tartomnya a fggvny tpustl s a

h lps. Emltettk, hogy nem teljes ponttl is

h lps a tartomnyon kvl esik, akkor a hatvnysor divergens s a magasabb

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

lps cskkentsvel tudjuk nvelni.

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

klnbsge, ezrt az iterci kilpsi felttele:

ahol

a megkvnt pontossg. A

hiba tulajdonkppen az elz lps

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. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

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)

fggvny hasznlata, mely a lehet

hatrrtknek. Ha a

(h)

Taylor-sort az (1.6)

(h) = I + a1 hk1 + a2 hk2 + + ai hki + ,


alakban rjuk fel, akkor a fggvny extrapolci segtsgvel, adott

0 < k1 < k2 <

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

s kivonva belle (1.6)-et kpezhetjuk a

(h) =
fggvnyt, melynek Taylor-sora:

ck1 (h/c) (h) ck1 1

(h) = I + b2 hk2 + b3 hk3 + ,


teht valban a kvnt rend kzeltst adja telhet

(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

is elrhet. Gyakorlati jelentsge miatt rdemes a megvizsglni. Ha a kiindulsi fggvny Taylor-sora

(h) 0 (h) = I + a1 h2 + a2 h4 + + ai h2i + ,


akkor az elbbi recept alapjn a kvetkez kzelt fggvnyek llthatak el:

1 (h) 2 (h) 3 (h)

= = =
. . .

4 1 0 (h/2) 0 (h) 3 3 1 16 1 (h/2) 1 (h) 15 15 64 1 2 (h/2) 2 (h) 63 63 1 4k k1 (h/2) k k1 (h) 1 4 1

= I + b2 h4 + b3 h6 + , = I + c3 h6 + c4 h8 + , = I + d4 h8 + d5 h10 + ,
. . .

k (h)

4k

I + O(h2(k+1) ) .

Vegyk szre, hogy a ismerete. Ez pedig a

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

4k 1 D(n, k 1) + k D(n 1, k 1) , 4k 1 4 1 D(M, M )-t.

(1.8)

itercis kpletet hatrozzuk meg

Egy fokkal szemlletesebben megkzeltve, a fenti algoritmus a

D(0, 0) D(1, 0) D(2, 0) D(3, 0)


. . .

D(1, 1) D(2, 1) D(3, 1)


. . .

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 )

als-hromszg mtrix elemeinek meghatrozst clozza fentrl lefel s balrl jobbra

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 )

end for end for return D(M, M ) end function


y (h) h

4k

4 1 D(n, k 1) + k D(n 1, k 1) 1 4 1

Termszetszerleg felmerl a krds, hogy milyen az kiszmolsnak kltsge nvekszik a

rtktl induljon a felezs. Ha

lpskz cskkensvel, akkor a lehet

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)

elemekhez kpest. A fenti algoritmus biztostja,

hogy ellenrztt krlmnyek kztt fokozatosan cskkentsk a lpskzt minimalizlva a

D(n, 0)

A hromszg szerkesztsnl soronknt haladunk lefel egy-egy

D(n, 0)

kiszmtsval s az itercit megszaktjuk, amint az

k = |D(k, k ) D(k, k 1)| = O(h2k )


hiba egy megengedett rtk al sllyed.

i i i

i i
nm  2008/8/4  15:02  page 20  #17

i i

20

1. NUMERIKUS MDSZEREK ALAPFOGALMAI S ESZKZEI

1.6.1. A kzelt rtk tizedestrt alakja. rtkes s helyes jegyek


Mind az rkltt, mind a kerektsi hibban szerepet jtszik a szmok brzolsi mdja. A nagy mlt, s manapsg is kizrlagos mdon hasznlt

zols

helyrtkes szmbrx
szm

sajtossgai nemcsak a hibk mennyisgi jellemzst, de a hibk megjelenst s a

mveletek rvn val terjedst is meghatrozzk. Brmely pozitv vals

trt alakja:

tizedes

x = ak ak1 ...a1 a0 , a1 a2 ...akm+1 akm+1 a2 a1 + 2 + + km+1 ak 10k + ak1 10k1 + ... + a1 10 + a0 + 10 10 10


Pldul:

(1.9) (1.10)

719.23 = 7 102 + 1 101 + 9 100 + 2 101 + 3 102 .


Egy adott szmjegy helyrtke alatt a szmon belli elhelyezkedsnek megfelel tz hatvnyt rtjk. Az elbbi pldban a 9 helyrtke nulla, mg a 3- -2. Itt mind az t szmjegy n.

rtkes szmjegy.

Nem rtkes szmjegyek szmtanak azok a bal oldali

nullk, amelyek egyedli szerepe a tizedesvessz helynek belltsa. A

hrom nulla rtk szmjegye nem rtkes, mg az utols nulla az. Rendszerint a

0.0038220 els 0.38220


szmjegye

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,

szmot nyolc, ht, hat, t, ngy s hrom rtkes

3.1415927,
illetve

3.14159,

3.1416,

kapjuk, amelyeknek abszolt hibja kisebb az

3.142 s 3.14 kzelt rtkeket 5 108 , 5 107 , 5 106 , 5 105 , 5

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

3. Hatrozzuk meg a tglalap terlett megad szmt, ha az

a = 42.23m

es

b = 14.3m

mretek minden szmjegye helyes.

a = 5 103 ,
Minhogy

b = 5 102 ,
m , gy

5 102 5 103 + 0.0036 . 42.23 14.3


m

T = 603.889

T T T 604 T = 603 2
m

0.0036 2.2

m , teht a

terlet szmrtkben csak kt helyes jegy van, s gy az eredmnyt

alakban kell rnunk.

i i i

i i
nm  2008/8/4  15:02  page 22  #19

i i

2. FEJEZET

Lineris egyenletrendszerek, sajtrtk-feladatok


A linearits az egyik legalapvetbb fogalom a reltudomnyokban. Kt mennyisg legegyszerbb, nem-trivilis kapcsolata lineris 

y = ax+b tpus  s a dierencilszmtsban

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:

a x + a12 x2 + . . . + a1n xn = b1 , 11 1 a21 x1 + a22 x2 + . . . + a2n xn = b2 ,


Itt az . . . . . .

(2.1)

ak1 x1 + ak2 x2 + . . . + akn xn = bk .

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

23 A (2.1) egyenletrendszert felfoghatjuk gy is, mint az

a11 a21 ... ak1

a12 a22 ... ak 2

x1 . . . a1n x2 . . . a2n ... ... ... xn . . . akn

b1 b2 = ... . bk

(2.2)

mtrixegyenletet, ami tmrebben az

Ax=b
elemeket tartalmaz mtrixot ket tartalmaz mtrixot

(2.3)

alakban rhat fel. Errl knnyen meggyzdhetnk a mtrix-szorzat elvgzsvel. Az

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


vgznk a rendszeren. Az egyenletek s az ismeretlenek szma

fggvnyben hrom esetet klnbztetnk meg:

k>n k<n

esetben a rendszernk gymond tlhatrozott, s ilyenkor ltalban nem

ltezik megolds.  esetben az egyenletrendszernk alulhatrozott. Ilyenkor elemi mtrixm-

veletek felhasznlsval a rendszer vltozk segtsgvel.  Ha

nk

vltozja meghatrozhat a fennmarad

k = n

s az

ngyzetes mtrix nem szingulris, a rendszernek egyetlen

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

A mtrix alakjtl fggen  klnbz mdszereket hasznlhatunk a

megoldsok keressre. Ezeket kt csoportba: a direkt, illetve az itercis mdszerek csoportjba sorolhatjuk. Az egyes mdszerek hatkonysgt elssorban a szmtsi ignynek a rendszer

mrettl val fggse hatrozza meg. A mveletek szmnak az

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

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

 kt vektor skalris szorzsa:

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,

 mtrix s vektor szorzsa:

aij xj , i = 1, n; n

darab skalris szorzs, teht

(2n 1)n 2n2 O(n2 )


 kt mtrix szorzsa:

mvelet;

(2n 1)n 2n O(n )

n j =1 3

aij bjk , i, k = 1, n; n2
mvelet.

darab skalris szorzs, teht

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

mret rendszert jelent, ami pldul diszkretizlt kontinuum modellek esetn

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.

2.1.1. Egyszer egyenletrendszerek


Keressnk olyan sajtos rendszereket, melyek megoldsa azonnali, s nem tesz szksgess meg mtrix-transzformcikat. Els ilyen pldnk legyen egy olyan rendszer, melynek mtrixa kizrlag tls elemeket tartalmaz (a tbbi elem nulla):

nn

nagysg s

a11 0 ... 0
Ekkor gyakorlatilag

0 a22 ... 0

... 0 x1 x2 ... 0 ... ... ... . . . ann xn

b1 b2 = ... . bn

darab egyszer egyenletnk van, s a rendszer megoldsa

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

2.1. DIREKT MDSZEREK

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

a11 a21 ... an1


Az ilyen alak mtrixokat gy oldjuk meg, hogy az

0 a22 ... an2

... 0 ... 0 ... ... . . . ann

aij = 0 ha i < j : b1 x1 x2 = b2 . ... ... bn xn


Ezeket a rendszereket 

als-hromszg mtrixoknak nevezzk. x1 -et kiszmtjuk az els egyenletbl


xi

helyettestjk a msodik egyenletbe, melynek alapjn kiszmoljuk az

a21 x1 )/a22 .

Hasonlan jrunk el a tbbi

esetben is. Vagyis, az

x1 = b1 /a11  ezt x2 -t  x2 = (b2 xi -t az x1 , . . . , xi1

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

end for return (xi ) end function


a11 ... 0 0

xi xi /aii

Az elz plda ikertestvre az albbi

. . . a1n1 ... ... . . . an1n1 ... 0

fels-hromszg mtrixszal a1n x1 ... ... = an1n xn1 ann xn

lerhat rendszer:

b1 ... . bn1 bn

i i i

i i
nm  2008/8/4  15:02  page 26  #23

i i

26

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

Ilyenkor a helyettestseket htulrl, az

xn

elem kiszmolsval kezdjk. Az

xi

elemet az

xi+1 , . . . , xn

elemek ismeretben az

xi =

1 bi aij xj , aii j =i+1

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

end for return (xi ) end function

xi xi /aii

Mindkt visszahelyettests esetn a mveletigny vezet rendben valamelyikvel llunk szemben.

n2 /2.

Nzzuk most meg, hogy mi trtnik olyankor, mikor nem az elbbi szerencss esetek

2.1.2. Gauss-fle kikszbls


A kikszbls-mdszer lnyege abban ll, hogy rendszernket visszavezetjk az elz alfejezetben bemutatott valamely hromszg- vagy tls mtrixszal reprezentlhat alakra. Ezt sorozatos, jobb s bal oldalon egyarnt alkalmazott, lineris transzformcik segtsgvel rjk el. Els lpsben a

T1

mtrixszal szorozzuk mindkt oldalt:

T1 A x = T1 b ,
majd a

T2

transzformcinak vetjk al:

T2 T1 A x = T2 T1 b .
Az

m-ik

lps utn az egyenletnk:

A x=b ,
ahol

(2.7)

A = Tm ... T2 T1 A ,

b = Tm ... T2 T1 b ,

olyan alakak, hogy (2.7) numerikus megoldsa kzvetlen mdon kivitelezhet.

i i i

i i
nm  2008/8/4  15:02  page 27  #24

i i

2.1. DIREKT MDSZEREK

27

Azt is megtehetjk, hogy az tpus talaktst vgznk:

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

torra akarjuk meghatrozni. A gyakorlatban a algoritmizlsa. Clunk az

Ti

x = Q1 Q2 Qm x vekQi gyktart transzformcikat

egyidejleg vgezzk. Feladatunk ezek azonostsa, illetve egyms utni alkalmazsuk

mtrix bizonyos elemeinek a kinullzsa a lehet legkisebb kerektsi

hiba mellett. A kvetkez egyszer mveleteket hasznljuk:  Felcserlve

brmely kt sort s a megfelel sorokat a

b-ben,

nem mdosul az

megoldsvektor. Ez nyilvnvalv vlik, ha szrevesszk, hogy a mvelet az

eredeti (2.1) egyenletrendszer kt egyenletnek trivilis felcserlst jelenti.  Hasonlkppen, ha brmelyik sort az vgznk el a

A-ban

helyettestjk nmaga s brmely

msik sor lineris kombincijval, nem mdosul a megolds, ha azonos mveletet

vektoron is. Az egyenletrendszer szintjn ez megintcsak magtl

rtetdik, tudnillik kt egyenlet sszeadsa nem mdostja a megoldst.  Kt oszlop cserje a sgess a

A-ban

a megfelel egytthatk felcserlst teszik szk-

megoldsvektorban. Az egyes egyenletek szintjn ez az sszeads

kommutativitsnak kihasznlst jelenti.

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

mtrixszal lerhat rendszert:


(1) (2)

a11 (1) a21 ... (1) an1

(1)

a12 (1) a22 ... (1) an2

(1)

. . . a1n (1) . . . a2n ... ... (1) . . . ann

(1)

(1) b x1 1 x2 b(1) = 2 ... ... (1) xn bn

.
(2.8)

Az

felsindexek az egyes lpseket jellik. Els lpsben a fels sor tbbszrst

gy adom hozz a tbbi sorhoz, hogy azok els egytthatja eltnjn. Felttelezzk, hogy

a11 = 0.

(1)

Kivonjuk az els egyenlet

Ha a kivons ltal

i > 1-re ltrehozott elemeket (2)


(2) (1) (1)

li1 = ai1 /a11

(1)

(1)

-szerest az

i.

egyenletekbl (i

> 1).

index-szel ltjuk el, ezek az j elemek

a kvetkezkppen rhatk le:

aij bi

= =

aij li1 a1j , j = 1, n bi


(1)

(2)

li1 b1 .

(1)

(2.9)

i i i

i i
nm  2008/8/4  15:02  page 28  #25

i i

28

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

E lps vgrehajtsa utn az egyenletrendszer a kvetkez lesz:


(2)

a11 0 ... 0

(1)

a12 (2) a22 ... (2) an2

(1)

. . . a1n (2) . . . a2n ... ... (2) . . . ann

(1)

(1) b x1 1 (2) x2 = b2 ... ... (2) xn bn

.
(2.10)

Ha

a22 = 0, nn

akkor az elbbihez hasonlan jrunk el az

i>2

egyenletek esetben.

Prhuzamosan az kplete egy

mtrixon vgzett mveletekkel a

vektoron is azonos transzform-

cikat kell vghez vinnnk. A

k -adik oszlop kinullzsa sorn vgzett mveletek ltalnos

tpus mtrix esetn:

aij

(k+1)

= aij =
(k ) bi

(k)

(k+1) bi

(k) a , (k) kj akk (k) aik (k) b , (k) k akk

aik

(k)

(2.11)

k = 1, n 1 , i = k + 1, n , j = k, n .

Az

akk

(k )

tlmenti elemet, amellyel osztunk,

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)

a12 (2) a22 ... 0

(1)

. . . a1n (2) . . . a2n ... ... (n) . . . ann

(1)

(1) b x1 1 (2) x2 = b2 ... ... (n) xn bn

.
(2.12)

A Gauss-mdszer algoritmusa a kvetkezkppen kpzelhet el:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:

function Gauss( inout: (aij ), (bi ) for k 1 to n 1 do for i k + 1 to n do


l aik /akk bi bi lbk for j k to n do aij aij lakj
az

i, j = 1, n ) A mtrixot s

vektort helyben mdostjuk

end for end for end for return (aij ), (bi ) end function

Ebben az algoritmusban feltteleztk, hogy az

akk = 0

(k )

felttel minden esetben teljesl.

Az algoritmus megvalstsnl azonban ezt a tesztelst clszer a kdba bepteni.

i i i

i i
nm  2008/8/4  15:02  page 29  #26

i i

2.1. DIREKT MDSZEREK

29

A kapott rendszer mtrixa egy fels-hromszg mtrix. Amennyiben az utols egyenletre is rvnyes az

ann = 0

(n)

felttel, akkor a rendszert az elz alfejezetben trgyalt

mdon egyszeren megoldhatjuk. A kikszbls vezet rendben lyettests

n3 / 3

mveletet tesz szksgess, teht a visszahe-

n2 /2

mveletignye elhanyagolhat nagy rendszerek megoldsa esetn.

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 = 0 , det a11 a21 a12 a22 n1 =0, , det

a11
. . .

...
.. .

a 1n
. . .

=0
(2.13)

an1

...

ann

felttelek. Ebbl az els

a kikszbls elvgezhetsgt, mg az utols felttel

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

felttel szksges. Ez a felttelsor a gyakorlatban nehezen ellenrizhet, ezrt

leggyakrabban gy jrunk el, hogy a szmts kzben mindig teszteljk az feltteleket.

akk = 0

(k)

i i i

i i
nm  2008/8/4  15:02  page 30  #27

i i

30

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

felemkivlaszts

Elfordulhat, hogy bizonyos sorok esetben nem teljesl a fenti felttel. Ilyen esetben mdszert alkalmazzuk, vagyis az egyes sorok, oszlopok vagy mind-

kett felcserlsvel nulltl klnbz egytthatt hozunk az tlra. Ha pldul az els

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

inhomogn tagok felcserlst, viszont az ismeretlen

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.

rszleges felemkivlasztsnak nevezzk. Mind a sorok, mind az teljes felemkivlaszts eredmnye.

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

lij = aij /ajj


szorztnyezkbl az

(j )

(j )

(2.14)

l21 L= ... l n1

0 1 ... ln2

... ... ... ...

0 0 ... 1

(2.15)

mtrixot, ami egy als-hromszg mtrix. Belthat, hogy

A=LU,
ahol

(2.16)

U -val

az

mtrix (2.12) vgs, fels-hromszg alakjt jelljk.

Ennek igazolsa rdekben rjuk fel az

LU
N

mtrix

(L U )ij =
k=1
elemeit. Ttelezzk fel, hogy az lii

lik akj

(k)

(2.17)

i < j.

Ekkor az sszeg sszes

k > i

tagjban az

lik = 0

(hisz ezek pont az tl fltti 0 mtrixelemek). Ha mg gyelembe vesszk azt is, hogy

= 1,

akkor rhatjuk, hogy:

i1 (k) lik akj

(L U )ij =
k=1

=
k=1

lik akj + aij .

(k)

(i)

(2.18)

i i i

i i
nm  2008/8/4  15:02  page 31  #28

i i

2.1. DIREKT MDSZEREK

31

Ha berjuk az lij (2.14) alakjt, a mtrixelem

i1

(L U )ij =

a + aij = aij aij (k) kj k=1 akk k=1

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.

j < i esete hasonlan

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

mtrix alakulsa a kvetkez:

a12 a22 a32 a42

a13 a23 a33 a43 0 a22 0 0

a14 a11 0 a24 0 a34 a44 0 0 0 a33 0

0 a22 0 0

a13 a23 a33 a43 0 a22 0 0

a14 a24 ... a34 a44 0 0 a33 0 0 0 0 a44


oszlop nullzsnl

a11 0 ... 0 0 n n-es

a14 a11 0 a24 0 a34 0 a44

mtrix esetn az ltalnos transzformcis kplet a

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.

Vgezetl tekintsk t a GaussJordan-mdszer algoritmusat:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:

function GaussJordan( inout: (aij ), (bi ) for k 1 to n do for i 1 to n do if (i = k) then


l aik /akk bi bi lbk for j k to n do aij aij lakj

i, j = 1, n

end for end if end for end for

i i i

i i
nm  2008/8/4  15:02  page 32  #29

i i

32
13: 14:

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

return (aij ), (bi ) end function


i = k felttel ellenrzse optimlisabban is megoldhat, i = 1, k 1 s i = k + 1, n ciklusokra bontsval.
pldul az

Termszetesen, az szerinti ciklus

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

A vgs tls alakbl egyszeren leolvashatk az megoldsok.

i i i

i i
nm  2008/8/4  15:02  page 33  #30

i i

2.1. DIREKT MDSZEREK

33

2.1.5. Az LU felbonts mdszere


Amint azt az elz alfejezetben lttuk, a Gauss-fle kikszbls mdszere nagyon sok esetben hasznlhatatlan, amikor az egyenletrendszernek van egyrtelm megoldsa. Ebben a fejezetben a megoldsnak egy msik megkzeltst ismertetjk. Ttelezzk fel, hogy az egyenletrendszer mtrix szorzatra bonthat fel, vagyis

A mtrixa egy als- s egy fels-hromszg

A=LU,
ahol

(2.20)

l11 l21 L= ... ln1


Ekkor az

0 l22 ... l n2

... 0 ... 0 ... ... . . . lnn ,

u11 0 U = ... 0

u12 u22 ... 0

... ... ... ...

u1n u2n . ... unn

Ax=b

egyenlet megoldsa kt lpsben vgezhet. Ez azt jelenti, hogy az

Ly =b
rendszert megoldjuk

y -ra,

majd az

U x=y
egyenletrendszert oldjuk meg

x-re.

Mindkt rendszer megoldsa egyszer az els alfeje-

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

mtrixokat, melyeket a (2.20) kifejezs nem hatroz meg egyrtelmen. Igazbl a kt

mtrix nem nulla elemeit 1-nek vlasztjuk.

mtrix elemei egyrtelmen meghatrozottak. A vlasztst fordtva

is megtehetjk, ha az

nem nulla elemeit vlasztjuk 1-nek. Ezek az esetek azonban

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

szorzatra bontja fel. A mdszer htrnya viszont, hogy sok

esetben nem kivitelezhet. Egy msik lehetsg, melynek igazolsra nem fogunk kitrni, az ellltsa kesztst: 1. Vgrehajtjuk az lii 2. Minden egyes Elszr:

Crout

mtrixok

algoritmussal. Ez a kvetkez mdon oldja meg a mtrixok megszer-

= 1, i = 1, n

rtkadsokat.

j = 1, n

indexre a kvetkez kt lpst hajtjuk vgre.

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

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

Msodik lpsben:

lij =

1 ujj

j 1

aij
k=1

lik ukj

i = j + 1, n .

(2.22)

Ez algoritmus formjban a kvetkezkppen nz ki:

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

for k 1 to j 1 do end for


lij lij lik ukj

end for end for return lij , uij end function


l

lij lij /ujj

A fenti algoritmus biztostja, hogy az egyenletek jobb oldaln szerepl, ppen felhasznlsra kerl s

vltozk elzleg mr kiszmtsra kerltek.

A mdszer mveletignye visszahelyettestst jelent.

n3 3

+ n2

, ami gyakorlatilag egy kikszblst s kt

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-

retnnk meghatrozni. Mind a Gauss-fle kikszbls, mind pedig az LU felbonts egy

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

ismeretlenbl ll egyenletrendszer esetn

lyettestst kell megismtelni a klnbz

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

az LU mdszer jval kisebb

4n3 3 mveletignyhez kpest.

i i i

i i
nm  2008/8/4  15:02  page 35  #32

i i

2.1. DIREKT MDSZEREK

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

4 4-es nagysg 1 2 0 0 0 4 0 0 1 0 0 0 0 0 1.5 1

mtrixra:

3 8 2 0

2 4 . 1 0.5

(2.23)

Ennek alapjn azt mondhatjuk, hogy az eredeti

1 3 3 1

2 2 3 3

3 1 1 2

x1 2 x2 2 2 x3 x4 2

1 2 = 3 3

egyenletrendszer megoldsa teljesen egyenrtk a

1 0 0 0 3 1 0 0 3 0.75 1 0 1 0.25 1.5 1 1 2 3 2 0 4 8 4 0 0 2 1 0 0 0 0.5

y1 y2 y3 y4 x1 x2 x3 x4

1 2 = 3 3 y1 y2 = y3 y4

egyenletrendszerek egymsutni megoldsval.

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

pozitv denit mtrix tnyezkre bonthat az

A = L LT
mdon, ahol

(2.24)

LT

az

als-hromszg mtrix transzponltja.

i i i

i i
nm  2008/8/4  15:02  page 36  #33

i i

36 Pldul, egy

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

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.

l14 l24 = l34 l44


(2.25)

A Choleski felbonts esetben a

lpsben az tls elemet az

k1

1/2 2 lks
(2.26)

lkk =

akk
s=1

sszefggssel szmtjuk. Ezek ismeretben a tbbi elemet az

k1

ljk =

ajk
s=1

ljs lks

/lkk

(2.27)

sszefggs alkalmazsval kapjuk, melyben

j = k + 1, n.

A faktorizcis algoritmust a kvetkezkppen foglalhatjuk ssze:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:

function Choleski( in: (aij ) out: (lij ) for k 1 to n do


lkk akk for s 1 to k 1 do lkk lkk lks lks

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

end for end for return (lij ) end function

ljk ljk /lkk

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

2.1. DIREKT MDSZEREK

37 nagysg mtrixot tekintsnk, melynek felbontsra alkal-

Pldaknt ismt egy

4 4-es

maztuk a fenti algoritmust:

12 3 3 6 2 4 1 1 3.4641 0.8660 0.5774 0.2887

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

2.1.7. Tridiagonlis mtrixok


Tridiagonlis mtrixokban a nulltl klnbz elemek csak a ftln, illetve ez alatt s e fltt helyezkednek el. Ezt matematikai nyelven gy mondjuk, hogy olyan

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 =

ci bi ei bi1 ; bi = di ei ci1 di ei ci1

(2.30)

i i i

i i
nm  2008/8/4  15:02  page 38  #35

i i

38

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

transzformcikat. Ezek eredmnyekppen a

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)

rendszert kapjuk, melyet htulrl elre haladva knnyen megoldhatunk:

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 ,

akkor a fenti mdszert a kvetkez algoritmussal valsthatjuk meg:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:

function Thomas( in: (aij ), (bi ) out: (xi )

i, j = 1, n

end for return (xi ) end function

bn (bn ann1 bn1 )/(ann ann1 an1n ) x n bn for i n 1 to 1 do xi = bi xi+1 aii+1

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:

c, d s e elemeket troljuk. Ebben az esetben az algoritmus

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

function Thomas2( in: (ci ), (di ), (ei ), (bi ) out: (xi )


c1 c1 /d1 b1 b1 /d1 for i 2 to n do ci ci /(di ei ci1 ) bi (bi ei bi1 )/(di ei ci1 )

i, j = 1, n

end for

for i n 1 to 1 do end for


xi = bi xi+1 ci

x n bn

i i i

i i
nm  2008/8/4  15:02  page 39  #36

i i

2.2. ITERATV MDSZEREK

39

12: 13:

return (xi ) end function


Megjegyezzk, hogy a Thomas-algoritmus knnyen ltalnosthat szlesebb svos

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

tridiagonlis rendszert. A Thomas-algoritmus alkalmazsval talakthatjuk ezt egy

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

0.0833 0.1429 0.7317 2.325 0.2625

egyszeren megoldhat rendszerr. A visszahelyettestsek alapjn megoldsnak az

x=
rtkeket kapjuk.

0.1535 0.2806 0.5558 0.1718 0.2626

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

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

2.2.1. Jacobi- s GaussSeidel-fle itercis mdszer


A mdszerek ltalnos ismertetse eltt, a knnyebb megrts rdekben tekintsnk egykt konkrtabb pldt. Tekintsk a

a11 a21
formjba, vagyis

a12 a22

x1 x2

b1 b2

(2.33)

kt egyenletbl ll rendszert. Az ttekinthetsg kedvrt rjuk ezt most egyenletek

a11 x1 + a12 x2 = b1 a21 x1 + a22 x2 = b2


Az els egyenlet alapjn fejezzk ki az

. x2 -t.

(2.34) gy a

x1 -et,

mg a msodik egyenletbl az

x1 =

b1 a12 x2 + , a11 a11 a21 b2 x2 = x1 + a22 a22 x1


(0)
, illetve az

(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)

b1 a12 (k1) x + , a11 2 a11 a21 (k1) b2 = x1 + a22 a22

(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

rtkek klnbsge kisebb egy ltalunk megvlasztott rtknl. Ez a mdszer

tulajdonkppen

Jacobi-mdszer

nven ismeretes.

Kzenfekv a mdszer feljavtsa, hiszen az

x2

kiszmtsra mr hasznlhatjuk az

x1

j rtkt is. Vagyis:

x1 = x2
Ebben az esetben a

(k)

(k)

a12 (k1) b1 x + a11 2 a11 a21 (k) b2 = x + . a22 1 a22


itercis mdszert kapjuk eredmnyl.

(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

2.2. ITERATV MDSZEREK

41

A Jacobi mdszer esetben az itercis kplet

(k ) xi

bi (k1) = aij xj aii j =1


j =i

(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

szm itercis lps elvgzsre az algoritmus a kvetkezkppen alakul:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

function Jacobi( in: (aij ), (bi ), M out: (xi ) for k 1 to M do for i 1 to n do


y i bi for j 1 to n do if j = i then yi yi aij xj

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:

0 0.0667 0 0.2 1 0 0.25 0 0.1363

0.0085 5 0.1615 5 0.1928 0.0957

0.0069 0.1633 10 0.1949 0.0967

0.0070 0.1633 . . . 0.1948 0.0967

i i i

i i
nm  2008/8/4  15:02  page 42  #39

i i

42

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

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.

itercis lps elvgzsre az

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:

function GaussSeidel( in: (aij ), (bi ), M out: (xi ) for k 1 to M do for i 1 to n do


xi bi for j 1 to n do if j = i then xi xi aij xj

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:

0.0667 0 0.18 0 1 0 0.1883 0.0917 0

0.0070 5 0.1633 5 0.1948 0.0967

0.0070 0.1633 . . . 0.1948 0.0967

Lthatjuk, hogy ugyanazt a pontossgot ezzel a mdszerrel mr t iterci utn elrtk.

Mg egy fontos megjegyzst tehetnk a kt algoritmussal kapcsolatosan. Mint lthattuk, a GaussSeidel mdszer azonnal fellrja az szksges az iterci elvgzse az sszes

x rtkeket. Az xi+1 kiszmtshoz x1 . . . xi vltozra. Ennek egyenes kvetkezmnye, xi


elemek egymstl fggetlenl

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

2.2.2. Szukcesszv tlrelaxls mdszere (SOR)


A GaussSeidel mdszerhez hasonl, de a lpshosszt variljuk. Ebben az esetben az itercit az

xi
(n+1)

aij xj
j<i (n+1)

= (1 )xi

( n)

bi aii

j>i

( n) aij xj

(2.39)

kifejezssel vgezzk, ahol mdszernl, ha

egy optimlisan vlasztott paramter. A mdszer

0<<2

paramtertartomnyban konvergl. A konvergencia akkor lehet gyorsabb a GaussSeidel

> 1.

Ezt az esetet tlrelaxlsnak nevezzk.

Erre az iteratv mdszerre nzve az algoritmus a kvetkezkppen foglalhat ssze:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:

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

egyszer mtrixokra ismert, de ltalnos esetben nehz eltallni. Az

optimlis rtkhez viszonylag kzel ad csak az SOR igazn j konvergencit.

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. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

2.3.1. Alapok
Legyen

egy

sajtvektora pedig

n n nagysg mtrix. x, ha fennll az

Ennek sajtrtke

(vals vagy komplex szm),

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

vektort, ami a trivilis megolds, szintn

(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)

az egysgmtrixot jelli. Nyilvnvalan, a sajtrtkek megkere-

ssnek legegyszerbb mdja az elbb felrt determinns kifejtse. Ezzel egy

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

dunk tallni a polinom gykeinek megkeressre. A magasabb rend polinomok esetben

sajtrtkeket visszahelyettestve a (2.41) egyenletbe,

darab inhomo-

gn egyenletrendszert kapunk, melynek

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

komplex egytthatj mtrixot

hermiti-

nevezzk, ha egyenl nmaga transzponltjnak komplex

konjugltjval, azaz

A = A
Az

vagy

aij = a ji .

(2.43)

mtrixot

ortogonlisnak

nevezzk, ha transzponltja megegyezik az inverzvel:

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

2.3.2. Jacobi-fle sajtrtkfeladat megoldsi mdszer


Szimmetrikus vals (hermitikus) mtrixok sajtrtkeinek s sajtvektorainak meghatrozsra az egyik leggyakrabban hasznlatos mdszer, amely egyszer, nagyon stabil, viszont ha

n > 10,

akkor kb. tszr lassbb, mint a hatkonyabb mdszerek.

Az olyan transzformcit, ahol egy mtrixszal jobbrl s az inverzvel balrl szorzunk egy mtrixot,

hasonlsgi transzformci nak nevezzk. A karakterisztikus egyenletet felR 1 = R T ,


vagyis a hasonlsgi transzformci

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

A szimmetrikus mtR ortogonlis hasonlsgi transzformci segtsgvel, RT A R = .


(2.45)

Vegyk pldaknt a

22

tpus mtrix esett. Ekkor a transzformcihoz hasznljuk a

R=
skforgatst ler mtrixot, ahol

cos sin sin cos A


mtrix elemei

(2.46)

a forgats szge. Ha felrjuk ezzel az

A = RT A R

szimmetria transzformcit, a transzformls utn az

a11 a22 a21

= =

a11 cos2 + 2a21 sin cos + a22 sin2 a11 sin2 2a21 sin cos + a22 cos2 a12 a21
(2.47)

= a21 (cos2 sin2 ) + (a22 a11 ) sin cos = a12


s elemeket 0-v alaktjuk, az elforgatsi szgre a kvet-

lesznek. Ha a nem tls kez egyenletet kapjuk:

cot2 +
melynek alapjn

a22 a11 cot 1 = 0 , a21 1 + 1 .

(2.48)

a11 a22 tan = 2a12


Innen megkaphatjuk a Az gy kapott rtkek, mg az

a11 a22 2a12


s

(2.49)

cos = (1 + tan )1/2

sin = tan cos

fggvnyeket, me-

lyekkel felptjk a forgatsmtrixot.

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

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

A kvetkezkben nzzk meg, hogy miknt mkdik ez a mdszer ltalnos esetben

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

aji elemek helyre.

aik ajk aii ajj aji

= 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 +

ajj aii cot 1 = 0 aji 1 + 1

(2.53)

egyenlethez jutunk, melyet megoldva a forgats szge

aii ajj tan = 2aij


lesz.

aii ajj 2aji

(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.

transzformci utni mtrixot, a transzformci-sorozatot a k-

vetkezkppen rhatjuk:

T T T A0 = A , A1 = R1 A0 R1 , A2 = R2 A1 R2 , . . . , Al = Rl Al1 Rl , . . . ,
ahol

(2.55)

Rl -el

valamely nem-tls elemre alkalmazott transzformcit jelltk. Kpezzk a

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

szorzatt. Ha vgtelen sok transzformcit vgznk, akkor

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

tan 1 felttel (aii ajj )/aji > 0

/4

forgatsnak felel meg. Ezt gy tudjuk

biztostani, hogy a kt gyk kzl a  + eljelest vlasszuk, amennyiben a szget a kvetkezkppen szmoljuk:

s a   eljelest az ellenkez esetben. Ezt gy tudjuk legknnyebben megvalstani, hogy

tan = sign

aii ajj 2aji

aii ajj + 2aji

aii ajj 2aji

1 + 1 .
(2.58)

A lert mdszer a kvetkez algoritmus segtsgvel alkalmazhat szmtgpre:

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:

function Jacobi( in: (aij ), for i 1 to n do for j 1 to n do


xii 1 li aii

, imax

out: (xij ), (li )

i, j = 1, n

end for

xij 0

end for for it 1 to imax do for j 2 to n do for i 1 to j 1 do


aii li ajj lj aji |aji | if (amax < aji) amax = aji amax 0

then

end if if (aji >

) then tmp (aii ajj ) /(2aji ) t 1.0/(|tmp| + 1 + tmp tmp) if (tmp < 0) then t t

end if

c 1.0/ 1 + t t sct for k 1 to i 1 do temp aik c + ajk s

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:

2. LINERIS EGYENLETRENDSZEREK, SAJTRTK-FELADATOK

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

ajk ajk c aik s aik temp

temp aki c + akj s akj akj c aki s aki temp

temp xki c + xkj s xkj xkj c xki s xki 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

tmp 2 s c aji li aii c c + ajj s s + tmp lj aii s s + ajj c c tmp aji = 0

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

lpsen bell a legnagyobb nemdiagonlis elem mg mindig nagyobb, mint

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.0158 0.0080 0.0011

3 0 2 1

0 1 3 4

2 3 2 1

3 1 4 0.8207 0.5837 1 0.6593 5

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

A harmadik lps utn kapott sajtrtkek

3.5696; 2

1.4021; 3

2.822; 4

8.8503

s az ezekhez tartoz sajtvektorok

0.7806 0.1523 x1 = 0.4339 ; 0.4233 0.2308 0.7592 x3 = 0.4946 ; 0.3545


lesznek.

x2 = x4 =

0.5196 0.3663 ; 0.6348 0.4392 0.2597 0.5159 0.4052 0.7087

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,

mennyisg kapcsolatt valamely

tikailag ez azt jelenti, hogy brmely feleltethetnk egy

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 )

hidrodinamikai viszkozitsnak a hmrsklettel val vl-

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

rtkre a lehet legkevesebb mvelettel, maximlis pontossggal adjuk

f (x)

behelyettestsi rtket.

3.1.

Polinomok rtkeinek a kiszmtsa. A Horner-sma


a0 , a1 , . . . , an
vals egytthatkbl kpezhet a (3.1)

Adott

P (x) = an xn + an1 xn1 + + a1 x + a0 n-ed


fok polinom. A polinom rtke az

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

3.1. POLINOMOK RTKEINEK A KISZMTSA. A HORNER-SMA

51

A jobboldal trhat egy emberi szemmel kevsb tlthat, de knnyen algoritmizlhat alakba:

P ( ) = (. . . (((an + an1 ) + an2 ) + an3 ) + + a1 ) + a0 ) .


Vezessk be a

b0 , b1 , . . . , bn

mennyisgeket az albbi mdon:

bn = a n , bn1 = an1 + bn , bn2 = an2 + bn1 , bn3 = an3 + bn2 ,


. . .

b1 = a 1 + b2 , b0 = a 0 + b1 .
Belthat, hogy ltalnos alakja:

b0

a keresett

P ( )

behelyettestsi rtk. A rekurrencis sszefgges

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

Q(x) = cn1 xn1 + cn2 xn2 + + c1 x + c0 ,


s ttelezzk fel, hogy

P (x) = Q(x)(x ) + p0 .
Elvgezve az

x =

behelyettestst, nyilvnval, hogy

P ( ) = p0 = b0

az osztsbl

szrmaz maradk. sszevetve a

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)

polinomnak, azt kapjuk, hogy

cn1 = an , cn2 = an1 + cn1 ,


. . .

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

an2 bn1 bn2

an3 bn 2 bn3

...... ...... ......

a1 b2 b1

a0 b1 b0 = P ( )

Szmtgpes hasznlatra a kvetkez algoritmust kell futtathat formba nteni:

1: 2:

function Horner-sma( in: (ai ), out: (bi ) )


(ai ), i = 0, n
behelyettestett rtk, a bemeneti polinom egytthati,

b0 = P ( )

a behelyettestsi rtk/osztsi maradk,

a b1 , . . . , bn

az oszts eredmnyeknt kapott polinom egytthati


3: 4: 5: 6: 7: 8:

end for return (bi ) end function

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-

P (x) = 2x4 3x3 + 4x2 5x + 6


A Horner-sma alapjn + 2 2 Az -3 22 1 4 12 6 -5 62 7 6 72 20=P (2)

x 2-vel

trtn oszts utn kapott hnyados polinom

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

3.2. ANALITIKUS FGGVNY RTKNEK A KISZMTSA HATVNYSORRAL

53

3.2.

Analitikus fggvny rtknek a kiszmtsa hatvnysorral

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-

mus ltalnos alakja a kvetkez lehetne:

1: 2:

function Hatvnysor( in: x, I, (pi ), out: T


x n 1 T 0
behelyettestett rtk,

) megengedett hiba

a sor tagjaira vonatkoz itercis fgg-

vny (lsd (3.2)-t,


3: 4: 5: 6:

(pi )

paramterek,

repeat

u I (u, n, x, (pi ))

7: 8: 9: 10: 11:

end function

T T +u nn+1 until |u| < return T

n = 1 esetn a bemeneti u u0 rtk trl vissza

rtktl fggetlenl

Amennyiben lnyeges a pontos hibabecsls a fenti algoritmus 9. sorban het a nagyobb mveletignyt tmaszt (1.5) maradk taggal.

|u|

helyettest-

Vegyk ht a fontosabb fggvnyeket s prbljuk hatvnysoraikat kpezni elemi mveletek rvn.

3.2.1. (1 + x) tpus fggvnyek


Legyen

=0

f (x) (1 + x) , f (0) = ,

ahol

egy tetszleges vals exponens.

f (0) = 1,
s

f (0) = ( 1),

f (0) = ( 1)( 2),

...

f (x) = 1 + x + +

1 1 ( 1)x2 + ( 1)( 2)x3 + 2! 3!


(3.3)

1 ( 1)( 2) ( n + 1)xn + Rn (x) , n!

i i i

i i
nm  2008/8/4  15:02  page 54  #51

i i

54 ahol

3. FGGVNYRTKEK KISZMTSA

Rn (x) =

f (n+1) (x) n+1 x , (n + 1)!

f (n+1) (x) = (1)(2)(3) (n)(1+x)n1 .

teht a szksges rekurrencis kpletek:

T0 = u0 = 1 ,

un+1 = un

n x, n+1

Tn+1 = Tn + un+1 .

A teljes eljrst a kvetkez algoritmus adja meg:


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

function TaylorEgyPluszXAlpha( in: x, , out: T


u1 n0 T 1

repeat

end function

n x n+1 T T +u nn+1 until |u| < return T uu

Ha a fenti

Hatvnysor

fggvnyt akarnnk jrahasznostani, akkor azt a )

Hatvnysor(x, TaylorTagEgyPluszXAlpha, ,
kell meghvjuk, ahol a
1: 2: 3: 4: 5: 6: 7: 8:

TaylorTagEgyPluszXAlpha

fggvny:

function TaylorTagEgyPluszXAlpha( in: u0 , x, n, out: u1 ) if n = -1 then else


u1 1 u1 u0 n x n+1

end if return u1 end function

Plda
Szmoljuk ki a

10

rtket 10

pontossggal. Mivel

10 =

32

1 +1=3 1+ 9

1 2

, =
1 2 s

alkalmazhatjuk a (3.3) sorfejtst az itercis kplet

1 + 1/9

rtkre. Ez esetben

x=

un+1 = un

n1 , n+1 9

1 2

1 9 , az
Az

s a megengedett hiba pedig

105 /3 3.3 106 .

algoritmus a kvetkez rtkeket adja:

i i i

i i
nm  2008/8/4  15:02  page 55  #52

i i

3.2. ANALITIKUS FGGVNY RTKNEK A KISZMTSA HATVNYSORRAL

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.

3.2.2. Exponencilis fggvnyek


Az exponencilis,

ex ,

fggvny Maclaurin-sora

ex = 1 + x +

x2 x3 xn + + + + ... . 2! 3! n!

A sor konvergens a teljes vals szmhalmazon. A maradktag

Rn (x) =
azaz meredeken n az

ex xn+1 (n + 1)!

(0 < < 1) ,

abszolt rtkvel. Ezrt lehetleg kis rtkek szerint kell a

sorfejtst vgezni. Tetszleges

rtk esetn fennll, hogy

x = [x] + q ,
ahol

[x]

az

egsz rsze s

0 q < 1.

Pldul: 4.7=4 + 0.7, -2.45 = -3 + 0.55. Teht

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,

a fenti sorozat gyorsan konvergl s a maradktag

0 Rn (q ) <
Az tagok rekurrencis kapcsolata:

3 q n+1 . (n + 1)!

T0 = u0 = 1 ,

un+1 = un

x . n+1

Az exponencilis fggvnyt szmt algoritmus:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

function TaylorExp( in: x, out: T


u1 n0 T 1

end function

x n+1 T T +u nn+1 until |u| < return T uu

repeat

Plda
Alkalmazsknt hatrozzuk meg rekurrencis kplet:

e-t 107

hibn bell. Ez esetben

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

1.64583333333 1.6484375 1.64869791667 1.64871961806 1.64872116815 1.64872126504

A pontos rtk 1.6487212707...

i i i

i i
nm  2008/8/4  15:02  page 57  #54

i i

3.2. ANALITIKUS FGGVNY RTKNEK A KISZMTSA HATVNYSORRAL

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

kpezett fggvnyek segtsgvel adjuk meg. Vegyk ht az albbi Maclaurin-sort:

log(1 + x) = x
ahol

x2 x3 x4 xn + + + (1)n + Rn (x) , 2 3 4 n Rn (x) < 1 xn+1 . n+1

(3.4)

(3.5)

A maradk tag elrulja, hogy a az

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

fordtottan arnyos. Ez esetben 10

lps szksges. A sor

tagjai kztti rekurrencis sszefggs:

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:

function TaylorLogEgyPluszX( in: x, out: T while |u| < do


ux T x n0

end while return T end function

nn+1 n u u x n+1 T T +u

A logaritmus esetben lehetsg van a konvergencia javtsra. Vegyk most a hatvnysort:

log (1 x)

log(1 x) = x
Kivonva belle a

x2 x3 x4 xn ... . 2 3 4 n

log (1 + x)

sort, a pros hatvny tagok kiesnek:

log (1 x) log (1 + x) = log

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

vltozcsert, a kvetkez sorfejtshez jutunk:

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

tartalmaz. Az eljrst mg hatkonyabb lehet tenni, ha az logaritmust keressk az

x > 0 1 3

rtket, melynek

x = 2m z ,
mdon bontjuk szt. Teht

1 z<1, 2

0<

log x = log(2m z ) = m log 2 + log z = m log 2 2 +


ahol

2n1 3 + + 3 2n 1

Rn ,

(3.7)

0 < Rn <

1 4(2n + 1)

1 3

2n1

A tagokra vonatkoz rekurrencis sszefggs

u0 = 2 ,

un+1 = un

2n 1 2 , 2n + 1

T0 = u0 .

A hozz tartoz algoritmus pedig:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

function TaylorLog( in: x, out: T


x1 x+1 u 2 T u 2 n0 while |u| < do nn+1 2n 1 uu 2n + 1 T T +u

1/2 < x < 1

end while

i i i

i i
nm  2008/8/4  15:02  page 59  #56

i i

3.2. ANALITIKUS FGGVNY RTKNEK A KISZMTSA HATVNYSORRAL

59

12: 13:

return T end function


log z
hatvnysorra vonatko-

Az algoritmus a (3.7) sztvlasztst kveten visszamaradt zik.

Plda
Becsljk meg az a.)

x=3

logaritmust

108

pontossggal.

A (3.4) s (3.6) kpleteket alkalmazva ktflekppen fejtnk sorba:

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

az albbi mdon kzelt:

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.)

log 3 1.0986122901615687. log 3 = log 4 3 4 = 2 log 2 + log = 108 3 4

TaylorLog

algoritmus az

x = 0.75

bemeneti rtkekkel a kvetkezket

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.

A pontos rtk 1.0986122886681098... A kt

tblzat mrete alapjn nyilvnval a msodik mdszer ersebb konvergencija.

3.2.4. Trigonometriai fggvnyek


A szinusz- s koszinuszfggvnyek Maclaurin-sorai a kvetkezk:

sin x = x

x3 x5 x2n+1 + = , (1)n 3! 5! (2n + 1)! n=0

x2 x4 x2n cos x = 1 + = (1)n . 2! 4! (2n)! n=0


Mindkt sor konvergens a teljes vals szmok halmazn. Miknt a tbbi fggvny esetben is lttuk, gyorsabb a konvergencia kis a

|x|

rtkekre. A fggvnyek periodikussgnak s

szimmetria-tulajdonsgainak ksznhetleg brmely

x rtk helyettesthet egy msikkal 5 = sin . 3 6

[0, /4]

intervallumban. Pldul:

sin

= cos

, 6

sin

16 = sin , 5 5

cos

A szinusz hatvnysornak tagjaira vonatkoz rekurrencis sszefggs:

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 .

A megfelel algoritmusok pedig:


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:

function TaylorSin( in: x, out: T


ux T u x x2 n0 while |u| < do nn+1 x2 uu (2n)(2n + 1) T T +u

0 < x < /4

end while return T end function

i i i

i i
nm  2008/8/4  15:02  page 61  #58

i i

3.3. FGGVNY RTKNEK MEGHATROZSA ITERCIKKAL

61

13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:

function TaylorCos( in: x, out: T


u1 T u x x2 n0

0 < x < /4

repeat

end function

x2 (2n 1)(2n) T T +u until |u| < return T uu

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.

Fggvny rtknek meghatrozsa itercikkal


y = f ( x)
fggvnyt felrhatjuk az

Brmely

F (x, y ) = 0
implicit alakban. Legyen

egy lergztett rtk s keressk azt a megfelel

rtket,

melyre a fenti egyenlsg fennll. Ez tulajdonkppen a

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

kezdeti becslsbl kiindulva kiszmolhatunk egy jabb

y1

rtket, mely kzelebb helyezkedik el a megoldshoz. Ezt az itercit mindaddig ismtel-

n+1 = |yn+1 yn | >


ahol kplet a kvetkezkppen nz ki:

a megengedett hibakorlt. Cljainknak megfelelen trva a (6.4) rekurrencis

yn+1 = yn

F (x, yn ) , Fy (x, yn )

Fy (x, y )

F (x, y ) , y

n = 0, 1, 2, . . .

(3.8)

Alkalmazzuk a mdszert nhny ismert fggvnyre.

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, . . .

Ugyanehhez az itercis kplethez jutnnk, ha

F (x, y ) =

1 1. xy

Ekkor

Fy (x, y ) =

1 . x y2

Az itercis kpletek nem minden

esetn konvergensek. Kimutathat viszont,

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

kezdeti rtkbl indulunk.

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

3.3. FGGVNY RTKNEK MEGHATROZSA ITERCIKKAL

63

y1 = y2 = 0.312(230.312) = 0.332,

1 4

3 4

5 = 0.312 16 y4 = 0, 333333333!

y3 = 0.332(2s0, 332) = 0.333328,

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 +

1 5 (2.25 + ) = 2.2361, 2 2.25

5 ) = 2.236067978! 2.2361

Ez mr mindegyik szmjegyben pontos.

i i i

i i
nm  2008/8/4  15:02  page 64  #61

i i

4. FEJEZET

Tblzatosan megadott fggvnyek kzeltse


4.1.
Kt, egy

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

nlkl behelyettesthet analitikus kifejezs, mint pldul

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

4.2. INTERPOLCI, EXTRAPOLCI

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

index szerint nvekv

sorrendben helyezkednek el a vals szmtengelyen. Clunk az eredeti

f (x) fggvny alak-

I (x)

fggvnnyel gy, hogy a kzelt fggvny is thaladjon a

tabullt pontokon azaz kielgtse az

yi = I (xi )
feltteleket. el, azaz

(4.1)

Interpolcirl

beszlnk, ha az

pont melyben az

I (x)

rtket kvnjuk

megbecslni, a megadott pontok ltal meghatrozott intervallumon bell helyezkedik

x [x0 , xn ]. Extrapolcival

van dolgunk, ha az

f (x)

fggvnyt az interval-

lum hatrain tl prbljuk megkzelteni, azaz

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

4. TBLZATOSAN MEGADOTT FGGVNYEK KZELTSE

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:

a kzelt fggvnyek polinomok. Ezek a mdszerek messze a leg-

elterjedtebbek. 

Trigonometrikus:

a szinuszos s koszinuszos fggvnyek segtsgvel is interpo-

llhatunk. Fleg interpolcival egybekttt Fourier mdszerek alkalmazsnak szksgessge esetn bizonyulnak hasznosnak. 

Racionlis: egyes fggvnyek nem kzelthetk jl polinomokkal viszont sikeresen


hasznlhatjuk a racionlis fggvnyek bvebb osztlyt. Racionlis fggvny alatt kt polinom arnyt rtjk.

Jelen jegyzet keretei kizrlag a polinomilis interpolci trgyalsra terjednek ki.

m-ed

rend polinomilis interpolcinak nevezzk azt a mdszert melyben a hasznlt

polinomok

m-ed

fokak. Az interpolcis fggvny alakja:

I m (x) =
j =1
ahol

Pjm (x)yj ,

(4.2)

Pjm (x) m-ed

fok polinomok. A (4.1) felttelt kielgthetjk, amennyiben

Pjm (xi ) = ij

1 0

i=j i=j Pjm (x)

(4.3)

A (4.2) felrsi md mgtt az a szndk ll, hogy a kzelt polinom kifejezsben az s

xi

yi

rtkektl val fggst minl jobban vlasszuk szt. (4.3) alapjn a

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: 

Loklis interpolci: I (x)

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

4.2. INTERPOLCI, EXTRAPOLCI

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:

function Lokalizls( in: x, (xi ) out: j


lokalizland rtk

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:

pre xi > xi1 , i = 1, n, x [x0 , xn ] k0 ln if x = xl then k l1 end if while l k > 1 do if else if


m [(k + l)/2] x < xm then lm x = xm
lefele kerektett egsz rsze a kt hatrindex tlagnak

then return m else


km

end if end if end while return m end function


mk

A kvetkezkben megismerkednk mindhrom osztlybl egy-egy alapvet mdszerrel.

4.2.1. Lineris interpolci


A legegyszerbb interpolcis mdszer lnyege az, hogy az egyms utn kvetkez pontokat egyenessel ktjk ssze, teht elsrend polinomokat hasznlunk loklis mdszer s az

(m = 1).

Ez egy

[xj , xj +1 )

szakaszonknt hatrozzuk meg. Az

I 1 (x) Ilin (x)


1

fggvny derivltja nem folytonos. A fggvnyt

x [xj , xj +1 )

intervallumon

I (x) = Aj (x)yj + Bj (x)yj +1


formban rva fel a megkzeltst, az

Aj (x)

Bj (x)

fggvnyekre azt kapjuk, hogy

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

4. TBLZATOSAN MEGADOTT FGGVNYEK KZELTSE

teszi. Az algoritmus tulajdonkppen a fenti kplet behelyettestse az elzleg lokalizlt intervallumra.


1:

function LinerisInterpolci( in: x, (xi ), (yi ) out: y


minta,

i = 0, n

(xi ), (yi )

2: 3: 4: 5:

end function

pre xi > xi1 , i = 1, n, z [x0 , xn ] i Lokalizls(z, (xi )) y y return yi + i+1 i (z xi ) xi+1 xi

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 x1 )(x x2 ) . . . (x xj 1 )(x xj +1 ) . . . (x xn ) (xj x1 )(xj x2 ) . . . (xj xj 1 )(xj xj +1 ) . . . (xj xn )

x xk . xj xk j -edik
tnyez.

Vegyk szre, hogy mind a szmllbl mind a nevezbl hinyzik a

Knnyen belthat, hogy (4.3) teljesl. A teljes Lagrange-interpolcis fggvny teht:

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)

megkzeltend fggvny nem

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:

function LagrangeInterpolci( in: x, (xi ), (yi ) out: y


(xi ), (yi )

i = 0, n

2:

pre

minta,

az interpolland rtk

xi > xi1 , i = 1, n, z [x0 , xn ]

i i i

i i
nm  2008/8/4  15:02  page 69  #66

i i

4.2. INTERPOLCI, EXTRAPOLCI

69

3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:

for i 0 to n do

y0

p1 for i 0 to n do if i = j then x xi p p xj xi

end if end for

end for return y end function

y y + p yi

4.2.3. Kbs spline interpolci


A Lagrange-interpolci fentebb megfogalmazott legfbb htrnyt kikszblend, kisebb fok polinomokat hasznlunk, melyeket loklisan denilunk. Az egyes polinomok mindig kt egymst kvet tabullt pont kztt rtelmezettek, viszont megtartva a simasgi tulajdonsgaibl a Lagrange-interpolcis polinomnak, gy hatrozzuk meg a polinomok egytthatit, hogy a tabullt illeszkedsi pontok helyn a derivltak megfelelkppen viselkedjenek. A kbs spline esetn, mint neve is elrulja, harmadfok polinomokkal ktjk ssze az egymst kvet pontokat. A harmadfok polinom ngy egytthatja soknak tnik, ha gyelembe vesszk, hogy elsfok polinomokkal is ki tudtuk elgteni az interpolci (4.1) alapfelttelt. A magasabb fok s az azzal jr, plusz informcit hordoz egytthatk szerepe az, hogy olyan mdon grbljn a kt pont kztt a polinom, hogy annak vgpontjainl simn illeszkedjen a szomszdos szakaszokon rtelmezett polinomokhoz. Konkrtan, az interpolcis fggvnnyel szemben tmasztott kvetelmnyek a kvetkezk:  Legyen folytonos, miknt azt a (4.1) egyenlet is megkvnja.  Az elsrend derivltja legyen folytonos s sima.  A msodrend derivlt is legyen folytonos. Feladatunk ez esetben az, hogy meghatrozzuk az egyes szakaszokon rtelmezett polinomok egytthatit a fentebbi felttelek tiszteletbentartsval. Szem eltt tartjuk, hogy a tabullt pontokban a msodrend derivlt rtelmezett s jl meghatrozott rtket kell felvegyen. A szmts megknnytse rdekben gy tekintjk, mintha a msodrend derivlt rtkei ezekben a pontokban ismertek lennnek s hogy az

yj -vel

jelljk ket. Mint-

y (x)

derivlt folytonos kell hogy legyen, az interpolcis polinom msodrend

derivltjt lerhatjuk lineris interpolcival. Az

[xj , xj +1 )

intervallumon fennll, hogy: (4.5)

yj (x) = Aj (x)yj + Bj (x)yj +1 ,


ahol az

Aj (x)

Bj (x)

fggvnyek azonosak a (4.4)-ben megadottakkal. Az

yj (x)

inter-

polcis fggvnyszakaszrl tudjuk, hogy maga is folytonosan kapcsoldik a szomszdos

i i i

i i
nm  2008/8/4  15:02  page 70  #67

i i

70

4. TBLZATOSAN MEGADOTT FGGVNYEK KZELTSE

szakoszokon rtelmezett fggvnyekhez, de a simasgi kvetelmnyek miatt ltalban nem lineris. Teljesen ltalnosan felrhat mint

yj (x) = Aj (x)yj + Bj (x)yj +1 + gj (x) ,


ahol a folytonossgi felttelt kielgtend kiktjk, hogy az hogy:

(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 ,

melynek ktszeres integrlsa utn a

gj (x)-et

felrhatjuk, mint (4.7)

gj (x) = Cj (x)yj + Dj (x)yj +1 ,


ahol fennll, hogy dierencilegyenletet

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

azt kapjuk, hogy

1 3 (A (x) Aj (x))(xj +1 xj )2 , 6 j yj (x)

Dj (x) =

interpolcis polinom meg is lenne hatrozva (4.6) s (4.7)-bl, ha az

yj

msodrend derivlt rtkek, az

Viszont mindeddig csak az fel s az

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) =

yj +1 yj xj +1 xj (3Aj (x)2 1)yj + (3Bj (x)2 1)yj +1 . xj +1 xj 6 [xj 1 , xj )


szakaszra:

Felrva ugyanezt az

yj 1 (x) =

x j x j 1 yj yj 1 (3Aj 1 (x)2 1)yj 1 + (3Bj 1 (x)2 1)yj xj xj 1 6 yj 1 (xj ) = yj (xj ),


mely az

A derivlt folytonossga azt jelenti, hogy

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-

kppen tehetnk tovbbi kt kiktst. Legmegszokottabb mdja a megolds egyrtelmv

y1

yn -t

nullnak vesszk, mely mdszer a

termszetes kbs spline


y1
s

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

knnyedn elvgezhet az 2.1.7 alfejezetben trgyaltak alapjn.

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

4. TBLZATOSAN MEGADOTT FGGVNYEK KZELTSE

adatokhoz. Jelljk ht a modellfggvnyt az

y (x) = y (x; a1 , . . . , aM )
mdon, ahol

a1 , . . . , a M

a modellfggvny

darab meghatrozand paramtere. A reg-

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

[yi y (xi ; a1 , . . . , aM )]2 ai


paramterekben. Azaz, adott

funkcionlt , keressk annak minimumt az minimlis. A minimalizlssal egy olyan

tok esetn azon rtkeit hatrozzuk meg a paramtereknek, melyekre az mely gy hzdik az

(xi , yi ) ponF funkcionl

rse)

(xi , yi )

pontok kztt, hogy ezek

a fggvny krl a lehet

y (x; a1 , . . . , aM ) regresszis fggvnyt kapunk, szrsa (tlagos ngyzetes eltlegkisebb. A funkcionl minimalizlshoz szksges ai

paramtereket az

F (a1 , . . . , aM ) =0 ai egyenletekbl hatrozzuk meg. Ez M egyenletet jelent M


bzhat regresszis fggvnyt kapjunk szksges, hogy

ismeretlenben, melyet az egyen-

letrendszer tpusa szerint tbbflekppen oldhatunk meg. Ahhoz, hogy valamelyest meg-

M.

Lineris regresszi.

Tekintsk azt az esetet, mikor a regresszis fggvnyrl bizton-

sggal felttelezhetjk, hogy lineris, azaz

y (x; a, b) = ax + b
tpus. Funkcionlunk ebben az esetben:

F (a, b) =
i=1
Minimalizlsnak felttelei:

[yi axi b]2 .

F (a, b) [yi axi b]xi = 2 a i=1 F (a, b) = 2 [yi axi b] b i=1


Bevezetve az

= =

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

funkcionlnak nevezzk, mert az valamely fggvnynek, jelen esetben az

szmot feleltet meg. Ez a meghatrozs nem szigor, amennyiben

F (x)-et

tbbvltozs fggvnynek is tekinthetjk,

a1 , . . . , aM -et

nem paramterekknt, hanem egyszer vltozkknt fogjuk fel.

i i i

i i
nm  2008/8/4  15:02  page 73  #70

i i

4.3. REGRESSZI

73

jellseket, (4.9) trhat:

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

A fenti eljrsnak megfelel algoritmus az albbi:

1:

function LinerisRegresszi( in: (xi ), (yi ) out: a, b


minta,

i = 1, n

(xi ), (yi )

2: 3: 4: 5: 6: 7: 8: 9: 10:

11: 12: 13:

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

a, b az y = ax + b tpus pre n 2 X Y XX XY 0 for i 1 to n do X X + xi Y Y + yi X X X X + x2 i X Y X Y + xi yi

illesztett egyenes paramterei

i i i

i i
nm  2008/8/4  15:02  page 74  #71

i i

5. FEJEZET

Numerikus integrls, kvadratra kpletek


5.1. Bevezets
A numerikus integrls avagy kvadratrk trtnete jval rgebbi idkig nylik vissza mint sok ms numerikus mdszer. A derivlttal ellenttben, az elemi fggvnyekbl kpezett fggvnyek integrlja nem minden esetben hatrozhat meg analitikusan. Elssorban ennek tulajdonthat, hogy a terlet megklnbztetett gyelemben rszeslt egszen a 20. szzadig. A szmtstechnika megjelentvel a kvadratrk is egy mdszercsald lett a tbbi numerikus mdszer kztt. Alapjban vve a numerikus integrls az

I=
a
tpus kifejezs kirtkelse, melyben az

f (x)dx f (x) fggvny s az integrlsi hatrok adottak.

Idelis esetben az integrl felrhat mint

I = F (b) F (a) ,
ahol

F (x) az f (x) primitvje. Ha ezt megtehetjk, akkor a feladat mr nem is numerikus,

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)

y (a) = 0 kezdeti felttellel. Ez a 7. kznsges dierencilegyenle-

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 )

fggvny analitikus kplete.

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:

tengely ltal kzrezrt trrsz terletnek meghatrozsa. A matematik-

ban az integrl meghatrozsra vagyis az emltett terlet kiszmtsra a legegyszerbb

f (x)dx = lim
a
ahol sg,

Ti = lim
i=1

f (xi )n ,
i=1
vgtelen keskeny,

(5.2)

xi = a + in , n = (b a)/n. Itt vgtelen sok, n szlessg, cskok, Ti terleteinek sszegeknt

f ( xi )

magas-

van felrva az integrl. Az alb-

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.

A Gauss-fle kvadratrk elmletnek megrtsnek el-

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

lineris tr kt eleme. Skalris szorzatuk legyen:

f |g
a

W (x)f (x)g (x)dx ,

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

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

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:

Albb felsorolunk nhny nevesebb ortogonlis polinom rendszert: 

(j + 1)Pj +1 (x) (2j + 1)xPj (x) + jPj 1 (x) = 0 .


Pldk:

P0 (x) P2 (x) P4 (x)




= = =

1, 1 (3x2 1) , 2 1 (35x4 30x2 + 3) , 8


2

P1 (x) P3 (x) P5 (x)

= = =

x, 1 (5x3 3x) , 2 1 (63x5 70x3 + 15x) . 8

Hermite-polinomok: W (x) = ex , a = , b = +
Rekurrencia relci:

Hj +1 (x) 2xHj (x) + 2jHj 1 = 0 .


Pldk:

H0 ( x ) = 1 , H2 (x) = 4x2 2 , H4 (x) = 16x4 48x2 + 12 ,


 Rekurrencia relci:

H1 (x) = 2x , H3 (x) = 8x3 12x , H5 (x) = 32x5 160x3 + 120x .

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:

Tj +1 (x) 2xTj (x) + Tj 1 = 0 .


Pldk:

T0 (x) = 1 , T2 (x) = 2x2 1 , T4 (x) = 8x4 8x2 + 1 ,

T1 (x) = x , T3 (x) = 4x3 3x , T5 (x) = 16x5 20x3 + 5x .

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)

fggvnyre, akkor a kt fggvny integrlja is csekly eltrst mutat.

Az integrlt vges sszegknt rjuk fel:

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

tabullt pontok hasznlatra szortkozva a pontossgra val optimaliz-

ls korltozott. Ez esetben az illet pontokat felhasznl polinomilis interpolci az egyedli jrhat t. 2. az

f (x)

fggvny analitikus alakjt ismerve hrom ton indulhatunk el:

a. tetszleges, lehetsg szerint minl egyszerbb feltevs az gy a pontossg rdekben a

xi

csompontokra.

wi

slyokat kell optimlisan megvlasztani.

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

csompontok megvlasztsa szempontjbl kt osztlyba sorolhatjuk a mdszere-

ket: 

Egyenl kz csompontok mdszerei: az (a, b) osszuk fel, azaz xi = a + i, ahol = (b a)/n.


osztllyal

intervallumot egyenl rszekre Ez az osztly azonos a fenti 2a.

i i i

i i
nm  2008/8/4  15:02  page 78  #75

i i

78 

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

Gauss kvadratrk: ez tulajdonkppen a fenti 2b. s 2c. osztlyba es mdszerekre


vonatkozik

Az irodalom egy msik rszben a fenti osztlyozsi mdnl valamivel ltalnosabban, de lnyegben fedve azt, az eljrs mdja szerint trtnik a feloszts: 

Polinomilis interpolcira alapozott integrlsi mdszerek:


egyenl kz csompontkz mdszerek (2a) s (1).

ide sorolandk az

Gauss kvadratrk:

2b. s 2c. osztlyok

5.2.

Rgztett csompont integrlsi mdszerek


wi

Jelen rszben ttekintjk azon mdszereket, melyekben az optimalizls kizrlag a adottak a feladat megfogalmazsakor vagy, ismerve az Leszktett feladatunk a kvetkez: adottak az rtkt.

slyok ltal trtnik. A csompontok tetszlegesek, azaz a fentebbi 1. osztly szerint

f (x) fggvnyt, valamely egyszer

szably szerint vlaszthatk meg, miknt azt a 2a. osztlybeli mdszereknl lergztettk. rtkprok. Keressk az (5.3) megkzeltsben a

{xi , fi f (xi )}, xi [a, b], i = 0, n wi slyokat illetve a kzelt sszeg

5.2.1. Lagrange-interpolcis mdszer


A mdszer lnyege abban ll, hogy a primitv fggvnnyel nem rendelkez knnyen ki tudjuk rtkelni. A 4. fejezetben trgyaltak alapjn az

f (x) fggvnyt

megkzeltjk a Lagrange fle interpolcis polinommal, melynek primitv fggvnyt

In (x) =
i=0

fi
j =i

x xj = xi xj

li (x)fi f (x)
i=0
ponton. (5.3)-nek

n-ed fok polinomtl megkvnhat, hogy thaladjon az n + 1 darab xi


a jobboldaln teht

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

azonnal kvetkezik abbl, hogy

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

vagy annl kisebb fok polinom behelyettestsi rtkeinek

kiszmtsbl szrmaznak.

5.2.2. Ismeretlen egytthatk mdszere


Megfordtva a gondolatmenetet kimutathat, hogy amennyiben az (5.3) kzelts egzakt minden olyan polinomra, melynek foka

n,

akkor az egytthatkra fennll (5.4). Ezt

i i i

i i
nm  2008/8/4  15:02  page 79  #76

i i

5.2. RGZTETT CSOMPONT INTEGRLSI MDSZEREK

79

knnyen igazolhatjuk, gyelembe vve, hogy li (x)

n s ugyanakkor

li (x) =
a j =0

wj li (xj ) = wi ,

azaz (5.4) fennll. Ennek kvetkezmnyekppen, ha megkveteljk, hogy az

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

fok polinomra. A kpletet a

1 0
alakban rjuk fel. Az

1 f (x)dx w0 f (0) + w1 f ( ) + w2 f (1) , 2


s

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

A fenti egyenletrendszer megoldsa polinomra. ltalnos esetben, az

kplet linearitsa folytn pontos rtket kapunk minden,

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

F0 (b) F0 (a) w0 w1 F1 (b) F1 (a) . = . . . . . Fn (b) Fn (a) wn

,
(5.5)

ahol

Fk (x) = xk+1 /(k + 1)

5.2.3. ltalnos integrlsi kpletek


Az ismeretlen egytthatk mdszernek elnye abban ll, hogy az

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

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

br szorosan kapcsoldnak a slyfggvnyhez, nem ennek rtkei, hanem

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)

f (x) cos xdx w0 f

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)

polinomra. Szimmetria okokbl

w1 = w2

s gy

0 4

1 cos xdx x2 cos xdx

= =

2w0 + 2w1 2w0 3 4


2

+ 2 w1

1 4

lineris egyenletrendszer megoldsai adjk a keresett egytthatkat. Mgpedig

w1 =

w2 = w0 = w3 = 4/ .

A keresett kvadratra kpletnk teht:

f (x) cos xdx

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)

tnyezkre val sztvlasztsa olyan esetekben indokolt,

w(x)

egy polinomot slyozva is rendelkezik analitikusan felrhat primitv fgg-

vnnyel, azaz

Fk (x)

ismert.

5.2.4. Intervallumcsere
Minden esetben a

wi egytthatk rtkei fggnek az integrlsi tartomny a s b vgpont[a, b]


in-

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]

tartomny esetn, mgpedig:

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

egyenlsg, ez nem ltalnos rvny szably.

a kvetkez rszben ltni fogjuk, lehet nagyobb is. A

[c, d] [a, b],

(t)

(t) =

ad bc ba t+ dc dc

i i i

i i
nm  2008/8/4  15:02  page 81  #78

i i

5.2. RGZTETT CSOMPONT INTEGRLSI MDSZEREK

81

transzformcival egymsra kpezzk le a kt intervallumot. Elvgezve az tozcsert s felhasznlva, hogy

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.

5.2.5. NewtonCotes kvadratra kpletek


Az n. NewtonCotes kvadratra kplet levezetshez felosszuk az darab azonos gvel.

[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=j q j n (1) i i!(n

i)!

fi .

f (x)dx h
a
ahol

In (q )dq = (b a)
0 i=0 n 0

Hi fi ,

(5.9)

Hi =

i=j (q j )dq n (1) i i!(n i)!n

(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

Az elbbi egyenlsg azonnal belthat, ha (5.9)-ben az

msodik sszefggs pedig az (5.10) Cotes egytthatk alakjbl kvetkeztethet ki.

Tglalap mdszer, n = 0:

H0 = 1
x1

f (x)dx = hf0 + O(h2 f )


x0

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

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

x2

f (x)dx = h
x0

1 4 1 f0 + f1 + f2 + O(h5 f (4) ) 3 3 3 h = (x2 x0 )/2,

(5.11)

Az eltrs a NewtonCotes egytthatk s a fenti sszegben szerepl egytthatk nevezi kztt a

lpskz meghatrozsbl ered. Tudnillik,

azaz az integ-

rlsi tartomny fele. Egy szerencss vletlen folytn a Simpson-mdszer hasznlata a hibatagban kiejti az

f (x)

sorfejtsnek harmadfok tagjbl szrmaz kontribcit gy

a kplet harmadfok polinomok integrlsa esetn is pontos eredmnyt ad.

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.

A trapz s Simpson-kpleteknek megfelel algoritmusok:

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:

function TrapzIntegrls( in: f, a, b, n out: I )


a
s

az integrland fggvny,

2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

end for return h end function

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

5.3. KITERJESZTETT KPLETEK

83 ) szma

12:

function SimpsonIntegrls( in: f, a, b, n out: I


fggvny,

az integrland

13: 14: 15: 16: 17: 18: 19: 20: 21: 22:

end for h return [2s + f (a) + f (b) + 4f (b h)] 3 end function

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

5.2.6. Nylt s flig nylt NewtonCotes-kpletek


Az elz rszben levezetett kvadratrakpletek esetn a kt szls csompont egybeesett az integrlsi hatrokkal (x0

= 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

megnevezst hasznljuk. Amennyiben az egyik szlspont egybeesik az integrlsi

hatrral a msik viszont nem,

flig nylt kvadratrrl beszlnk. Pldakppen felsorolunk


55 5 5 55 f1 + f2 + f3 + f4 + O(h5 f (4) ) , 24 24 24 24 3 1 f1 f2 , + O(h3 f ) 2 2

nhny nylt s flig nylt kpletet:

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

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

hatrrtkben vett megkzeltse egy integrlnak a kvetkezkppen rtelmezhet a

kvadratrkrl alkotott kpnk segtsgvel: osszuk fel az integrlsi tartomnyt

n =

(b a)/h intervallumra. Mivel az egyes intervallumokon vett Ti


mdszerrel kzeltjk meg a elkvetett hiba

integrlok sszege kiadja

a teljes integrlt, ezen integrlok mindegyikt klnll feladatknt tekintve a tglalap

Ti f (xi )h

kpletet hasznlva. Az egyes intervallumon

h2 1/n2

rend. A felsszegzs utn kapott megkzelts hibja vezet

rendben az egyes tagok hibinak sszege, azaz

nh2 1/n h.

Kvetkezskppen:

xn

f (x)dx
a
Teht a

f (x)dx = h[f0 + f1 + . . . + fn1 + fn ] + O(h) .


x0

h 0

hatrrtkben a tglalap mdszer kiterjesztett kplete tart a vges tar-

tomnyon vett integrl pontos rtke fel. Vges csompontkz esetn az elkvetett hiba

h-ban

elsrend. A fenti kiterjesztett kvadratra kpletnek az elnye az, hogy egysze-

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

integrlt magasabb rend mdszerrel kzeltjk meg s gy a teljes tartomnyon vett

integrl is pontosabban meghatrozhat. A magasabbrend kvadratrk kzl tekintsk a trapz s a Simpson-mdszereket.

Kiterjesztett trapz szably:

az elemi

i.

intervallumot

szlessgnek tekintve, az ezen

vett integrl kzelt kplete:

Ti =

1 [fi + fi+1 ] + O(h3 ) 2

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

5.3. KITERJESZTETT KPLETEK

85

teht

xn

f (x)dx = h
x0

1 1 f0 + f1 + f2 + . . . + fn1 + fn + 2 2 B2k 2k (2k1) (2k1) h f0 fn (2k )!


(5.12)

m1

+
k=0

ahol

B2m (xn x0 )h2m f 2m ( ) , (2m)!

[a, b] s f

legalbb

az sszes hibatagot feltntettk, mivel ennek a ksbbiekben hasznt vesszk. A egytthatk az n.

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

kivtelvel az sszes pratlan index tag nulla

= 0, k = 1, ).
ebben az esetben a

Kiterjesztett Simpson-kplet:
jn

tulajdonkppen kt, egyenknt

Ti integrlnak megfelel intervallumot h hosszsg elemi intervallumbl ptjk fel. (5.11) alap-

xn

f (x)dx =
x0

h [(f0 + 4f1 + f2 ) + (f2 + 4f3 + f4 ) + (f4 + 4f5 + f6 ) + . . . 3

. . . + (fn4 + 4fn3 + fn2 ) + (fn2 + 4fn1 + fn )] h = [f0 + 4f1 + 2f2 + 4f3 + 2f4 + . . . + 2fn2 + 4fn1 + fn ] + 3 + O(h4 ) . (5.13)
Vegyk szre, hogy

szksgszeren pros szm.

A fentebbiekhez hasonl mdon elllthatunk brmelyik kvadratrakpletbl egy kiterjesztett sszegkpletet.

5.3.1. Rekurzv trapz algoritmus


A kiterjesztett kpletekkel lnyeges lpst tettnk a gyakorlati alkalmazhatsg fel. Kellkppen megnvelve az intervallumok szmt tetszleges pontossggal meghatrozhatjuk egy nem rendhagy mdon viselked fggvny brmely vges tartomnyon vett integrljt. Ha gy ltjuk, hogy a megkvnt pontossg elrshez tl sok csompontot kell hasznlnunk, s ez nvekedett szmtsi erforrs ignybevtelt vonja maga utn, akkor magasabbrend mdszert vetnk be. Ez lehetv teszi a pontok szmnak nagyarny cskkentst. A konkrt alkalmazhatsg egyik felttele, hogy az algoritmus nll mdon kpes legyen a pontossgot nvelni, kls kzbeavatkozs nlkl. Ehhez szksges, hogy a hibt fel tudja becslni s a pontossg nvelshez szksges mveleteket is optimlisan el tudja vgezni. Ilyen tulajdonsgokkal felruhzott algoritmus fellltsra a trapz

i i i

i i
nm  2008/8/4  15:02  page 86  #83

i i

86

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

mdszer klnskppen alkalmas. Els lpsben az egyetlen

[a, b] integrlsi tartomnyt tekintsk

hosszsg intervallumknt s kzeltsk meg az integrlt a kt vgpontban

felrt trapz kplettel:

T (1) = h
ahol

f0 f1 + 2 2

T (n)

az

intervallumra felrt kiterjesztett kpletbl szrmaz megkzelts. Egy

jabb pontot elhelyezve az intervallum kzepn kt intervallumot kapunk. A kzelt sszeg most:

T (2) =

f1 T (1) h h f0 + f1/2 + = + f1/2 , 2 2 2 2 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

T (2n ) )= + hn+1 f (a + (2i 1)hn+1 ) , 2 i=1 h0 = b a , n0.

2n

(5.14)

hn+1 = hn /2 ,

sszehasonltva kt egymst kvet lpsbl szrmaz kzeltrtket, megbecslhetjk a kzelts hibjt. A kilpsi felttel ezek szerint

|T (2n+1 ) T (2n )| <


ahol

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.

5.3.2. Rekurzv Simpson-algoritmus


A rekurzv trapz algoritmus minden elnye mellett egy msodrend mdszeren alapszik. Prbljuk meg kiterjeszteni az eljrst magasabb rend kpletekre. Vizsgljuk meg a kplet hibjt. Az (5.12) egyenlet alapjn a hiba a

h lpskzben pros hatvny tagokat

i i i

i i
nm  2008/8/4  15:02  page 87  #84

i i

5.3. KITERJESZTETT KPLETEK

87

tartalmaz. A 1.6 alfejezetben megismert Richardson-extrapolcibl mertve ihletet rjuk fel a rekurzv trapz algoritmus kt egymst kvet lpsbl szrmaz kzeltseket:

T (n) = I + a2 h2 + a4 h4 + a6 h6 + . . . + a2k h2k + . . . , T (2n) = I + a2


ahol

h2 h4 h6 h2k + a4 + a6 + . . . + a2k k + . . . , 4 16 64 4

h = (b a)/n s I

az integrl pontos rtke. A hiba sorfejtsnek vezet tagjt kik-

szblhetjk az als egyenlet ngyszeresbl kivonva a fels egyenletet. Kvetkezskppen az integrl kzelt kifejezse

S (2n)
alak lesz. Itt

4T (2n) T (n) = I + b4 h4 + b6 h6 + . . . + b2k h2k + . . . 3

(5.15)

b2k = (1 4k1 )/4k .

A fenti eljrs a kiterjesztett Simpson-kplet pon-

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

Romberg-mdszerhez. R(n, 0)-val. (5.14) alapjn

Je-

R(0, 0) =

1 (b a)[f (a) + f (b)] 2


2n

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)

Az algoritmus segtsgvel a kvetkez alak hromszg mtrixot hozzuk ltre:

R(0, 0) R(1, 0) R(2, 0) R(3, 0)


. . .

R(1, 1) R(2, 1) R(3, 1)


. . .

R(2, 2) R(3, 2)
. . .

R(3, 3)
. . . .. .

R(M, 0)

R(M, 1) R(M, 2) R(M, 3) . . .

R(M, M )

i i i

i i
nm  2008/8/4  15:02  page 88  #85

i i

88

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

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).

rend megkzeltst adja az integrlnak. Ahhoz, hogy

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

nagyobb index oszlopai nem korltozott oszlopszmra.

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

intervallum esetn elrhet

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-

A bevezetben osztlyoztuk a mdszereket aszerint, hogy az integrland

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

slyok. Az elbbi rszben bemutatott mdszerek tetszlegesen rgztettk

le a csompontokat, vagy egyenletesen felosztva az integrlsi tartomnyt, vagy egy tblzatbl olvasva ki ket.

intervallum (n

+1

csompont) esetn az egytthatkra vagy

n+1 n-l

lineris egyenletet rtunk fel (5.5) vagy kzvetlenl hatroztuk meg (5.4, 5.7) sze-

rint. Az

n+1

egyenletbl szrmaz egytthatk egzakt tettk a megkzeltst brmely

kisebb fok polinomra. Joggal felttelezhetjk, hogy ha a csompontokat is szabad

paramterknt kezeljk, akkor ezeket jabb

n+1

egyenlettel tudjuk lergzteni. Ktszer

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

5.6. LTALNOS GAUSS-KVADRATRK

89

megkzelts kiktve, hogy az egytthatk egyformk. Formlisan felrva:

f (x)dx w
a i=0

f (xi ) . n +2, mivel az n +1 csompont


polinomok

Vegyk szre, hogy a meghatrozand paramterek szma mellett a

egytthat rtke is bellthat. Az ismeretlen egytthatk mdszerhez ha-

sonlan tkletes pontossgot kvetelhetnk meg az integrljainak kzeltstl. Pldakppen tekintsk

f (x) = 1, x, x2 , . . . , xn+1 az n = 4 esetben az

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

kifejezsben is tkrzdik, a megoldand egyenletek nem kpeznek lineris egyenlet-

egytthatt

n+2

darab nemlineris algebrai

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-

kez rszben taglaltak rvilgtanak arra, hogy a csompontok meghatrozsra sokkal

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

fggvnyekre kaptunk pontos eredmnyt, s visszatekintve a Gauss-Csebisev kvadrat-

f n+1

polinomra egzakt megkze-

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

5. NUMERIKUS INTEGRLS, KVADRATRA KPLETEK

2n + 1

fok polinomokra? Ha igen, akkor nhny fggvnykirtkelssel az eddig tr-

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)

a szokvnyos Lagrange interpolcis polinomok. Ez a kijelents a Gauss-

Meghatrozs: Legyen w(x) egy pozitv slyfggvny. A q(x) n + 1 fok polinom a


trre val

kvadratrk esetn is fennll, hisz brmely

m>n

egsz szmra

n m .

w-ortogonlisa

alatt azt rtjk, hogy

n -re fennll, hogy

q (x)p(x)w(x)dx = 0 .
a

Ttel: Ha x0 , x1 , . . . , xn

egytthatkkal egzakt brmely

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

xi a q gykei, fennll, w-ortogonalitst a n -re


b b

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 )

Kimutathat, hogy lyezkednek el.

gykei egyszer, vals gykk s az

[a, b]

intervallumon bell he-

Belttuk, hogy lteznek olyan adott

[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

5.6. LTALNOS GAUSS-KVADRATRK

91

szakirodalomban. A leggyakrabban hasznlt kzelts az n. Gauss-Legendre kvadratra, mely nem felttelez slyfggvnyt, azaz

w(x) = 1

s a

[1, 1]

intervallumon vgzett in-

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:

f (x) fggvnnyel. Az [1, 1] szakaszra.

n
0 1

xi x1 = 0 x1 x2 x1 x3 x1 x2 x3 x4 = 1/ 3 = 1/ 3 = 3/5 x2 = 0 = 3/5 = 0.861136311594053 = 0.339981043584856 = 0.339981043584856 = 0.861136311594053 w1 = 2.0 w1 w2 w1 w3 w1 w2 w3 w4

wi

=1 =1 = 5/9 w2 = 8/9 = 5/9 = 0.347854845137454 = 0.652145154862546 = 0.652145154862546 = 0.347854845137454

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

Algebrai s transzcendens egyenletek numerikus megoldsa


A tudomnyban s technikban szmos olyan problmval tallkozunk, amelyre a vgs vlaszt egy vagy tbb egyenlet adja. ltalnos esetben a jobb oldalon ll tagok bal oldalra trtn tmozgatsval egyenleteink implicit alakja a kvetkez:

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

A krds ltalban az, hogy mely

tbbdimenzis.
sunk.

bad paramtervektorok elgtik ki az egyenleteket. A Az egyenletek

fggvnyben a feladat

x szaegy- vagy

rtelmezsi tartomnya, folytonossga s

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.

Egy pontos gyk ltezse, jelljk ezt

-vel,

nem jelenti azt,

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

keresnk. A kzeltshez szksges a

karakterisztikus mreteinek

fogalma. Az

irny

Cx

hosszsg szakaszt rtjk, amin bell a fggvny

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

karakterisztikus mretet gy rhatnnk krl, mint annak az

tenge-

lyen felvett szakasznak a hossza, melyet az valamely szakasz

irny karakterisztikus mretnek megfelel

ltali lekpezsvel nyernk. Pontos mennyisgi meghatrozs csak

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

hanem brmilyen egysgnyi nagysgrend szm is stb. a

xp , ex , cos x, log x,

Cx

karakterisztikus mretet

sklzsa esetn a sklaparamter inverze adja a karakte-

Cx [f (x)] =
A

1 Cx [f (x)] .

Cy

s vltozsnak mrtke az

tpustl fgg. A hatvnyfggvny s az exponen-

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

fggvnynek pedig a nulla krli vi-

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.

Visszatrve a (6.2) egyenlethez, jelljk

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.

A gykt nagy pontossggal valamilyen iterci segtsgvel kzeltjk meg. Az itercival

xn

sorozat

hatrrtke a

pontos gyk. Az itercibl val kilpsnek

a felttele lehet brmelyik az albbi hrom kzl:

pontos a gyk helyzetnek meghatrozsa; kicsi a

n D , nM ,

|f (xn )|;

sok iterci trtnt.

Matematikai szempontbl a hrom felttel egyenrtk. Ha ismerjk az

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

pontossgok a szmbrzols pontossgnak korltain  pldul 7 vagy 15 tizedesen 

f (x)

fggvny klnbz pontokban

i i i

i i
nm  2008/8/4  15:02  page 94  #91

i i

94

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

vett behelyettestsi rtkeinek kiszmtsval kzeltenek. Szmottev az eslye annak, hogy a hatrozatlansg als korltjt nem az

lebegpontos brzolsa, hanem az

f (x)

fggvnyrtkek kiszmtsakor fellp hiba adja. Nem zrhat ki az sem, hogy mind az

x,

mind az

irnyra vonatkoztatott pontossgi elvrsaink tlsgosan magasak, ami a

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]

intervallumon s az intervallum kt vgn

ellenttes eljel, akkor legalbb egy vagy pratlan szm gyke tallhat az intervallum belsejben.

2. ha az

f (x)

fggvny folytonos az

[a, b]

intervallumon s az intervallum kt vgn

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

f (a)f (b) < 0

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

intervallumon, adott kis

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:

function Gyksztvlaszts( in: f, xmin , xmax , h out: (ai ), (bi ) )


f a tanulmnyozott fggvny, xmin , xmax az intervallum (ai ), (bi ) a gykket tartalmaz intervallumok vgpontjai pre xmax > xmin x xmin
hatrai,

a lpskz,

3: 4:

i i i

i i
nm  2008/8/4  15:02  page 95  #92

i i

6.2. FELEZ MDSZER

95

5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

i1

while x < xmax do if


y x+h f (x)f (y ) < 0 ai x bi y ii+1

then

kzrezrsi felttel

end if
xy

end while return (ai ), (bi ) end function


f (x) fggvny viselkedsnek bizonyos mrtk

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

- ezltal tetszleges pontossggal sarokba

szortvn a gykt (6.1. bra). Minden egyes lpsben felezzk az intervallum nagys-

bn an = (bn1 an1 )/2.

Szigoran bizonythat, hogy a kzrezrsi felttelt

tiszteletbentartva s az intervallumot tetszlegesen lecskkentve, annak vgpontjai tetszlegesen kzel kerlnek a Legyen gykhz. Gyakorlatilag az eljrs a kvetkez:

cn = (an + bn )/2

az intervallum kzepe. akkor

1. ha

f (an )f (cn ) < 0 f (an )f (cn ) > 0

bn+1 = cn , an+1 = cn ,

azaz a jobb oldali vgpontot az intervallum

kzepre mozgatjuk, mert ezzel nem csszik ki keznk kzl a gyk; 2. ha akkor azaz ha a jobb oldali vgpont kzpre val

mozgatsval a kzrezrsi felttel nem teljesl, a baloldali vgponttal vgezzk el a mveletet; 3. ha

f (an )f (cn ) = 0

lellunk, mert

cn = ,

azaz belebotlottunk a gykbe.

A harmadik lpsben gyelembe vett eshetsg valsznsge gyakorlati alkalmazsok esetn kicsi, de ettl fggetlenl helyet kell kapnia az algoritmusban. Az

n-edik

lpsben a legjobb becsls

cn .

A hiba fels korltja gy

n =

bn an . 2

i i i

i i
nm  2008/8/4  15:02  page 96  #93

i i

96

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

6.1. bra. Gykkeress felez mdszerrel.

A fenti lersnak pszeudokdban val megfelelje:

1:

function Felez( in: f, a, b, out: x )


intervallum hatrai,

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

a megolds megengedett hibja,

becslt megolds

else

end if

ac uw

end while return a + end function

/2

i i i

i i
nm  2008/8/4  15:02  page 97  #94

i i

6.2. FELEZ MDSZER

97

Plda
Legyen a

f (x) = x ex , a = 0, b = 1.0 c = (a + b)/2 jellst a


1 2 3 4 5 6 7 8 9 0.000000 0.500000 0.500000 0.500000 0.562500 0.562500 0.562500 0.562500 0.566406 0.566406

s a megengedett legnagyobb hiba 0.001. Hasznlva

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

A pontos rtk t helyes szmjeggyel megadva 0.56714.

Az albbi robusztusabb vltozatban a kilpsi felttelt kiegsztjk, hogy kis kekre, illetve nagy iterciszm esetn is trjen vissza az algoritmus:

|f (x)|

rt-

1:

function Robusztus-Felez( in: f, a, b,


fggvny,

, D, M M

out: x )

a tanulmnyozott

a, b

az intervallum hatrai,

a megolds megengedett hibja,

az

behelyettestsi rtkben megengedett hiba, becslt megolds


2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:

az itercik maximlis szma,

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:

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

end while return a + end function


n+1 = n /2 ,

Vizsgljuk most meg a konvergencia sebessgt. A hiba minden lpsben felezdik, azaz a rekurrencia-kplet

ami az elz rszben ismertetett meghatrozsok szerint lineris konvergencit jelent.

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

f (x0 ) + f (x0 )(x1 x0 ) +

f ( x0 ) f (k )(x0 ) ( x0 )2 + + (x1 x0 )k = 0 . 2 k! (k = 1),


az egyenletnk:

(6.3)

Eltekintve a linerisnl magasabb fok tagoktl

f (x0 ) + f (x0 )(x1 x0 ) = 0 ,


ahonnan kifejezve

x1 -et

egy felteheten az

x0 -nl

mg jobb becslst kapunk a gykre. A

fenti lps megismtelhet a kapott

x1 -bl

kiindulva. Rekurrencis alakban felrva

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

pontot gy hatrozzuk meg, hogy az

pontban a

fggvnyhez hzott rintt meghosszabbtjuk, amg az az szspont mr kzelebb fekszik a gykhz, mint

tengelyt metszi. Az

x1

met-

x0 .

Az

x1

rtket felhasznlva az elb-

biekhez hasonlan jrunk el, jabb s jabb, a gykhz egyre kzelebb es irnytangensre fennll, hogy

x2 , x3 , ..., xn

pontokat kapva. Formlisan  kiindulva a derivlt geometriai jelentsbl  az rint

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

6.3. RINT MDSZER

99

6.2. bra. Gykkeress rint (Newton) mdszerrel.

melybl kvetkezik (6.4). A keresalgoritmus a kvetkez:

1: 2: 3: 4: 5: 6: 7: 8:

function rint( in: f, x0 , out: x1 )


x0 x1 x1 x0 f (x0 )/f (x0 ) until |x1 x0 | > return x1

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

xn 1.0 0.537882842 0.566986991 0.567143285

f (xn ) 0.6321205588 -0.0461004862 -0.0002449499 -6.927808993e-09

f (xn ) 1.3678794412 1.5839833290 1.5672319413 1.5671432929

xn+1 0.5378828427 0.5669869914 0.5671432859 0.5671432904

|xn+1 xn | 0.4621171572 0.0291041486 0.0001562946 4.42066084e 09

A fenti pldban ngy lpst kveten lez mdszernl kapott tz lpssel s

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

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

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

amely, kihasznlva a fggvny s derivltjnak a

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 )

msodrend derivltat. gy prblhatjuk ezt elkpzelni, hogy

egy parabolt illesztnk

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

kiindulsi pontokat. Az rint md-

szernl alkalmazott trgyals vezrfonalt kvetve, vegyk a fggvny Taylor-sort az pontos gykt:

f ( ) = f (x1 ) + f (x1 )( x1 ) + = 0 f (x0 ) = f (x1 ) + f (x1 )(x0 x1 ) +


Elhanyagolva a msod- s magasabbrend tagokat, kt lineris egyenlet segtsgvel kikszblhet

(6.5) (6.6)

helyett egy x2 becslst kapunk. A f (x1 ), tovbb x2 , x1 s x0 kapcsolatba

hozhat egy olyan egyenleten keresztl, mely nem tartalmazza a derivltat:

f (x1 ) =

x0 x1 f (x1 ) f (x0 ) = f (x1 ) f (x1 ) . x2 x1 x2 x1

Indukci alapjn a rekurrencis-kplet ltalnos alakja:

xn+1 =

xn1 f (xn ) xn f (xn1 ) . f (xn ) f (xn1 )

(6.7)

Az rint mdszerrel val rokonsg kimutathat, ha a szmllbl kivonunk s hozzadunk

xn1 f (xn1 )-et.

Ez lehetv teszi (6.7) trst az

xn+1 = xn1

f (xn1 ) f (xn )f (xn1 ) xn xn1 f


fggvny derivltjnak az

alakba. A jobb oldali trt nevezje megkzeltse az pontban s Az

xn1

x n1 x n OBN

hatresetben visszaadja a (6.4) kpletet.

A 6.4 bra segtsgvel geometriai rltst is nyerhetnk az iterci alapmechanizmusra.

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:

x2 -re a (6.7) alapjn vrt kifejezst. Belthat, hogy amennyiben x1 s x0 x1 x0 hatresetben

function Hr( in: f, x0 , x1 , out: x2 ) repeat


x2 x1 x1 x0

x0 x1 x1 x2

i i i

i i
nm  2008/8/4  15:02  page 102  #99

i i

102

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

6.4. bra. Gykkeress hrmdszerrel.

7: 8: 9: 10:

end function

f (x1 )x0 f (x0 )x1 f (x1 ) f (x0 ) until |x2 x1 | > return x2 x2

Plda
Legyen

f (x) = x ex , x0 = 2.0, x1 = 1.0


x0 x1

s a megengedett legnagyobb hiba 10

1 2 3 4 5

2.0 1.0 0.48714165 0.57307631 0.567230146

1.0 0.48714165 0.57307631 0.567230146 0.56714320

f (x0 ) 1.8646647 0.63212056 -0.12723834 0.00928793 0.00013611

f (x1 ) 0.63212056 -0.12723834 0.00928793 0.00013611 -1.4599425e-07

x2 0.48714165 0.57307631 0.567230146 0.56714320


0.56714329

|x2 x1 | 0.51285835 0.085934657 0.00584616 8.694835e-05 9.316094e-08

A konvergencia erssgt is viszonylag knnyedn megkaphatjuk az elz rszben gyjttt tapasztalatokra tmaszkodva. A (6.7)-ba behelyettestve az

fggvny

gyk krli

Taylor-sorbafejtst msodrendig, a hibk kztti rekurrencia-relci:

(
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

6.5. ITERCIS MDSZER

103

ahol

az

fggvny derivltjai a

gyk helyn. A szksges csoportostsok s

egyszerstsek utn:

n+1
A fenti sszefggs az

f 2f

n n1

(6.8)

n + 1-edik

lpsben elkvetett hibt az elz kt lpsre jellemz

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

m m 1 = 0 egyenlet egyetlen pozitv megoldsa az m = (1 + 5)/2 azaz


2 n+1

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

A (6.2) egyenlet trhat az egyenrtk

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

rtket kapunk a baloldalon. Belthat, hogy sor, melyet

ha a kett megegyezik, akkor kzs rtkk a (6.2) megoldsa. Ellenkez esetben megis-

x1 -bl indulva, s ltrehozhat az x2 , x3 , . . . , xn , . . .

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.

Legyen ht az itercis kpletnk a (6.9)

xn+1 = g (xn ) ,
ahol

g (x) = x Qf (x) ,

egy lland paramter, mely a konvergencit hivatott biztostani. A 6.5 brn

az itercis folyamat grakus szerkesztse lthat. Az els kt esetben a folyamat konvergens. Amint az bra tlzottan meredek

pontjban lthat, a sznezett terleten thalad, azaz

g ( x)

fggvny esetn divergens az iterci.

i i i

i i
nm  2008/8/4  15:02  page 104  #101

i i

104

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

6.5. bra. Gykkeress itercis mdszerrel. Az a. s b. konvergens mg a c. s d. divergens eseteket brzol.

Az itercis mdszerre rt szmtgpes algoritmus szerkezete az albbi:

1: 2: 3: 4: 5: 6: 7: 8:

function Iterci( in: f, x0 , Q, out: x1 )


x1 x0 x0 x1 x1 x0 Q f (x0 ) until |x1 x0 | > return x1

repeat

end function

i i i

i i
nm  2008/8/4  15:02  page 105  #102

i i

6.5. ITERCIS MDSZER

105

Plda
Legyen 1 2 3 4 5 6 7

f (x) = x ex , x0 = 0.5 xn f (xn )

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

0.5 0.563918396 0.566952490 0.567131903 0.567142610 0.567143250 0.567143288

-0.106530659 -0.005056824 -0.000299021 -1.78454815e-05 -1.06558890e-06 -6.36304726e-08 -3.79963128e-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

rtkre divergens az iterci.

A konvergencira vonatkozan az albbi ttelre tmaszkodhatunk:

Ttel:
Ha

|g (x)| q < 1,
akkor az

a < x < b,

xn+1 = g (xn ) , n = 1, 2, ...


itercis folyamat konvergens, fggetlenl a vlasztott

x0 [a, b]

kezdrtktl s a

= lim xn
n
hatrrtk az

x = g (x)
egyenlet egyetlen gyke az

[a, b]

intervallumban.

A ttel alapjn kimutathat, hogy az iterci sorn a hiba kielgti a

| xn |

qn |x1 x0 | 1q

i i i

i i
nm  2008/8/4  15:02  page 106  #103

i i

106

6. ALGEBRAI S TRANSZCENDENS EGYENLETEK NUMERIKUS MEGOLDSA

egyenltlensget. A mi esetnkben a

g (xn ) = 1 Qf (xn ),

teht a megadott konvergenciafelttelbl:

|1 Qf (x)| 1 , 1 < 1 Qf (x) < 1 , 0 < Qf (x) < 2 x [a, b] .


A mdszer lineris s megbecslhet egy adott pontossghoz szksges itercik szma:

(1 q ) 1 ln . ln q |g (x0 ) x0 | Q = 1/f (x0 )


az optimlis paramter, hiszen

A fenti egyenletekbl az is kitnik, hogy ez esetben

kzel nulla. sszehasonltva a (6.4) s (6.9) rekurrencis kpleteket az is

szrevehet, hogy az rint mdszer tulajdonkppen egy okosabb itercis mdszer, mely minden lpsben belltja a

rtkt az optimlis

1/f (xn )

rtkre.

6.6.

Nemlineris egyenletrendszerek megoldsa az rint mdszerrel

Tekintsk jra az

f (x) = 0
oldst. Ttelezzk fel, hogy adott egy kezdeti pontos megolds

(6.10)

vektor-egyenletet, miknt azt a (6.1) sztbontva is megadtuk, s keressk ennek a meg-

x(0)

becslse a megoldsvektornak s a

= (1 , . . . , k ).

Taylor-sorba fejtve a fggvnyeket a becsls krl:

0 = fi ( ) = fi (x(0) ) +
j =1
Bevezetve a

fi (x(0) ) (0) (j xj ) + O(( x(0) )2 ) . xj f1 (x) x2 f2 (x) x2


. . .

J (x) = . . . f (x) n x1

f1 (x) x1 f2 (x) x1


.. .

fn (x) x2

. . . fn (x) xn

f1 (x) xn f2 (x) xn

Jacobi-mtrixot, a sorfejts tmrebb alakja:

0 = f ( ) = f (x(0) ) + J (x(0) ) ( x(0) ) + O(( x(0) )2 ) .


Ha levgjuk a sort a lineris tagnl, akkor a hogy

gyk helyett egy kzelt

x( 1)-re

ll fenn,

0 = f (x(0) ) + J (x(0) ) (x(1) x(0) ) .

i i i

i i
nm  2008/8/4  15:02  page 107  #104

i i

6.6. NEMLINERIS EGYENLETRENDSZEREK MEGOLDSA AZ RINT MDSZERREL

107

Megismtelve a lpst a

x( 1), majd az ebbl kapott x( 2)-re, tetszlegesen megkzelthejtk

megoldst. Az ltalnos rekurrencis sszefggs:

J (x(n) ) x(n+1) = f (x(n) ) ,


ahol

(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

x(n+1) = x(n) J (x(n) )

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)

sszetevk, az abszolt hibt hasznljuk:

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

Kznsges dierencilegyenletek megoldsa


7.1. Bevezets
A zikban szmos olyan jelensget ismernk, melyben a szerepet jtsz mennyisgek valamely ms mennyisg vagy mennyisgek vltozsnak mrtktl fggnek. A legklasszikusabb plda Newton trvnyben az er s a gyorsuls kapcsolata. Egy harmonikus oszcilltor egyenlete:

d2 y + 2 y = 0 , dt2
ahol

a rezgs krfrekvencija. A lgnyoms magassg fggst izoterm krlmnyek

kztt a

dp g = p dz RT
s

elsrend dierencilegyenlet (DE) adja meg, ahol hmrsklete,

a leveg mltmege illetve

a gravitcis gyorsuls s

az univerzlis gzlland. A fenti kt egyen-

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

7.2. EGYLPSES MDSZEREK

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

rend kznsges DE felrhat mint

darab elsrend

yi = fi (x, y1 , y2 , ..., yN ) ,
formban, ahol az sszes

i = 1, 2, ..., N

(7.2)

fi

fggvny ismert. Magasabbrend DE esetn nem csak a

fggvny kezdeti rtknek ismerete szksges, hanem annak sszes derivltjainak egsz

N 1-ed

rendig, azaz:

szerr val talakts

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)

tpus propaglsa a megoldsnak az adott

hosszsg szakaszon. A mdszer kivlasz-

tsnl a kzelts rendjn tl olyan tnyezket is gyelembe kell venni, mint az szerinti optimlis belltsa futs kzben, stb.

f (x, y )

alakja  simasga, szingulris pontok , a lpskz valamely elrt pontossgi kvetelmny

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 ) ,

xn+1 = xn + h , yn+1 = yn + n+1 ,


ahol

ALG[f (x, y )]

az

fggvnyre ptett valamely algoritmust jell. Az, hogy az elj-

rs csak rvid szakaszdarabokra alkalmazhat azrt nem jelent gondot, mivel a kapott

(xn+1 , yn+1 )

minden tovbbi nlkl hasznlhat egy jabb lps kezdeti feltteleknt.

Megfelel szm lpssel a tetszleges

hosszsg szakasz is lefedhet.

i i i

i i
nm  2008/8/4  15:02  page 110  #107

i i

110

7. KZNSGES DIFFERENCILEGYENLETEK MEGOLDSA

A lpsek szmval arnyosan a szmtsi id is n, ezrt rdeknk magasrend mdszert alkalmazni. Ez jelen esetben azt jelenti, hogy:

yn+1 = y (xn+1 ) + O(hk+1 )


kzelts pontos rtk hiba

kzeltsben a hiba vezet rendje minl magasabb, de legalbb egyet meghalad legyen.

7.2.1. Taylor-sorok mdszere


Az

fggvny

ponthoz tartoz Taylor-sora

y (x + h) = y (x) + hy (x) +
ahol

h3 h2 y (x) + y (x) + , 2! 3!

(7.4)

y (x) = f y (x) = fx + fy y = fx + fy f y (x) = fxx + fxy f + (fx + fy f )fy + f (fyx + fyy f )


. . . . . . (7.5)

Nyilvnval, hogy a fentiek akkor alkalmazhatak, ha az is rendelkezsnkre llnak.

fggvny parcilis derivltjai

A derivltak hinyban csak elsrendig mehetnk a sorfejtssel s esetn

xn

krli sorfejts

yn+1 y (xn + h) = y (xn ) + hy (xn ) + O(h2 ) ,


azaz a nvekmny:

n+1 = hf (xn , yn ) + O(h2 ) .


A fenti

Euler-mdszer elsrend, ami egyszersge ellenre sem kielgt, ezrt elssorban

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

alakjtl fggen a mdszer teljessggel haszontalann is vlhat. Ugyanakkor, az

magasabbrend derivltjainak analitikus kifejezse robbansszeren bonyoldhat, s

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 )

derivltjai, magasabbrend mdszert

kihozhatunk gy, hogy a derivltakat tbbszri fggvnykirtkelssel kzeltjk meg.

i i i

i i
nm  2008/8/4  15:02  page 111  #108

i i

7.2. EGYLPSES MDSZEREK

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:

(7.6) (7.7) (7.8)

Ezek alapjn a

= y (x + h) y (x)

a y = hy (x + h/2) + O(h3 ) , h b y = (y (x) + y (x + h)) + O(h3 ) . 2


Mivel

rtkt csak kzvetve, kzeltsek rvn tudjuk az

rtkhez ktni, ezrt a kt

vltoz

f (x, y )

fggetlen argumentumainak tekinthet. Fennll teht, hogy:

f (x + h, y + ) = f (x, y ) + O(h) + O( ) .
sszevetve a (7.6) s (7.7) egyenletekkel azt kapjuk, hogy:

y (x + h/2) = f (x + h/2, y (x + h/2)) y (x + h) = f (x + h, y (x + h))

= f (x + h/2, y (x) + h/2f (x, y )) + O(h2 ) , = f (x + h, y (x) + hf (x, y )) + O(h2 ) .

Behelyettestve a nvekmnyekre felrt egyenletekbe:

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:

k1 = hf (xn , yn ) , h k1 k2 = hf (xn + , yn + ) , 2 2 a = k , 2 n+1


illetve

k1 = hf (xn , yn ) , k2 = hf (xn + h, yn + k1 ) , 1 b n+1 = (k1 + k2 ) . 2


Az elbbi lomban.

kzppont

vagy

javtott Euler,

mg az utbbi

Heun

nven is elfordul az iroda-

i i i

i i
nm  2008/8/4  15:02  page 112  #109

i i

112

7. KZNSGES DIFFERENCILEGYENLETEK MEGOLDSA

Tulajdonkppen mindkett az n.

msodrend RungeKutta

mdszerek lehetsges meg-

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)

integrl becslst. A knnyebb tlthatsg kedvrt az al jelltk.

kiindulsi pontot

x, y -

y (x)

kizrlag a tanulmnyozott szakasz kezdpontjban ismert, ezrt az

f (xi , y (xi ))

rtkek is csak becslhetk:

x+ai h

f (xi , y (xi )) = f f

x + ai h, y (x) +
x mi

f (x, y (x))dx xj [x, xi ] .

(7.10)

x + ai h, y (x) + h
i=0

bij f (xj , y (xj ))

(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 ))

rtkeket hasznlnak. A Runge

nvekmnyt az albbi mveletsor eredmnyekppen lltjk el:

k1 = hf (x, y ) , k2 = hf (x + a2 h, y + b21 k1 ) , k3 = hf (x + a3 h, y + b31 k1 + b32 k2 ) ,


. . . . . .

(7.12) (7.13) (7.14)

km = hf (x + am h, y + bm1 k1 + + bm,m2 km2 + bm,m1 km1 ) , = w1 k1 + w2 k2 + + wm km + O(h ) .


Az

(7.15) (7.16)

fggvny egymst kvet meghvsait

lpcsknek

nevezzk. Mivel nem a hagyom-

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.

egytthat vagy Butcher-tbla

i i i

i i
nm  2008/8/4  15:02  page 113  #110

i i

7.2. EGYLPSES MDSZEREK

113

hatrozza meg egyrtelmen.

0 a2 a3 a4
. . .

0 b21 b31 b41


. . .

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

A 7.1 tblzatban sszefoglaltuk nhny fontosabb mdszer Butcher-tbljt:

Rend/Lpcsk 1/1 2/2


0 0 1 0 1/2 0 0 1 1/2 0 1/2 0 0 1/6 0 1 2 21 2 0 1/6 0 0 1 0 0 1 /2 0 0 1/2 0 1 /3

Butcher-tbla

Megjegyzs Euler mdszer kzppont mdszer

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

7. KZNSGES DIFFERENCILEGYENLETEK MEGOLDSA

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

7.1. tblzat: Fontosabb RungeKutta mdszerek rendje, lpcsszma s Butcher-tblja

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:

k1 = hf (xn , yn ) , h k1 k2 = hf (xn + , yn + ) , 2 2 h k2 k3 = hf (xn + , yn + ) , 2 2 k4 = hf (xn + h, yn + k3 ) , 1 n+1 = (k1 + 2k2 + 2k3 + k4 ) + O(h5 ) , 6


(7.16)

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

7.2. EGYLPSES MDSZEREK

115

Euler mdszer (elsrend):

1 2 3 4 5

xn 0.000000 0.400000 0.800000 1.200000 1.600000

yn 1.000000 1.000000 1.160000 1.531200 2.266176

k1 0.000000 0.160000 0.371200 0.734976 1.450353

|yn yn | 0.000000 0.083287 0.187179 0.341714 0.587096

Kzppont mdszer (msodrend):

1 2 3 4 5

xn 0.000000 0.400000 0.800000 1.200000 1.600000

yn 1.000000 1.080000 1.359936 1.990946 3.373459

k1 0.000000 0.172800 0.435180 0.955654 2.159014

k2 0.080000 0.279936 0.631010 1.382513 3.206136

|y n yn | 0.000000 0.003044 0.012642 0.031888 0.066158

Heun-mdszer (msodrend):

1 2 3 4 5

xn 0.000000 0.400000 0.800000 1.200000 1.600000

yn 1.000000 1.080000 1.366848 2.018561 3.459006

k1 0.000000 0.172800 0.437391 0.968909 2.213764

k2 0.160000 0.400896 0.866035 1.911981 4.538216

|y n yn | 0.000000 0.003044 0.007521 0.017771 0.039790

Negyedrend RungeKutta-mdszer:

xn

yn

1 2 3 4 5

0.000000 0.400000 0.800000 1.200000 1.600000

1.000000 1.083285 1.377101 2.054209 3.595038

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 |

0.000000 0.000002 0.000019 0.000109 0.000446

i i i

i i
nm  2008/8/4  15:02  page 116  #113

i i

116

7. KZNSGES DIFFERENCILEGYENLETEK MEGOLDSA

7.2.3. Vltoz lpskz RungeKutta-mdszer


A

lpskz nem megfelel belltsa vagy a kvntnl nagyobb hibt, vagy megnveke-

dett szmtsi idt eredmnyez. Az ltalnos szably rtelmben a lpskznek az

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

kzeltjk meg. Tovbb propaglva 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

a kt kzelt rtk s minden ms mennyisg ismeretlen. A

D = y2 y1 = 30h5
klnbsg jl jellemzi a kplethibt. Megfelel kiktst tve a ritmus maga be tudja lltani a

nagysgra, az algo-

lpskzt. Vegyk szre, hogy a mdszer okossga

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

nevhez fzdik, aki tallt kt olyan hatlpcss eljrst,

melyek Butcher-tbliban csak a eljrs ugyanazokat az

wi

egytthatk klnbznek. Ez azt jelenti, hogy a kt

f (x, y )

fggvny-kirtkelseket hasznlja. A megfelel

n+1 nvekmnyek wi egytthatkkal.

ugyanazon

ki

rszleges nvekmnyek lineris kombincii

n+1 s wi illetve

Teht a kt mdszer egyidej hasznlata nem jr plusz szmtsi

idvel. A kt mdszerbl az egyik negyed-, mg a msik tdrend.

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

a pillanatnyi pontossg, melyhez a

h1

lpskz

i i i

i i
nm  2008/8/4  15:02  page 117  #114

i i

7.3. TBBLPSES MDSZEREK

117 megfelel lpskzt a

tartozik, akkor az j,

D0 -pontossgnak

h0 = h1

D0 D1

0.2

kplet adja. Az (7.1) tblzatban megtallhatak a clnak inkbb megfelel jedtebbek.

Cash-Karp

tpus egytthatk, amelyek hasznlata a Fehlberg eredetileg megadott rtkeinl elter-

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

megfelel rtkei s az ltaluk hordozott infomci elvsz.

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 )

[(xn , yn ), (xn1 , yn1 ), (xn2 , yn2 ), , (xnk , ynk )] (xn+1 , yn+1 ) .


Matematikai egyenlet alakban:

ALG[f (x,y )]

yn+1 = yn + w0 fn + w1 fn1 + + wk fnk ,


ahol az

(7.17)

wi

egytthatk llandk,

fi f (xi , yi ) s xi = xi1 + h, azaz lland lpskz a

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

wi fni + O(hk+1 ) k -ad


s annl kisebb fok po-

egyenletben kiktjk, hogy a hibatag eltnjn minden

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

h lpskztl, ezrt a knnyebb

xn = 0

h=1

esetet. Elnys az albbi linerisan

fggetlen polinomhalmazt hasznlni:

p0 (x) = 1 , p1 (x) = x , p2 (x) = x(x + 1) , p3 (x) = x(x + 1)(x + 2) ,


. . . . . .

pk (x) = x(x + 1)(x + 2) (x + k ) .

i i i

i i
nm  2008/8/4  15:02  page 118  #115

i i

118 A

7. KZNSGES DIFFERENCILEGYENLETEK MEGOLDSA

k+1

darab,

pj (x)dx =
0
alak egyenletbl alkotott lineris

wi pj (i)
i=0
a

egyenletrendszerben

pj (i)-k

adjk

fels-

hromszg alak egytthat mtrixot, a bal oldali integrlok a szabad tagokat, s a

wi -k

az ismeretlenek. Ezek kiszmhatak a 2. fejezetben ismertetett visszahelyettestssel.

k=4

esetn a

w0 + w1 + w2 + w3 + w4 = 1 w1 2w2 3w3 4w4 = 1/2

2w2 + 6w3 + 12w4 = 5/6 6w3 24w4 = 9/4 24w4 = 251/30

egyenletrendszer megoldsa adja az n.

Adams-Bashforth

tdrend kpletet:

n+1 =

h [1901fn 2774fn1 + 2616fn2 1274fn3 + 251fn4 ] . 720

(7.18)

Az AdamsBashforth-kpletet ritkn hasznljk nmagban. Az alapjt kpez extrapolci hibja az azonos rend interpolcihoz kpest szmottev. A (7.17) helyett egy

yn+1 = yn + v0 fn+1 + v1 fn + v2 fn1 + + vk fnk+1 ,

(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

kiszmtshoz szksges a keresett

den egy explicit mdszerrel prostva, az n. a feladathoz. Az eljrs lpsei a kvetkezk:

yn+1 ismerete. Ezt kikszblenprediktor-korrektor mdszerrel kzeltnk

1. Prediktor: egy adott lpsszm (7.17 tpus explicit mdszerrel kiszmtjuk az

n+1

becslst;

2. Korrektor: a becsls alapjn kiszmoljuk a megfelel alapjn a vgs

fn +1

rtket, majd (7.19)

n+1 -t.

A gyakorlatban a prediktor-korrektor mdszer prediktoraknt az AdamBashforth kpletet hasznljk s korrektorknt az ugyancsak tdrend

AdamsMoulton

kpletet:

n+1 =

h [251fn+1 + 646fn 264fn1 + 106fn2 19fn3 ] . 720 f (x, y )

(7.20)

A prediktor-korrektor mdszerek klnsen hasznosak bonyolult

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

7.4. EXTRAPOLCIS MDSZEREK

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)

y (x + H ) rtkre H -ban pros hatvny tagokat tartalmazzon.

vgig rajta:

A (7.21) egyenlet az ismert

y (x) = (y (x + h) y (x h))/2h

msodrend megkzeltse

a derivltnak. A tartomny vgpontjban a kzelts hibjnak alakja:

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.

Ez mr RungeKutta szint pontossgot ad, de

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

indulnak s ltalban 16-nl tovbb nem aprznak. Ha a hiba ezen a szinten

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

Anda mungkin juga menyukai