numerikus modszerek

139
Numerikus mdszerek Jegyzet KupÆn PÆl

description

numerikus modszerek

Transcript of numerikus modszerek

Page 1: numerikus modszerek

Numerikus módszerek

Jegyzet

Kupán Pál

Page 2: numerikus modszerek

Tartalomjegyzék

1. A hibaszámítás. A hibaterjedés. 1

1.1. A hibaszámítás alapfogalmai . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. A közelít½o érték és hibája . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2.1. A helyes jegyek száma . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Hibaterjedés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1. Az alapm½uveletek hibái . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.2. Függvény hibakorlátja . . . . . . . . . . . . . . . . . . . . . . . 9

2. Egyenletek numerikus megoldása 11

2.1. A gyökök elkülönítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Az intervallumfelez½o módszer . . . . . . . . . . . . . . . . . . . . . . . 14

2.3. Newton-féle módszer (érint½o módszer) . . . . . . . . . . . . . . . . 15

2.3.1. A kiindulópont megválasztása és az érint½o módszer konvergenciája 16

2.4. Egyszer½usített Newton módszerek . . . . . . . . . . . . . . . . . . . . . 18

ii

Page 3: numerikus modszerek

TARTALOMJEGYZÉK � MANUSCRIPT

2.4.1. A szel½o módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.2. A húr módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.3. A Ste¤ensen-féle módszer . . . . . . . . . . . . . . . . . . . . . 19

2.5. A fokozatos közelítések módszere . . . . . . . . . . . . . . . . . . . . . 20

3. Algebrai egyenletek numerikus megoldása 26

3.1. Polinomok alakjai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. A Horner, illetve de Casteljau elrendezés . . . . . . . . . . . . . . . . . 30

3.3. Algebrai egyenlet megoldása Horner-Ru¢ ni módszerrel . . . . . . . . . 34

4. Egyenletrendszerek numerikus megoldása 38

4.1. Mátrix és vektor norma . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2. Egyenletrendszerek Newton-Raphson-féle megoldása . . . . . . . . . . . 40

4.3. A fokozatos közelítések módszere . . . . . . . . . . . . . . . . . . . . . 45

5. Lineáris egyenletrendszerek numerikus megoldása 50

5.1. Sajátos alakú egyenterendszerek . . . . . . . . . . . . . . . . . . . . . . 51

5.2. Gauss módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.3. LU faktorizáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.4. Jacobi, Seidel-féle iterációs módszerek . . . . . . . . . . . . . . . . . . . 51

5.5. A legkisebb négyzetek módszere túlhatározott lineáris egyenletrendsz-

erek esetében . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

iii

Page 4: numerikus modszerek

TARTALOMJEGYZÉK � MANUSCRIPT

6. Függvény approximáció, interpoláció 57

6.1. Analítikus függvények numerikus kiszámítása . . . . . . . . . . . . . . . 57

6.2. Interpoláció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.2.1. Polinomiális interpoláció . . . . . . . . . . . . . . . . . . . . . . 60

6.2.2. Szakaszos interpoláció . . . . . . . . . . . . . . . . . . . . . . . 76

6.3. Függvény approximáció a legkisebb négyzetek módszerével . . . . . . . 92

7. Bézier görbék, Bézier felületek 93

7.1. A Bézier görbe megszerkesztése a "divide et impera" algoritmussal . . . 94

7.2. Négyzetes Bézier görbék . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7.3. Harmadfokú Bézier görbék . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.4. Bézier felületek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8. Numerikus deriválás és numerikus integrálás 106

8.1. Numerikus deriválás . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.2. Numerikus integrálás (kvadratúra képletek) . . . . . . . . . . . . . . . . 112

8.2.1. Téglalap módszer . . . . . . . . . . . . . . . . . . . . . . . . . . 113

8.2.2. A trapéz módszer . . . . . . . . . . . . . . . . . . . . . . . . . . 114

8.2.3. A Simpson módszer . . . . . . . . . . . . . . . . . . . . . . . . . 115

9. Közönséges di¤erenciálegyenletek 117

9.1. Els½orend½u di¤erenciálegyenletek . . . . . . . . . . . . . . . . . . . . . . 117

iv

Page 5: numerikus modszerek

TARTALOMJEGYZÉK � MANUSCRIPT

9.1.1. Az Euler-féle (törtvonal) módszer . . . . . . . . . . . . . . . . . 119

9.1.2. Taylor módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

9.1.3. Runge-Kutta-féle módszer . . . . . . . . . . . . . . . . . . . . . 122

9.1.4. Fokozatos közelítések módszere . . . . . . . . . . . . . . . . . . 122

9.2. Els½orend½u di¤erenciál egyenletrendszerek . . . . . . . . . . . . . . . . . 123

9.3. Magasabbrend½u di¤erenciálegyenletek . . . . . . . . . . . . . . . . . . . 124

9.3.1. Másodrend½u di¤erenciálegyenlet megoldása véges di¤erenciákkal 125

9.4. Parciális di¤erenciálegyenletek . . . . . . . . . . . . . . . . . . . . . . . 126

9.4.1. A PDE megoldása véges di¤erenciákkal . . . . . . . . . . . . . . 127

v

Page 6: numerikus modszerek

TARTALOMJEGYZÉK � MANUSCRIPT

vi

Page 7: numerikus modszerek

1. fejezet

A hibaszámítás. A hibaterjedés.

1.1. A hibaszámítás alapfogalmai

A gyakorlatban, a m½uveleteket általában a számok közelít½o értékével végezzük, és az

eredmény is közelít½o érték½u lesz. Lényeges követelmény, hogy mindig becslést tudjunk

adni a közelítés pontosságáról.

Hibaforrás lehet már a bemen½o adat; ez bekövetkezhet már a híbás mérés,

vagy a pontatlan m½uszerek miatt.

1.2. A közelít½o érték és hibája

Tekintsük az A pontos értéket. A gyakorlatban A helyett ennek egy közelít½o értékével

dolgozunk, jelöljük a-val.

1

Page 8: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

Example 1

� közelít½o értékének az a = 3:14 értéket lehet tekinteni.

A pontos es a közelít½o érték abszolút különbségét az a szám hibájának nevez-

zuk: jA� aj = �:

Mivel a pontos érték legtöbbsz½or ismeretlen ezért az abszolút hiba is is-

meretlen. Helyette egy � legkisebb hibakorlátot fogunk használni:

� = jA� aj � �:

A fenti képlet felírható a következ½oképpen:

a� � � A � a+ �:

Example 2

Ha egy tetsz½oleges mérésnél egy bizonyos 0:1 grammért szavatolunk

úgy 0:1 gramm a hibakorlát (A = a� 0:1).

Az abszolút hiba es a hibakorlát a mérés és számolás pontosságának a jellemzésére

nem elegend½o. Például ha mérések alapján L1 = 145cm� 0:1cm, L2 = 6:2cm� 0:1cm;

habár a két hibakorlát azonos, az els½o mérés min½osége jobb, mint a másodiké.

Az A érték relatív (viszonylagos) hiba értelmezése a kovetkez½o:

r = �

jaj =jA� ajjaj :

2

Page 9: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

A gyakorlatban, hasonlóan az abszolút hibához, nem a relatív hibát vizsgáljuk hanem

annak a legkisebb korlátját. Ezt nevezzük relatív hibakorlátnak és jelöljük �-val:

jaj = r � � :

Ismerve az abszolút hibakorlátot mivel � � � felírhatjuk:

� =�

jaj :

Example 3

Az el½obbi példát felhasználva �1 = 0:1145= 6: 896 6� 10�4; �2 = 0:1

6:2=

1: 612 9� 10�2:

1.2.1. A helyes jegyek száma

A számok relatív hibája könnyen kiszámítható ha ismert e számok tizedes alakja illetve

a helyes jegyek száma.

Els½o értékes számjegynek nevezzük az els½o nem nulla számjegyet amit balról

jobbra haladva találunk.

Example 4

A 3:14 = 3 � 100 + 1 � 10�1 + 4 � 10�2 számnak az els½o értékes

számjegye a 3, a 0:0027 = 2� 10�3 + 7� 10�4-nek pedig a 2:

3

Page 10: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

Általánosan egy a = am � 10m + am�1 � 10m�1 + ::: számnak az els½o értékes

számjegye am: Innen következik, hogy:

am10m � a � am10m + 10m = (1 + am)10m:

A tizedestört alakjaban felírt a szám valamely meghatározott jegyének helyén álló min-

degyik egységnek megvan a maga helyiértéke: az els½o helyen álló egység 10m-el egyenl½o,

a második 10m�1 ..., az n-edik helyen álló egység egyenl½o 10m�n+1.

Example 5

A 3:141 számban a harmadik jegy helyiértéke 10�2; míg a 0:3141

számban ugyanannak a jegynek 10�3 helyi értéke van.

Hogy egyszer½ubbé teggyünk egy tizedes számot használhatjuk a csonkitási

szabalyt, azaz, elhanyagolhatunk bizonyos számu számjegyet a végér½ol. Az abszolút

hiba, amelyet ebben az esetben elkövetünk, nem fogja meghaladni a meghagyott jegyek

utolsójának helyi értékét.

Example 6

Ha a 2:10527 számnak az els½o három jegyére szorítkozunk, akkor a

2:10 számot kapjuk, az elkövetett hiba pedig kisebb mint 10�2.

Ha nagyobb pontosságot szeretnénk elérni használhatjuk a kerekítési szabályt.

Ez abban áll, hogy a meghagyott számjegyek utolsóját változatlanul hagyjuk vagy

4

Page 11: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

növeljük egy egységgel attól függ½oen, hogy az els½o elhanyagolt számjegy kisebb (<),

vagy nagyobb vagy egyenl½o (�) 5-el. Ebben az esetben, az elkövetett abszolút hiba

nem haladja meg a meghagyott jegyek utolsójának helyi értékenek a felét.

Example 7

Ha a 2:10527 számban, a kerekítesi szabályt alkalmazva, az els½o

három jegyet tartjuk meg, akkor kapjuk a 2:11 számot, az elkövetett

hiba pedig kisebb mint 1=2� 10�2.

Altalánosan, ha az A számot az a érték n helyes számjeggyel közelíti meg,

akkor az abszolút hibára a következ½o egyenl½otlenségeket kapjuk:

� = jA� aj � 10m�n+1 csonkítási szabállyal ill.

� = jA� aj � 1

210m�n+1 kerekítési szabállyal.

Ezen feltételek mellett kifejezhet½o természetesen a relatív hiba is:

� =10m�n+1

jaj � 10m�n+1

am10m=) � � 1

am10n�1csonkítás ill.

� � 1

2am10n�1kerekítés esetben.

Nagy vagy igen kicsi számokat ajánlatos 10-nek a hatványai szerint írni.

Example 8

5

Page 12: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

12345678 számot három helyes számjeggyel a következ½oképpen írjuk:

123 � 105: Hasonlóan a 0:000001234 számot három helyes jeggyel

=12:3� 10�7.

1. Megjegyzés. A problemát fordítva is meg lehet fogalmazni, vagyis egy adott pon-

tosságra hány helyes számjegyet kell számításba venni.

1.3. Hibaterjedés

1.3.1. Az alapm½uveletek hibái

Legyen a1; a2 az A1; A2 pontos számok közelít½o értékei. Ismerjük továbbá az eltérés

hibakorlátjait: �1; �2 illetve �1; �2: Szeretnénk meghatározni a hibakorlátokat abban az

esetben mikor az A1; A2 értékekkel a négy alapm½uveletet végezzük.

� Az ½osszeg hibakorlátja

Ebben az estben azA = A1+A2 mennyiség megközelítéséül szolgaló a = a1+a2

õsszeg � abszolút hibakorlátot határozzuk meg.

jA� aj = jA1 � a1 + A2 � a2j � jA1 � a1j+ jA2 � a2j � �1 + �2

vagyis az � hibakorlátot egyenl½onek lehet venni az �1; �2 hibakorlátok ½osszegével:

� = �1 + �2:

6

Page 13: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

� A különbség hibakorlátja

Hasonlóan lehet eljárni mint az el½obbi pontnál: A = A1 � A2 , a = a1 � a2

=)

jA� aj = jA1 � a1 � A2 + a2j � jA1 � a1j+ jA2 � a2j � �1 + �2

vagyis, mint az el½obb, az � különbség hibakorlátját egyenl½onek lehet venni az �1; �2

hibakorlátok ½osszegével:

� = �1 + �2 :

Külön �gyelmet kell szentelni ha A1 es A2 közeli értékek ugyanis, ebben az esetben

sokat veszíthetünk a pontosságból.

Example 9

Számítsuk ki két kocka V1; V2 térfogatainak különbségét ha oldalaik

2:141m ill. 2:140m: A térfogatok három pontos jeggyel a következ½ok

lesznek: V1 = 9:81; V2 = 9:80; ahonnan a különbségük V1 � V2 =

0:01 = 10�2: Ugyanakkor felhasználva a Taylor képletet:

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

ahol f(x) = x3 , x = 2:140, �x = 0:001 azt kapjuk, hogy: V1�V2 =

3�2:1402�0:001 = 1:37�10�2 ami pontosabb eredmény az el½obbinél.

7

Page 14: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

� A szorzat hibakorlátja

jA1A2 � a1a2j = jA1A2 � A1a2 + A1a2 � a1a2j = jA1 (A2 � a2) + (A1 � a1) a2j �

� jA1j jA2 � a2j+ ja2j jA1 � a1j � jA1j�2 + ja2j�1 :

Az ismeretlen jA1j tagot majoráljuk a következ½o taggal:

jA1j = jA1 � a1 + a1j � jA1 � a1j+ ja1j � �1 + ja1j

tehát� � (�1 + ja1j)�2+ja2j�1 = �1�2+ja1j�2+ja2j�1: Elosztva az egyenl½otlenség

mindkét oldalát ja1a2j taggal kapjuk, hogy:

ja1a2j� �1�2

ja1a2j+�1

ja1j+�2

ja2j

vagyis:

� = �1�2 + �1 + �2:

Mivelhogy a relatív hiba kicsi szokott lenni ezért a �1�2 szorzat elhanyagolható és a

szorzat relatív hibájának vehetjük a �1; �2 relatív hibák ½osszegét:

� = �1 + �2:

� A hányados hibakorlátja

���A1A2 � a1a2

��� = ���A1a2�A2a1A2a2

��� = jA1a2�a1a2+a1a2�A2a1jjA2a2j = j(A1�a1)a2+a1(a2�A2)j

jA2a2j � jA1�a1jja2j+ja1jja2�A2jjA2jja2j

8

Page 15: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

Az jA2j ismeretlent minoráljuk a következ½o képpen:

ja2j = ja2 � A2 + A2j � ja2 � A2j+ jA2j =) jA2j � ja2j � ja2 � A2j ahonnan

� =���A1A2 � a1

a2

��� � �1ja2j+ja1j�2ja2j(ja2j��2) :

Hogy a relatív hibakorlátot megkapjuk, elosztjuk �-t���a1a2 ���-vel es azt kapjuk,

hogy:

����a1a2 ��� ��1 ja2j+ ja1j�2

ja2j (ja2j ��2)

ja2jja1j

=

�1ja1j +

�2ja2j

1� �2ja2j

:

Figyelembe véve, hogy �2ja2j elhanyagolható 1-hez képest azt kapjuk, hogy:

� = �1 + �2:

1.3.2. Függvény hibakorlátja

Ebben az esetben szeretnénk megvizsgálni hogyan befolyasolja a véltozó hibakorlátja a

függvény hibakorlátját.

Legyen f : Rn �! R egy deriválható függvény, illetveX0 = (X01 ; X

02 ; :::; X

0n) 2

Rn egy pontos érték. Kérdés mennyi f (X0) =?

Az X0 ideális értéket megközelítjük egy x0 = (x01; x02; :::; x

0n) 2 Rn ponttal,

illetve az f (X0) értéket az f (x0) értékkel. A függvény megközelítésében elkövetett

abszolút hibát jelöljük �f (x0) = jf (X0)� f (x0)j. A középérték tételb½ol:

f�X0�� f

�x0�= df (�)

�X0 � x0

�; � 2

�X0; x0

9

Page 16: numerikus modszerek

FEJEZET 1 � MANUSCRIPT

következik, hogy:

�f�x0�=

�����nXi=1

@f

@xi(�)�X0i � x0i

������ �nXi=1

���� @f@xi (�)���� ��X0

i � x0i�� :

Tételezzük továbbá fel, hogyX0 pontnak létezik egy olyan környezete amelyre x0 2

es f parciális deriváltjai korlátosak, vagyis:

supx2

���� @f@xi (�)���� =Mi 2 R:

Következik, hogy:

��f �X0�� f

�x0��� = �f �x0� � nX

i=1

Mi

��X0i � x0i

�� :2. Megjegyzés. Ha " egy el½ore megadott pontosság akkor kikötjuk, hogy:

��X0i � x0i

�� � "

nMi

;8i

ahonnan az el½obbi egyenl½otlenség alapján kapjuk:

��f �X0�� f

�x0��� � ":

3. Megjegyzés. Ha f (x) = x1+x2; akkorMi = 1 es visszakapjuk az összegre vonatkozó

hibakorlátot; x = (x1; x2) 2 R2: Hasonlóan, visszakapjuk a hibabecslést a kivonásra,

szorzásra, osztásra ha f(x) rendre f(x) = x1 � x2; f(x) = x1x2; f(x) = x1x2:

Example 10

Legyen f : R2 �! R, f (x) = x21 + 2x22, ahol x = (x1; x2) 2 R2:

10

Page 17: numerikus modszerek

2. fejezet

Egyenletek numerikus megoldása

Az f (x) = 0; f : D � R �! R egyenleteket algebrainak, illetve transzcendensnek

nevezzük attól függ½oen hogy az f polinom e (esetleg azzá alakítható) vagy sem.

Pl. f(x) = 4x3+16x�3 = 0 egyenlet algebrai, míg az f (x) = sinx+1�x = 0

transzcendens egyenlet.

Az egyenletek numerikus megoldása két lépésben történik: az els½o lépés a

gyökök elkülönítése (szeparálása), majd következik, a meghatározott intervallumokban,

a gyökök kiszámítása.

2.1. A gyökök elkülönítése

A gyökök elkülönítése egy olyan eljárás amellyel a D értelmezési tartományt diszjunkt

intervallumokra bontjuk, úgy, hogy minden intervallum az egyenlet egyetlenegy gyökét

11

Page 18: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

tartalmazza. A módszerek között meg lehet említeni a gra�kus, illetve az analitikus

eljárást.

A gra�kus módszer

Az eljárás a következ½o: vázoljuk az y = f (x) függvény görbéjét, majd az

Ox tengellyel való metszéspontok szolgálják az f (x) = 0 egyenlet közelít½o gyökeit.

Gyakran elonyosebb felbontani az f (x) = 0 egyenletet f1 (x) � f2 (x) = 0 alakra, es

ezutan keresni az f1 illetve f2 fuggvenyek metszespontjat.

Pl. f (x) = sin x + 1 � x = 0. Elonyosebb (es konnyebb) felbontani az

egyenletet a kovetkezokeppen: sin x = x� 1: Ábrázoljuk a két függvényt:

52.50­2 .5­5

2 .5

0

­2 .5

­5

x

y

x

y

es azt kapjuk hogy az egyenlet gyoke x� 2 (0; �).

Analitikus modszer

A modszer a Rolle tetel ket folyomanyan alapszik.

Folyomany1. Ha a es b az f 2 C1 (D) fuggvenynek ket egymasutani sta-

cionarius pontja: f 0 (a) = f 0 (b) = 0; akkor f -nek legfeljebb egy gyoke van az (a; b)

intervallumban.

Valoban, ha 9c1; c2 2 (a; b) ugy hogy f (c1) = f (c2) = 0 akkor Rolle tetele

12

Page 19: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

szerint 9x 2 (c1; c2) u.h. f 0 (x) = 0; de akkor a es b nem egymasutani.

Folyomany2. Ha az f 2 C (D) folytonos fuggvenyre teljesul a kovetkezo alli-

tas: f (a) f (b) < 0, akkor f -nek legalabb egy gyoke van az (a; b) intervallumban.

Ha a ket folyomany igaz, akkor f -nek egyetlen egy gyoke lesz az (a; b) inter-

vallumban.

Tehat:

- meghatarozzuk az f fuggveny stacionarius pontjait: x1; x2; :::; xn es

ezekkel

-kepezzuk a Rolle-fele sorozatot: f (x1) ; f (x2) ; :::; f (xn) :

Ha a Rolle-fele sorozatban elojel valtas van, akkor az illeto intervallumban

egyetlen egy gyoke van az egyenletnek.

Pl. Kulonitsuk el az 2x3 � 9x2 + 12x� 4:5 = 0 egyenlet gyokeit.

f (x) = 2x3 � 9x2 + 12x� 4:5 =) f 0 (x) = 6x2 � 18x+ 12 :

f 0 (x) = 0 =) x1 = 1 es x2 = 2 : A Rolle sorozatot tablazatba irjuk:

x -1 1 2 +1

f (x) -1 0:5 0:5 +1

� + � +

Tehat az egyenlet gyokeit elkulonitettuk a (�1; 1) ; (1; 2) ; (2;+1) interval-

lumokban.

13

Page 20: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

2.2. Az intervallumfelez½o módszer

Tetelezzuk fel hogy az f (x) = 0 egyenletnek elkulonitettuk a gyoket az [a; b] interval-

lumban. Ha f 2 C ([a; b]) akkor =) f (a) f (b) � 0:

Az [a; b] intervallumot felbontjuk ket egyforma hosszusagu reszintervallumra:�a; a+b

2

�;�a+b2; b�: Ezek kozul csak az egyik tartalmazza az x� gyokot (hacsak nem eppen

a+b2a gyok, de akkor a feladat meg van oldva ). Ezt az intervallumot ujbol felezzuk,

stb.

53.752.51.250

30

20

10

0

­10

x

y

x

y

Az algoritmus ket sorozatnak (an)n2N ; (bn)n2N a felepitesebol all. A sorozatok

tagjait a kovetkezo keppen ertelmezzuk: a0 = a; b0 = b: Ekkor vagy f (a) f�a+b2

�� 0

vagy f (a) f�a+b2

�� 0 ; ennek megfeleloen a1 = a es b1 = a+b

2vagy a1 = a+b

2es b1 = b:

Az n-edik lepesnel meghatarozzuk az [an; bn] intervallumot mely tartalmazza az x�

gyokot es amit ujbol felezunk. Ha f (an) f�an+bn2

�� 0 =) an+1 = an es bn+1 = an+bn

2

, ha pedig f (an) f�an+bn2

�� 0 =) an+1 =

an+bn2

es bn+1 = bn :

4. Tétel. Az (an)n sorozat monoton novekvo, a (bn)n sorozat pedig monoton csokkeno.

14

Page 21: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

A sorozatok hatarerteke megegyezik:

lim an = lim bn = x� ahol f (x�) = 0 :

Proof. A sorozatok felépitéséb½ol következik a monotonitás. Mivel an � x� � bn

következik hogy a sorozatok korlátosak. Tehát a sorozatok konvergensek. Határértéket

számítva a bn � an = b�a2n

képletb½ol, a fogó szabályt alkalmazva, azt kapjuk, hogy:

lim bn = lim an = x�:

2.3. Newton-féle módszer (érint½o módszer)

Tételezzük fel, hogy az f (x) = 0 egyenletnek f 2 C1 ([a; b]) elkül½onitettük a gyoket az

[a; b] intervallumban.

A modszer lenyege egy olyan (xn)n sorozatnak a felepitese ami konvergal az

egyenlet x� megoldasahoz.

107.552.50

100

75

50

25

0

x

y

x

y

A fenti abran legyen x0 = b. Az M0 (x0; f (x0)) pontbol erintot huzzunk

15

Page 22: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

a fuggveny gorbejehez, ami az Ox tengelyt az x1-ben metszi. Az eljarast folytatjuk

az M1 (x1; f (x1)) pontbol stb. Az n-ik lepesben meszerkesztettuk az Mn (xn; f (xn))

pontot. Ebben a pontban az erinto egyenlete a kovetkezo:

y � f (xn) = f 0 (xn) (x� xn) :

Az erinto metszete az Ox tengellyel adja az xn+1 pontot (y = 0):=)

�f (xn) = f 0 (xn) (xn+1 � xn) =)

xn+1 = xn �f (xn)

f 0 (xn):

2.3.1. A kiindulópont megválasztása és az érint½o módszer kon-

vergenciája

A legtobb iterativ modszernel a kiindulo pont megvalasztasa rendkivul jelentoseggel

bir.

A fenti abran is erzekelheto: ha az [a; b] intervallum masik vegpontjat valasz-

tottuk volna meg akkor x1 kivul esett volna ennek az intervallumon.

A legegyszerubb ha x0 az [a; b] intervallum egyik vegpontja, de ez nem szuk-

segszeru.

Feltetelezzuk hogy f 2 C2 ([a; b]) es a f 0; f 00 derivaltak elojeltartoak az adott

intervallumban. Ebben az esetben a kovetkezo esetek lehetsegesek:

16

Page 23: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

53.752.51.250

15

10

5

0

­5

x

y

x

y

4.543.532.521.5

75

50

25

0

x

y

x

y

Stb.

5. Tétel. Az erinto modszerbol kapott sorozat

xn+1 = xn �f (xn)

f 0 (xn)(2.1)

ahol x0 a fentiek szerint van meghatarozva konvergens.

6. Megjegyzés. A konvergencia rend negyzetes.

7. Megjegyzés. Elonyok-hatranyok.

Example 1

A Newton módszer jól alkalmazható egész kitev½oj½u gyökvonásra ppa.

Példáulpa kiszámítása ekvivalens az x2�a = 0 egyenlet megoldásá-

val amit Newton módszerrel határozunk meg. A sorozat rekurzíós

képlete a következ½o lesz:

xn+1 = xn �1

2

x2n � axn

=1

2xn

�x2n + a

�:

17

Page 24: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

2.4. Egyszer½usített Newton módszerek

Az egyszer½usített módszerek a Newton-féle eljárás hátrányait hivatott kiküszöbölni,

nevezetesen a derivált kiszamítását egyszer½usíti.

A Newton-féle módszer minden iterációjában szükséges a derivált kiszámítása.

Ennek elkerülesére szolgálnak az úgynevezett egyszer½usített változatok.

2.4.1. A szel½o módszer

A (2.1) kepletben az f 0 (xn) tagot felcsereljuk:

f 0 (xn) �f (xn)� f (xn�1)

xn � xn�1

es igy a kovetkezo iteracios kepletet kapjuk:

xn+1 = xn �xn � xn�1

f (xn)� f (xn�1)f (xn) : (2.2)

A mertani jelentese a szelo modszernek a kovetkezo.00xyxy

Az (xn)n sorozat elso tagjat x0-t ugyanugy valasztjuk meg mint az erinto

modszernel, x1 pedig egy pont x0 es x� kozott: x1 2 (x�; x0) : Az x0; x1 pontoknak

18

Page 25: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

megfelel a gorben az M0 (x0; f (x0)) ; es M1 (x1; f (x1)) : Az M0M1 szelo metszi az Ox

tengelyt x2-ben. Az eljarast folytatjuk M1M2 szelovel. Az n-edik lepesnel Mn�1Mn \

Ox = xn+1. Az Mn�1Mn szelo egyenlete:

f (x)� f (xn) =f (xn)� f (xn�1)

xn � xn�1(x� xn)

amelybe behelyettesitjuk a metszespont koordinatait: (xn+1; 0) =)

�f (xn) =f (xn)� f (xn�1)

xn � xn�1(xn+1 � xn)

ahonnan kifejezve xn+1-t kapjuk a (2.2) kepletet.

8. Megjegyzés. A szel½o módszer kiküszöböli az érint½o módszer hátrányát viszont lass-

aban konvergal; a konvergencia rendje 1+p5

2(< 2):

2.4.2. A húr módszer

2.4.3. A Ste¤ensen-féle módszer

Ennek lényege, hogy a gyök közelében f (xn) � f (x�) = 0 tehát a derivált

f 0 (xn) = limh!0

f (xn + h)� f (xn)h

� f (xn + h)� f (xn)h

átírható a következ½o alakban:

f 0 (xn) �f (xn + f (xn))� f (xn)

f (xn):

19

Page 26: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

Innen az iteratív eljárás a következ½o lesz:

xn+1 = xn �f 2 (xn)

f (xn + f (xn))� f (xn):

A módszer konvergencia-rendje a gyök környezetében négyzetes.

2.5. A fokozatos közelítések módszere

A fokozatos közelítések (sukcesszív approximációk) módszere a numerikus eljárások

egyik alapvet½o és gyakran használt módszere.

A megoldandó egyenletet f (x) = 0 átírjuk a következ½o alakra:

x = ' (x) : (2.3)

Erre több lehet½oség is van, például ' (x) = x+ f (x) ; vagy ' (x) = x� f (x) :

9. De�níció. Az (xn)n sorozatot ahol

xn+1 = ' (xn) és x0 a gyök egy kezdeti megközelítése,

az approximációk sorozatának nevezzük.

10. Tétel. Ha az (xn)n sorozat konvergens es ' folytonos akkor a határértéke mege-

gyezik az egyenlet gyökével.

Proof. x� = limxn+1 = lim' (xn) = ' (limxn) = ' (x�) ; vagyis x� gyöke az (2.3)

egyenletnek ami ekvivalens f (x) = 0 egyenlettel.

20

Page 27: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

A '-t½ol függ½oen az eljárás lehet konvergens vagy divergens. Az alábbi ábrákon

szemléltettünk egy pár esetet:

52.50­2.5­5

5

2.5

0

­2.5

­5

x

y

x

y

0 < '0 (x) < 1 vonzó gyök

52.50­2.5­5

5

2.5

0

­2.5

­5

x

y

x

y

�1 < '0 (x) < 0 vonzó gyök

52.50­2.5­5

5

2.5

0

­2.5

­5

x

y

x

y

1 < '0 (x) taszító gyök

52.50­2.5­5

5

2.5

0

­2.5

­5

x

y

x

y

'0 (x) < �1 taszító gyök

A gyök az y = x illetve y = ' (x) görbék metszeténél taláható. Kiindulva az

(xn; xn+1) = (xn; ' (xn)) pontból a (xn+1; xn+2) pontot a következ½o keppen szerkesztjük

meg. Az (xn; xn+1) ponton keresztül húzzuk az y = xn+1 egyenest az y = x egyenessel

való metszésig, majd berajzolva az x = xn+1 egyenest az y = ' (x) görbével való

21

Page 28: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

metszésig megkapjuk a kivánt (xn+1; xn+2) pontot.

11. Tétel. Legyen ' : [a; b] ! [a; b] egy deriválható függvény. Ha teljesül a következ½o

feltétel:

j'0 (x)j � q < 1; 8x 2 (a; b)

akkor a) az (xn)n sorozat: xn+1 = ' (xn) konvergens tetszöleges x0-ra,

b) az (xn)n sorozat határértéke x�; az ' (x) = x egyenlet egyetlen gyöke az [a; b] inter-

vallumban.

Proof. a) jxn+1 � xnj =def j' (xn)� ' (xn�1)j =Lagrange j'0 (�n) (xn � xn�1)j �

�Tetel q jxn � xn�1j � ::: � qn jx1 � x0j ;ahol �n 2 (xn; xn+1) =)

jxn+p � xnj = jxn+p � xn+p�1 + xn+p�1 � :::� xnj � jxn+p � xn+p�1j + ::: +

jxn+1 � xnj �

� qn+p�1 jx1 � x0j+:::+qn jx1 � x0j = (qn+p�1 + :::+ qn) jx1 � x0j = qn 1�qp

1�q jx1 � x0j :

Tehat:

jxn+p � xnj �qn

1� q jx1 � x0j ; n; p 2 N: (2.4)

Mivel q 2 (0; 1) a jobboldal tetszolegesen lekicsinyitheto vagyis a (xn)n Cauchy-fele

sorozat. Az R-en minden Cauchy sorozat konvergens tehat (xn)n konvergens.

b) Jeloljuk az (xn)n sorozat hatarerteket x�-al: limxn = x�: =)

x� = limxn = lim' (xn�1) = ' (limxn�1) = ' (x�) tehat x� az x = ' (x)

egyenlet gyoke. Kimutatjuk hogy x� az egyeduli gyoke. Feltetelezzuk hogy az egyenlet-

22

Page 29: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

nek meg letezik egy gyoke: x�� = ' (x��) ; x�� 6= x�:=) jx� � x��j = j' (x�)� ' (x��)j =

j'0 (��) (x� � x��)j � q jx� � x��j , ahol �� 2 (x�; x��) =) (1� q) jx� � x��j � 0 es mivel

(1� q) > 0 =) jx� � x��j = 0 , x� = x�� hamis.

12. Megjegyzés. A (2.4) képletb½ol ha p!1 a következ½o hibabecslást kapjuk:

jxn � x�j �qn

1� q jx1 � x0j : (2.5)

Hasonloan kimutathato hogy:

jxn � x�j �q

1� q jxn � xn�1j ; n � 1: (2.6)

Example 2

Az x3 + 12x � 1 = 0 egyenletet aminek a gyoke a [0; 1] interval-

lumba esik atirhatjuk tobbfele keppen: x = 1�x312; x = 3

p1� 12x;

vagy x = 1x2+12

: Az elso esetben ' (x) = 1�x312, ' : [0; 1] ! [0; 1] ;

j'0 (x)j =����3x212

��� � 312) j'0 (x)j < 1, a masodik esetben pedig

a ' (x) = 3p1� 12x fuggvenyre nem ervenyes j'0 (x)j < 1: Ha az

utolso esetet vesszuk �gyelembe akkor ' (x) = 1x2+12

; ' : [0; 1] !

[0; 1] ; j'0 (x)j = 2x(x2+12)2

� 2169

) j'0 (x)j < 1: A harmadik eset-

ben q = 2169: Kezdoerteknek vesszuk x0 = 0 =) x1 = ' (x0) =

112;

x2 = ' (x1) =1441729

: Ha elore meg van adva a hibakorlat " = 10�4

23

Page 30: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

akkor (2.5)-ben kikotjuk jxn � x�j � qn

1�q jx1 � x0j < " =) n = 2

vagyis x2 megkozeliti a gyokot a kivant pontossaggal.

13. Megjegyzés. A j'0 (x)j < 1 egy eleg szigoru kikotes ezert ha ez nem teljesul ku-

lonbozo csereket eszkozolunk hogy ez megvalosuljon. Peldaul ha 0 < m � f 0 (x) � M

akkor az f (x) = 0 egyenlet ekvivalens az x = x� 1Mf (x) egyenlettel, tehat ha ' (x) =

x� 1Mf (x) akkor 0 � '0 (x) = 1� f 0(x)

M� 1� m

M< 1:

14. Megjegyzés. Az ismertett modszereknel az iteralo ' fuggveny a kovetkezo: New-

ton modszer ' (x) = x � f(x)f 0(x) , Ste¤ensen modszer ' (x) = x � f2(x)

f(x+f(x))�f(x) , a szelo

modszer ' (x; y) = yf(x)�xf(y)f(x)�f(y) stb.

Mivel a fokozatos kozelitesek modszeret nem csak R terben alkalmazzuk, a

tovabbiakban ismertetjuk a fenti tetel altalanositasat metrikus terekben.

Banach-fele �xpont tetel metrikus terekben. Legyen X egy tetszoleges halmaz.

15. De�níció. Azt mondjuk hogy a � : X � X ! R lekepzes egy metrikat alkot ha

teljesulnek a kovetkezo kikotesek 8x; y; z 2 X:

� � (x; y) � 0;es � (x; y) = 0 , x = y;

� � (x; y) = � (y; x) ;

� � (x; z) � � (x; y) + � (y; z) :

24

Page 31: numerikus modszerek

FEJEZET 2 � MANUSCRIPT

A (X; �) parost metrikus ternek nevezzuk.

Example 3

Peldaul (R; j�j)metrikus teret valos euklideszi ternek nevezzuk � (x; y) =

jx� yj :

Legyen (X; �) egy metrikus ter es (xn)n egy sorozat az X halmazban.

16. De�níció. Az (xn)n sorozatot Cauchy (fundamentalis) sorozatnak nevezzuk ha:

8" > 0 9n" 2 N u:h: � (xn; xn+p) < "; 8n � n"; 8p 2 N:

Ismert hogy minden konvergens sorozat Cauchy sorozat, forditva viszont

nem. Azokat a (metrikus) tereket amelyre a forditottja is ervenyes teljes (metrikus)

ternek nevezzuk.

17. De�níció. Az ' : X ! X függvényt kontrakciónak nevezzük ha:

9q 2 [0; 1) u:h: 8x; y 2 X =) � (' (x) ; ' (y)) � q� (x; y) :

18. Tétel. Legyen (X; �) egy teljes metrikus tér és ' : X ! X egy kontrakció. Akkor

'-nek egyetlenegy x� 2 X �xpontja van: ' (x�) = x�:

Proof. A bizonyítás azonos a (R; j�j) térben alkalmazott módszerrel. A j'0 (x)j < 1

kikötés garantálja hogy ' kontrakció.

25

Page 32: numerikus modszerek

3. fejezet

Algebrai egyenletek numerikus

megoldása

3.1. Polinomok alakjai

Bármely n-ed fokú pn 2 Pn polinom felírható kanonikus alakban:

pn (x) = anxn + an�1x

n�1 + :::+ a1x+ a0 =

nXi=0

aixi; (3.1)

ami azt jelenti hogy a (1; x; :::; xn�1; xn) polinom-rendszer egy bázist alkot, vagyis a

tagok lineárisan függetlenek.

Különböz½o okokból indokolt más alakban is felírni a polinomokat. Egy ilyen

alak az úgynevezett Bézier-féle polinom alak.

26

Page 33: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

19. De�níció. A Bernstein-féle alap-polinomokat a következ½oképpen értelmezük:

bni (x) =

�n

i

�xi (1� x)n�i ; i = 0; :::; n; x 2 [0; 1] : (3.2)

20. Megjegyzés. Az [0; 1] intervallum nem jelent megszoritást mivel az

x =y � ab� a

változócserével az [a; b] 3 y intervallum átalakítható [0; 1] intervallumá.

21. Tétel. A bni polinomokra a következ½o rekurrens képlet igaz:

bni (x) = (1� x) bn�1i (x) + xbn�1i�1 (x) ; i = 1; :::; n� 1 (3.3)

bn0 (x) = (1� x) bn�10 (x) ; bnn (x) = xbn�1n�1 (x) :

Proof. Az értelmezést felhasználva kapjuk, hogy:

bn0 (x) =

�n

0

�x0 (1� x)n = (1� x)

�n� 10

�x0 (1� x)n�1 = (1� x) bn�10 (x) :

Hasonlóan bnn (x) = xbn�1n�1 (x) :

Ha i = 1; :::; n� 1 felhasználva a kombinaciók rekurzív képletet kapjuk:

bni (x) =

�n

i

�xi (1� x)n�i =

��n� 1i

�+

�n� 1i� 1

��xi (1� x)n�i =

= (1� x)�n� 1i

�xi (1� x)n�i�1 + x

�n� 1i� 1

�xi�1 (1� x)n�i =

= (1� x) bn�1i (x) + xbn�1i�1 (x)

27

Page 34: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

22. Tétel. A bn0 ; bn1 ; :::; b

nn polinomok lineárisan függetlenek.

Proof. Legyen c0; c1; :::; cn 2 R ú.,h.:

c0bn0 (x) + c1b

n1 (x) + :::+ cnb

nn (x) = 0 ; x 2 [0; 1] : (3.4)

Ha n = 0 akkor c0b00 (x) = 0 és mivel (3.2)-bol b00 (x) = 1 azt kapjuk hogy c0 = 0:

Legyen n � 1: Ha x = 0 (3.4)-ból azt kapjuk, hogy c0 = 0 ; hasonlóan x = 1-re

cn = 0: =) c1�n1

�x1 (1� x)n�1+ c2

�n2

�x2 (1� x)n�2 :::+ cn�1

�nn�1�xn�1 (1� x) = 0 ; x 2

[0; 1] :

Újból x = 0-ra c1 = 0; míg x = 1-re cn�1 = 0 stb.=) ci = 0; i = 0; :::; n

tehát bni lineárisan függetlenek.

A fenti tételb½ol következik, hogy a (bn0 ; bn1 ; :::; b

nn) rendszer egy bázist alkot a

Pn térben, tehát bármilyen p 2 Pn polinomot egyértelm½uen fel lehet írni a bni polinomok

lineáris kombinációjáként:

p = c0bn0 + c1b

n1 + :::cnb

nn =

nXi=0

cibni : (3.5)

A fenti alakot Bézier-féle alaknak nevezzük, ci pedig a p polinom Bézier együtthatói.

n = 3-ra a harmadfokú alap-polinomok: (1� x)3 ; 3x (1� x)2 ; 3x2 (1� x) ; x3,

egy harmadfokú polinom Bézier-féle alakja:

p (x) = c0 (1� x)3 + c13x (1� x)2 + c23x2 (1� x) + c3x3: (3.6)

Example 1

28

Page 35: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

Legyen p 2 P3; p (x) = 4x3 � 3x: =) c0 = p (0) = 0; c3 = p (1) = 1:

Innen kapjuk, hogy

p (x) = c13x (1� x)2 + c23x2 (1� x) + x3

majd a c1; c2 tagokat tartalmazó egyenletrendszert megoldva kapjuk

c1 = �1; c2 = �2:

A Bézier-féle alakban lév½o polinom deriváltját a következ½o képlet adja meg:

p0 (x) = nn�1Xi=0

(ci+1 � ci) bn�1i (x) :

Proof. nXi=0

cibni (x)

!0=

nXi=0

ci (bni (x))

0 =nXi=0

ci

�n

i

�hxi (1� x)n�i

i0=

nXi=0

ci

�n

i

�hixi�1 (1� x)n�i � (n� i)xi (1� x)n�i�1

i=

nXi=1

cin!

i! (n� i)!ixi�1 (1� x)n�i �

n�1Xi=0

cin!

i! (n� i)! (n� i)xi (1� x)n�i�1 =

nXi=1

cin(n� 1)!

(i� 1)! (n� i)!xi�1 (1� x)n�i �

n�1Xi=0

cin(n� 1)!

i! (n� i� 1)!xi (1� x)n�i�1 =

n

nXi=1

ci

�n� 1i� 1

�xi�1 (1� x)n�i �

n�1Xi=0

ci

�n� 1i

�xi (1� x)n�i�1

!=i�1=j

n

n�1Xj=0

cj+1bn�1j (x)�

n�1Xi=0

cibn�1i (x)

!= n

n�1Xi=0

(ci+1 � ci) bn�1i (x) :

29

Page 36: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

Igényekt½ol függ½oen más polinom alakról is beszélhetünk, például Lagrange,

Hermite, Csebysev, Legendre stb. polinomokról.

3.2. A Horner, illetve de Casteljau elrendezés

Adott polinomra fontos meghatározni minél pontosabban a polinom értékét bizonyos

pontokban. Erre szolgál a Horner séma ha a polinom kanonikus alakban van megadva.

Legyen p (x) = a0 + a1x+ :::+ anxn egy polinom, illetve egy t 2 R: A p (t) =

a0 + a1t+ :::+ an�1tn�1 + ant

n értéket a következ½o rekurzív képlettel számítjuk ki:

p (t) = a0 + t (a1 + :::t (an�1 + tan)) : (3.7)

Gyakorlatban a fenti Horner elrendezés a következ½oképpen valósul meg:

qn = an; (3.8)

qn�1 = an�1 + tqn;

:::

q0 = a0 + tq1;

legvég½ul p (t) = q0:

30

Page 37: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

A Horner elrendezést táblázatba is lehet írni:

an an�1 an�2 ... a1 a0

t an ant+ an�1 (an + tan�1) t+ an�2 ... a1 + ::: p (t)

;

természetesen ha p (t) = 0 akkor t gyöke a polinom függvénynek.

Felhasználva a polinomok maradékkal való osztási képletét felírhatjuk:

p (x) = (x� t) q (x) + r; ahol r az osztási maradék =) p (t) = r:

Example 2

Legyen p (x) = 4x3 � 3x és t = 1=4: =)

4 0 �3 0

1=4 4 1 �11=4 �11=16

Tehát p (1=4) = �11=16:

A de Casteljau elrendezés ugyanazt a célt szolgálja mint a Horner elrendezés,

csak a Bézier alakban felírt polinomok esetében használjuk.

Legyen

p (x) = c0bn0 (x) + c1b

n1 (x) + :::cnb

nn (x) =

nXi=0

cibni (x)

egy Bézier alakban felírt polinom. Akkor felhasználva a (3.3) rekurzív képleteket

31

Page 38: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

következik, hogy:

p (t) = c0bn0 (t) + c1b

n1 (t) + :::+ cn�1b

nn�1 (t) + cnb

nn (t) =

= c0 (1� t) bn�10 (t) + c1�(1� t) bn�11 (t) + tbn�10 (t)

�+ :::+

+cn�1�(1� t) bn�1n�1 (t) + tb

n�2n�1 (t)

�+ cntb

n�1n�1 (t) =

((1� t) c0 + tc1) bn�10 (t) + ((1� t) c1 + tc2) bn�11 (t) + :::+ ((1� t) cn�1 + tcn) bn�1n�1 (t) :

Jelöljük az új együtthatókat:

c(1)i : = (1� t) ci + tci+1; i = 0; :::; n� 1 =)

p (t) =n�1Xi=0

c(1)i b

n�1i (x) : (3.9)

Megismételve az eljárást:

c(2)i : = (1� t) c(1)i + tc

(1)i+1; i = 0; :::; n� 2 =)

p (t) =n�2Xi=0

c(2)i b

n�2i (x) ;

és az utolsó iterációban:

c(n)0 : = (1� t) c(n�1)0 + tc

(n�1)1 =)

p (t) = c(n)0 :

Tehát, kezdve az el½ozetes együtthatókkal:

c(0)i := ci; i = 0; :::; n

32

Page 39: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

kiszámítjuk a lineáris kombinációkat:

c(k)i := (1� t) c(k�1)i + tc

(k�1)i+1 ; i = 0; :::; n� k; (3.10)

az utolsó érték adja meg a p (t) értékét.

Gyakorlatban az adatokat a következ½o táblázat szerint rendezzük:

c(0)0

c(0)1 c

(1)0

c(0)2 c

(1)1 c

(2)0

... ... ...

c(0)n c

(1)n�1 c

(2)n�2 ... c

(n)0

Az els½o oszlop tartalmazza a p polinom eredeti együtthatóitt, a második oszlop pedig

a (3.10) képlet szerint vannak kiszámítva k = 1-re. A táblázat jobb-alsó sarkában lév½o

c(n)0 érték adja a p (t) értéket.

Example 3

Legyen p az el½obbi peldából p 2 P3; és a Bézier együtthatók: c0 =

0; c1 = �1; c2 = �2; c3 = 1: A polinom értéke t = 1=4-ben a

33

Page 40: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

következ½o:

0

�1 -14

�2 -54-12

1 -54-54-1116

Tehát p (1=4) = �11=16:

3.3. Algebrai egyenlet megoldása Horner-Ru¢ ni mód-

szerrel

A H.-R.módszer egy algebrai egyenlet valós gyökeinek a meghatarozására szolgál. En-

nek érdekében alkalmazzuk a Newton-féle módszert kihasználva a polinomok tulajdon-

ságait.

Tekintsük a következ½o algebrai egyenletet:

pn (x) = anxn + an�1x

n�1 + :::+ a1x+ a0 = 0:

Felhasználjuk a Newton módszerb½ol ismert iteráló sorozatot:

xi+1 = xi �pn (xi)

p0n (xi); i � 0

ahol kezdeti értéknek fel lehet használni például az x0 = 0; vagy x0 = �a0a1: A pn (xi)

34

Page 41: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

értéknek a meghatározására a Horner sémát fogjuk használni:

pn (xi) = a0 + xi (a1 + :::xi (an�1 + xian)) :

A polinomokra vonatkozó maradékos osztás tétele szerint:

pn (x) = (x� xi) pn�1 (x) +R; (3.11)

ahol pn�1 2 Pn�1és R = pn (xi) az (x� xi)-val osztási maradék. Jelöljük

pn�1 (x) := bn�1xn�1 + bn�2x

n�2 + :::+ b1x+ b0:

Mint ismeretes a bj; j = 0; :::; n�1 együtthatók kiszámíthatóak a (3.8) Horner sémából

:

bn�1 = an

bn�j = an�j+1 + xibn�j+1; j = 2; :::; n:

Deriválva a (3.11) képletet kapjuk hogy:

p0n (x) = (x� xi) p0n�1 (x) + pn�1 (x)

ahonnan:

p0n (xi) = pn�1 (xi) : (3.12)

an an�1 an�2 ::: a1 a0

xi an anxi + an�1

bn�1 bn�2 b0

35

Page 42: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

A pn�1 (xi) érték kiszámításához újból felhasználjuk a Horner sémát a bj

együtthatókra:

pn�1 (xi) = b0 + xi (b1 + :::+ xi (bn�2 + xibn�1)) :

Az eljárást abbahagyjuk ha a kapott gyök elég pontos, vagyis két egymásutáni gyök elég

közel esik egymáshoz. Ha meghatároztuk az egyik gyököt (�) elosztjuk a pn polinomot

(x� �)-val es a kapott n � 1-ed fokú polinomra újból alkalmazzuk a H-R módszert.

Legvégül másodfokú polinomot kapunk aminek meghatározzuk a gyökeit.

Example 4

Határozzuk meg az alábbi egyenlet valós gyökeit (x0 = 0):

x4 � 10x3 + 35x2 � 50x+ 24 = 0:

36

Page 43: numerikus modszerek

FEJEZET 3 � MANUSCRIPT

x1 = x0 �p4 (0)

p04 (0)

= 0 +24

50= 0:48; jx1 � x0j = 0:48

1 �10 35 �50 24

0 1 �10 35 �50 24

0 1 �10 35 �50

x2 = x1 �p4 (0:48)

p04 (0:48)= 0:48� 7:011

�22:869 = 0:78; jx2 � x1j = 0:3 :::

1 �10 35 �50 24

0:48 1 �9:52 30:43 �35:39 7:011

0:48 1 �9:04 26:09 �22:869

:

37

Page 44: numerikus modszerek

4. fejezet

Egyenletrendszerek numerikus

megoldása

4.1. Mátrix és vektor norma

Gyakran szükséges két (vagy több) azonos típusú mátrix összehasonlítása. Mivel tagonkénti

való összehasonlítása a legtöbbször lehetetlen, a mátrixok normájához folyamodunk.

23. De�níció. Egy A = (aij) mátrix jjAjj normája alatt a következ½o feltételeket kielégít½o

valós számot értjük:

1. jjAjj � 0 es jjAjj = 0 () A = 0;

2. jjcAjj = jcj jjAjj (tetsz½oleges c számra);

3. jjA+Bjj � jjAjj+ jjBjj.

38

Page 45: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

Tetsz½oleges típusú A mátrix leggyakrabban használt normái:

1. jjAjj1 = maxi

Xj

jaijj

2. jjAjj1 = maxj

Xi

jaijj

3. jjAjj2 =

sXi;j

jaijj2:

Example 1

Legyen A =

0BB@ 2 �6

4 1

1CCA : Akkor jjAjj1 = 7; jjAjj1 = 8; jjAjj2 =

p57:

Az 1., 2., 3.-as mátrix normákhoz hasonlóan értelmezünk egy v =

0BBBBBBBBBB@

v1

v2

...

vn

1CCCCCCCCCCAvektor normáját:

1. jjvjj1 = maxijvij

2. jjvjj1 =nXj=1

jvjj

3. jjvjj2 =

vuut nXj=1

jvjj2 :

39

Page 46: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

Example 2

Ha v = (1 2 � 3)T akkor jjvjj1 = 3; jjvjj1 = 6; jjvjj2 =p14:

24. Tétel. Ha egy x vektor normája egy A mátrix normájából származik akkor:

jjAxjj � jjAjj � jjxjj :

4.2. Egyenletrendszerek Newton-Raphson-féle megoldása

A következ½okben 8>><>>:f (x; y) = 0

g (x; y) = 0

(4.1)

típusú egyenletrendszerek megoldását mutatjuk be, majd ezeknek az általánosítását.

Legyen (x0; y0)T a (4.1) egyenletrendszer egy kezdeti, közelít½o megoldása. A

(4.1) képletbe, a Taylor képletet felhasználva, sorba fejtjük az f; g függvényeket a

lineáris tagokkal bezárólag:8>><>>:f (x; y) = f (x0; y0) + (x� x0) @f

@x(x0; y0) + (y � y0) @f

@y(x0; y0) = 0

g (x; y) = g (x0; y0) + (x� x0) @g@x(x0; y0) + (y � y0) @g

@y(x0; y0) = 0

:

() 8>><>>:(x� x0) @f

@x(x0; y0) + (y � y0) @f

@y(x0; y0) = �f (x0; y0)

(x� x0) @g@x(x0; y0) + (y � y0) @g

@y(x0; y0) = �g (x0; y0)

40

Page 47: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

vagy mátrix alakban:0BB@ @f@x

@f@y

@g@x

@g@y

1CCA(x0;y0)

0BB@ x� x0

y � y0

1CCA =

0BB@ �f

�g

1CCA(x0;y0)

: (4.2)

Ha a Jacobi-féle mátrix

0BB@ @f@x

@f@y

@g@x

@g@y

1CCA(x0;y0)

=: J (x0; y0) nem szinguláris az (x0; y0)T

pontban: det J (x0; y0) =�@f@x

@g@y� @g

@x@f@y

�(x0;y0)

6= 0 akkor a (4.2) egyenletrendszer

megoldása: �x

y

�=

�x0

y0

�� J�1(x0;y0)

�f

g

�(x0;y0)

: (4.3)

A (4.3) egyenletb½ol mehatározzuk a (4.1) egyenletrendszer megoldásának a következ½o

(x1; y1)T megközelítését:

�x1

y1

�=

�x0

y0

�� J�1(x0;y0)

�f

g

�(x0;y0)

: (4.4)

Hasonlóan a k+1-edik lépésben az�xk+1; yk+1

�közelít½o megoldást a következ½o rekurrens

képlet szerint számítjuk ki:

�xk+1

yk+1

�=

�xk

yk

�� J�1

(xk;yk)

�f

g

�(xk;yk)

; (4.5)

ahol det J�xk; yk

�6= 0:

Example 3

ANewton-Raphson módszert használva oldjuk meg a következ½o egyen-

41

Page 48: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

letrendszert: 8>><>>:f (x; y) = x3 + y3 � 6x+ 3 = 0

g (x; y) = x3 � y3 � 6y + 2 = 0:

Legyen (x0; y0)T = (0; 0)T egy kezdeti megoldás.=) f (0; 0) = 3;

g (0; 0) = 2;

J�x0; y0

�=

0BB@ 3x2 � 6 3y2

3x2 �3y2 � 6

1CCA(0;0)

=

0BB@ �6 0

0 �6

1CCA

és a Jacobi mátrix inverze: J�1 (x0; y0) =

0BB@ �1=6 0

0 �1=6

1CCA : Akkor(4.4)-nek megfelel½oen kapjuk a következ½o megközelítést:

�x1

y1

�=

�0

0

��

0BB@ �1=6 0

0 �1=6

1CCA�32�=

�0:5

0:33

�:

Az eljárást addig folytatjuk amíg a kívánt pontosságot elértük.

Az eljárás könnyen általánosítható ha a (4.1) egyenletrendszert átírjuk a következ½o

alakban: 8>><>>:f1 (x1; x2) = 0

f2 (x1; x2) = 0

(4.6)

és bevezetjük a következ½o jelöléseket:

x =

0BB@ x1

x2

1CCA ; f (x) =0BB@ f1 (x1; x2)

f2 (x1; x2)

1CCA :42

Page 49: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

Akkor (4.6) , f (x) = 0: Az eljárás hasonló és a (4.2)-el hasonlóan kapjuk:

J�xk���x = �f

�xk�

(4.7)

ahol J =

0BB@ @f1@x1

@f1@x2

@f2@x1

@f2@x2

1CCA a Jacobi-fele matrix, xk=

0BB@ xk1

xk2

1CCA az k-dik lépésben kapott

megoldás, �x = xk+1 � xk, pedig az k-dik lépésben elvégzett korrekció.

Ha a Jacobi mátrix nem szinguláris: det J 6= 0, akkor létezik az inveze J�1 és

a (4.7)-b½ol azt kapjuk, hogy:

�x = xk+1 � xk = ��J�xk���1

f�xk�;

vagyis:

xk+1 = xk ��J�xk���1

f�xk�: (4.8)

Az eljárást folytatjuk míg az abszolút:����xk+1 � xk���� ; vagy a relatív hiba: jjxk+1�xkjjjjxkjj

elég kicsi (� �).

25. Megjegyzés. A (4.8) képlet az egyváltozós Newton képlet általánosítása�J�xk���1

=�f 0�xk���1

= 1=f 0�xk�.

A (4.8) képlet alkalmazható bármilyen méret½u (négyzetes) egyenletrendszerre.

Az egyenletrendszer lehet kompatibilis egy vagy több megoldással, vagy inkom-

patibilis.

A módszer konvergenciájának az elemzésére bonyolult matematikai elmélet

létezik, a gyakorlat mégis azt mutatja hogy általában a módszer konvergál. A kon-

43

Page 50: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

vergencia a gyök közelében négyzetes. A módszer hátránya, hogy a Jacobi mátrixot

minden lápásnel újra kell értékelni. A módszer egzszer½usítése érdekében megtehetjük

hogy a Jacobi mátrixot csak minden r-edik lépés utan értékeljük újra (egyszer½usített

módszer). A parciális deriváltak kiszamítására használhatjuk a véges di¤erenciákat:

@fi@xj

(xr) =fi�xr1; :::; x

rj + h; :::; x

rm

�� fi

�xr1; :::; x

rj ; :::; x

rm

�h

ahol h zéróhoz közeli érték.

ALKALMAZÁS. A módszert alkalmazhatjuk többváltozós függvények op-

timum keresésére.

Legyen h : Rm �! R egy többváltozós függvény aminek ki kell számítani a

minimumát:

minh (x)

ahol x = (x1; x2; :::; xm) 2 Rm: A stacionárius pontokat a gradh (x) = 0 egyenletrend-

szerb½ol kapjuk meg, vagyis:8>>>>>>>>>><>>>>>>>>>>:

@h@x1(x1; x2; :::; xm) := f1 (x1; x2; :::; xm) = 0

@h@x2(x1; x2; :::; xm) := f2 (x1; x2; :::; xm) = 0

...

@h@xm

(x1; x2; :::; xm) := fm (x1; x2; :::; xm) = 0

Az egyenletrendszer megoldásához alkalmazhatjuk a Newton-Raphson módszert. A

44

Page 51: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

fenti egyenletrendszer Jacobi mátrixa nem más mint a h függvény Hesse-féle mátrixa:�@2h

@xi@xj(x)

�:

4.3. A fokozatos közelítések módszere

Újból a (4.1) rendszert megoldásával foglalkozunk. Az egyenletrendszert átírjuk a

következ½o alakra: 8>><>>:x = F (x; y)

y = G (x; y)

: (4.9)

Legyen az értelmezési tartomany az = f(x; y) 2 R2 j a � x � b; c � y � dg =

[a; b]� [c; d] téglalap, úgy, hogy (F (x; y) ; G (x; y)) 2 ; 8 (x; y) 2 :

Értelmezzük a ' : ! függvényt a következ½oképpen:

' (x; y) = (F (x; y) ; G (x; y)) : (4.10)

Ekkor a (4.9) egyenletrendszer ekvivalens a következ½ovel:

' (x; y) = (x; y) ; (4.11)

vagyis a feladat visszavezethet½o a ' függvény �xpontjainak a meghatározására. Ennek

érdekében vizsgálnunk kell milyen feltételek mellett teljesülnek a Banach-féle �xpont

tétel kikötései.

Értelmezzük az halmazra a következ½o metrikát � : ! ;

� ((x; y) ; (z; t)) = jj(x; y)� (z; t)jj1 = maxfjx� zj ; jy � tjg:

45

Page 52: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

Feltételezzük hogy létezik q < 1 úgy, hogy:��������@F@x��������+ ��������@F@y

�������� � q; ��������@G@x��������+ ��������@G@y

�������� � q; (4.12)

ahol jj�jj egy függvény sup-normáját jelöli: jjf jj = sup(x;y) jf (x; y)j :

26. Tétel. A (; �) teljes metrikus téren értelmezett ' függvény kontrakció.

Proof. � (' (x; y) ; ' (z; t)) �? q � � ((x; y) ; (z; t)) :

� (' (x; y) ; ' (z; t)) = � ((F (x; y) ; G (x; y)) ; (F (z; t) ; G (z; t))) =

=max fjF (x; y)� F (z; t)j ; jG (x; y)�G (z; t)jg =kozeperttetel =

=maxf���@F@x (u1; v1) (x� z) + @F

@y(u1; v1) (y � t)

��� ; ���@G@x (u2; v2) (x� z) + @G@y(u2; v2) (y � t)

���g� maxf

����@F@x

���� jx� zj+ ������@F@y ������ jy � tj ; ����@G@x ���� jx� zj+ ������@G@y ������ jy � tjg �� maxf

����@F@x

����+ ������@F@y ������ ; ����@G@x ����+ ������@G@y ������gmaxfjx� zj ; jy � tjg � q � � ((x; y) ; (z; t)) :A Banach-féle �xpont tételb½ol következik, hogy a (4.11) egyenletnek egyetlen

megoldása van, amit a következ½o képpen szerkesztünk meg: kiindulunk egy (x0; y0) 2

közelít½o megoldásból, majd rendre megszerkesztjük a

�xk+1; yk+1

�= '

�xk; yk

�; k � 0

megoldásokat, vagyis �gyelembe véve (4.10):8>><>>:xk+1 = F

�xk; yk

�yk+1 = G

�xk; yk

� k � 0:

46

Page 53: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

Az eljárást folytatjuk mindaddig amíg a kapott megoldás elég pontosnak bizonyul.

Example 4

Alkalmazzuk a fokozatos közelítések módszert az el½obbi példa es-

etében: 8>><>>:x3 + y3 � 6x+ 3 = 0

x3 � y3 � 6y + 2 = 0

Az egyenletrendszert atírjuk a következ½o alakra:8>><>>:x = x3+y3

6+ 1

2

y = x3�y36

+ 13

majd leellen½orizzük a feltételeket ahol F (x; y) = x3+y3

6+12; G (x; y) =

x3�y36

+ 13: Ha 0 � x � 1; 0 � y � 1 akkor 1=2 � F (x; y) �

5=6; 1=6 � G (x; y) � 1=2; legyen tehát = [1=2; 5=6] � [1=6; 1=2]

és ' : ! ; ' (x; y) =�x3+y3

6+ 1

2; x

3�y36

+ 13

�:

@F@x= x2

2; @F@y= y2

2=)

����@F@x

���� = 2572;������@F@y ������ = 1

8

@G@x= x2

2; @G@y= �y2

2=)

����@G@x

���� = 2572;������@G@y ������ = 1

8=)

q = 2572+ 1

8= 34

72:

Tehát 8 (x0; y0) 2 a 8>><>>:xk+1 =

x3k+y3k

6+ 1

2

yk+1 =x3k�y3k6

+ 13

47

Page 54: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

rekurzív sorozat a (x�; y�) 2 párhoz, az adott egyenletrendszer

egyetlen megoldásához konvergál. (x0; y0) = (1=2; 1=2) =) (x1; y1) =

(0:542; 0:333) :::

Általánosan, ha ismert egy kezdeti (x01; x02; :::; x

0m)megoldás, akkor a következ½o

megoldás az alábbi képletekkel számítjuk ki:

x11 = F1�x01; x

02; :::; x

0m

�x12 = F2

�x01; x

02; :::; x

0m

�:::::

x1m = Fm�x01; x

02; :::; x

0m

�az k + 1-edik lépésben pedig:

xk+1j = Fj�xk1; x

k2; :::; x

km

�; j = 1; :::;m: (4.13)

A (4.13) képletben, az k+1-edik lépésnel kiszámítandó megoldás csak az k-dik

iterációban kiszámított megoldásoktól függ. A módszer gyorsítható, ha az k + 1-edik

48

Page 55: numerikus modszerek

FEJEZET 4 � MANUSCRIPT

lépésnél �gyelembe vesszük a már kiszámított megoldásokat (Seidel-féle eljárás):

x11 = F1�x01; x

02; :::; x

0m

�x12 = F2

�x11; x

02; :::; x

0m

�:::::

x1m = Fm�x11; x

12; :::; x

0m

�összevont írással:

xk+1j = Fj�xk+11 ; xk+12 ; :::; xk+1j�1 ; x

kj ; :::; x

km

�; j = 1; :::;m:

49

Page 56: numerikus modszerek

5. fejezet

Lineáris egyenletrendszerek

numerikus megoldása

Cramer det n! 100! = 10157:9 ...N.Sz.Bahvalov-A gepi matematika numerikus modszerei

Pontos módszerek: ismeretlenek szama<103;Gauss, faktorizacios modszerek(LU,LLt,QR);

Iteracios m.: 103 <ism< 106 Jacobi, Seidel;

Valoszín½uségi m.: 106 <ism: Monte Carlo.

50

Page 57: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

5.1. Sajátos alakú egyenterendszerek

5.2. Gauss módszer

5.3. LU faktorizáció

5.4. Jacobi, Seidel-féle iterációs módszerek

5.5. A legkisebb négyzetek módszere túlhatározott

lineáris egyenletrendszerek esetében

A gyakorlatban megesik hogy olyan lineáris egyenletrendszereket kell megoldani aminek

több (vagy kevesebb) egyenlete van mint ismeretlenje. Például ha egy bizonyos n számú

paraméter meghatározására n-nél több kisérletet végzünk a keletkez½o egyenletrendszer

nem lesz négyzetes. Gyakran válik ilyen esetben az egyenletrendszer összeférhetetlené,

annak ellenére hogy a paraméterek léteznek. Ennek egyik oka lehet például a kisér-

leteknek hibás végzése, leolvasása.

51

Page 58: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

Egy

Ax = b (5.1)

A = (aij)i=1;mj=1;n

; x = (x1 x2 ::: xn)t ; b = (b1 b2 ::: bm)

t

egyenletrendszer½ol azt mondjuk hogy túlhatározott ha n > m:

Example 18>>>>>><>>>>>>:x1 + x2 = 2

x1 + 2x2 = 3

2x1 + x2 = 4

Az egyenletrendszernek nincs megoldása.

A feladat megoldása érdekében vezessük be a következ½o r 2 Rm (maradék)

vektort:

r = Ax� b (5.2)

Ekkor a (5.1) egyenletrendszernek akkor van (klasszikus értelemben vett) megoldása

ha r = �Rm : Ha r 6= �Rm akkor az adott egyenletrendszer összeférhetetlen és ebben

az esetben keressük a megoldást a legkisebb négyzetek módszere szerint vagyis, az x

vektort úgy határozzuk meg hogy az r vektor normája minimális legyen:

jjrjj = jjAx� bjj �! min : (5.3)

27. De�níció. Azt az x vektort ami eleget tesz a (5.3) kikötésnek az egyenletrendszer

legkisebb négyzetek szerinti megoldásának nevezzük.

52

Page 59: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

28. Summary. Természetesen ha minjjrjj = 0 akkor visszakapjuk a klasszikus értelem-

ben vett megoldást.

Ha a 2-es típusú normát használjuk akkor a (5.3) kikötés ekvivalens a következ½ovel:

(jjAx� bjj2)2 =

0@����������nXj=1

aijxj � bi

����������2

1A2

=mXi=1

nXj=1

aijxj � bi

!2�! min :

Jelöljük f -el a következ½o függvényt f : Rn ! R

f (x) =mXi=1

nXj=1

aijxj � bi

!2

Ahhoz hogy az f -nek a minimumát meghatározzuk kiszámítjuk a stacionárius pontjait:

@f

@xk=

mXi=1

2

nXj=1

aijxj � bi

!aik = 0; k = 1; :::; n

,mXi=1

aik

nXj=1

aijxj � bi

!= 0; k = 1; :::; n:

ami átírva mátrix alakra:

At (Ax� b) = �Rm

vagy:

AtAx = Atb: (5.4)

Tehát, az (5.1) egyenletrendszer legkisebb négyzetek szerinti megoldása meg-

egyezik a (5.4) egyenletrendszer klasszikus értelemben vett megoldásával.

53

Page 60: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

29. Tétel. Az (5.4) lineáris egyenletrendszer megoldására lesz az

jjrjj2 = jjAx� bjj2

kifejezés minimális.

Proof. Jelöljük

rx = b� Ax

ry = b� Ay

)

jjryjj � jjrxjj :

ry = b� Ay = b� Ax+ Ax� y = rx + A (x� y)

rty = rtx + (x� y)tAt

rtyry =�rtx + (x� y)

tAt�(rx + A (x� y)) =

rtxrx + (x� y)tAtrx + r

txA (x� y) + (x� y)

tAtA (x� y) =

rtxrx + (x� y)tAtA (x� y) (5.5)

mert

Atrx = At (b� Ax) = �

54

Page 61: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

es

rtxA =�Atrx

�t= �:

Mivel

rtyry = jjryjj22

a (5.5)-ból következik hogy:

jjryjj22 = jjrxjj22 + jjA (x� y)jj

22 � jjrxjj

22 :

Example 2

Az el½obbi példát felhasználva, keressük az (5.4) egyenletrendszer

megoldását:

0BB@ 1 1 2

1 2 1

1CCA0BBBBBB@1 1

1 2

2 1

1CCCCCCA0BB@ x1

x2

1CCA =

0BB@ 1 1 2

1 2 1

1CCA0BBBBBB@2

3

4

1CCCCCCA, 0BB@ 6 5

5 6

1CCA0BB@ x1

x2

1CCA =

0BB@ 13

12

1CCA, 0BB@ x1

x2

1CCA =

0BB@ 1811

711

1CCATehát x1 = 18=11; x2 = 7=11 az egyenletrendszer legkisebb né-

gyzetek módszerének megfelel½o megoldása.

55

Page 62: numerikus modszerek

FEJEZET 5 � MANUSCRIPT

56

Page 63: numerikus modszerek

6. fejezet

Függvény approximáció,

interpoláció

6.1. Analítikus függvények numerikus kiszámítása

Legyen f : [a; b]! R egy végtelenszer deriválható függvény, és x0 2 (a; b).

30. De�níció. Az f függvényt analítikusnak nevezzük ha hatványsorként el½oállítható:

f (x) = f (x0)+1

1!f 0 (x0) (x� x0)+

1

2!f 00 (x0) (x� x0)2+ :::+

1

n!f (n) (x0) (x� x0)n+ :::

(6.1)

Tehát az f függvény felírható mint egy n-ed fokú polinom: Tn; és a megfelel½o

Rn maradék ½osszegeként:

f (x) = Tn (x) +Rn (x)

57

Page 64: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

ahol

Tn (x) = f (x0) +1

1!f 0 (x0) (x� x0) +

1

2!f 00 (x0) (x� x0)2 + :::+

1

n!f (n) (x0) (x� x0)n

és a maradék tag :

Rn (x) =

���� 1

(n+ 1)!f (n+1) (x0) (x� x0)n+1 + :::

���� :Numerikusan az f függvényt az els½o n+1 taggal, vagyis az n-ed fokú Taylor polinommal

közelítjük meg:

f (x) ' Tn (x) =nXi=0

1

i!f (i) (x0) (x� x0)i :

31. Tétel. Az Rn marék tagot a következ½o ún. Lagrange-féle alakban lehet kifejezni:

Rn (x) =

���� 1

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

���� ; � 2 (x; x0) :Az x0 = 0 pont körüli sorfejtés egy sajátos esete a Taylor kifejtésnek és a

MacLaurin nevet viseli.

Example 1

ex = 1+ 11!x+ 1

2!x2+ :::+ 1

n!xn+ ::: =) ex = 1+ 1

1!x+ 1

2!x2+ :::+ 1

n!xn

és a hiba:

Rn (x) =

���� e�

(n+ 1)!�n+1

���� ; � 2 (0; x0) (vagy � 2 (x0; 0) ):

58

Page 65: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Innen ha x = 1=2 =)pe = 1 + 0:5

1!+ 0:52

2!+ ::: + 0:5n

n!és n-et a

következ½o feltételb½ol számítjuk ki:

Rn (x) =

���� e�

(n+ 1)!�n+1

���� < �; � 2 (0; 1=2)ahol � > 0 egy el½ore megadott pontosság. Felhasználva hogy e 2

(2; 3) a következ½o egyenl½otlenséghez jutunk:���� 3�

(n+ 1)!�n+1

���� < p3

(n+ 1)!

1

2<

1

(n+ 1)!< �:

32. Megjegyzés. A Taylor polinom csak lokálisan, az x0 pont környékén alkalmas

közelítésre.

6.2. Interpoláció

Gyakran történik meg a gyakorlatban hogy bizonyos folyamatokat (csak) diszkrét mérésekkel

lehet elemezni. Például különböz½o x0 < x1 < ::: < xn id½opontokban (nevezzük inter-

polációs alappontoknak vagy osztopontok) a mérések eredményei y0; y1; :::; yn amik nem

másak mint a folyamatot leíró f (ismeretlen) függvény értékei az alappontokban:

y0 = f (x0) ; y1 = f (x1) ; :::; yn = f (xn) :

Interpolációnak nevezzük azt az eljárást amellyel egy olyan F : [x0; xn]! R függvényt

értelmezünk amely megegyezik az alappontokban f -el:

F (xi) = f (xi) = yi; i = 0; :::; n: (6.2)

59

Page 66: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Mértanilag ez azt jelenti hogy olyan meghatarozott tipusú y = F (x) görbét kell keres-

nünk, amely az adott (x0; y0) ; :::; (xn; yn) pontokra illeszkedik.

53.752.51.250

25

12.5

0

­12.5

­25

x

y

x

y

Kézenfekv½o az interpolalo F fuggvenyt polinom (algebrai vagy trigonometrikus),

racionalis fuggveny, stb. alakban keresni.

33. Megjegyzés. Extrapoláció azt az eljarast jelenti amellyel az [x0; xn] intervallumon

kivül próbáljuk az f-et megközelíteni.

6.2.1. Polinomiális interpoláció

Feltételezzük hogy az x0 < x1 < ::: < xn alappontok esetében ismertek a következ½o

adatok:

yi = f (xi) ; i = 0; :::; n:

Az interpoláló F függvényt (algebrai) polinom alakban keressük:

F (x) = anxn + :::+ a1x+ a0;

60

Page 67: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

mivel az ismeretlenek szama = n + 1 a polinom fokszáma kisebb vagy egyenl½o mint n

különben megeshet hogy nem létezik a keresett polinom.

34. Tétel. Ha az interpoláló polinom fokszáma egyenl½o n-el akkor F egyertelm½uen

meghatározott.

Proof. Mivel F interpoláló polinom: F (xi) = yi; i = 0; :::; n =)8>>>>>>>>>><>>>>>>>>>>:

anxn0 + :::+ a1x0 + a0 = y0

anxn1 + :::+ a1x1 + a0 = y1

...

anxnn + :::+ a1xn + a0 = yn

:

Az egyenletrendszer determinansa Vandermonde tipusu:����������������

xn0 xn�10 ::: x0 1

xn1 xn�11 ::: x1 1

:::

xnn xn�1n ::: xn 1

����������������=

Y0�xi<xj�n

(xj � xi) 6= 0

és mivel xi 6= xj a determináns különbözik zerótól, tehát a Cramer tétel szerint az

egyenletrendszer egyertelm½uen meghatározott.

Habár a fenti egyenletrendszer megoldása megadja az F együtthatóit, mégsem

ezt az utat választjuk az F függvény meghatározására.

61

Page 68: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Lagrange-féle interpolációs polinom

Az (x0; y0) ; :::; (xn; yn) pontokat összeköt½o n-ed fokú polinomot jelöljük Lnf -el. Akkor

az interpolációs feltételek a következ½ok:

Lnf (xi) = f (xi) = yi; i = 0; :::; n: (6.3)

A Lnf polinomot a következ½o alakban adjuk meg:

Lnf (x) = y0l0 (x) + y1l1 (x) + :::+ ynln (x)

ahol li (x) ; i = 0; :::; n az úgynevezett n-ed fokú Lagrange-féle alappolinomok. Az

interpoláló (6.3) tulajdonságot felhasználva kapjuk a következ½o egyenletrendszert:8>>>>>>>>>><>>>>>>>>>>:

y0l0 (x0) + y1l1 (x0) + :::+ ynln (x0) = y0

y0l0 (x1) + y1l1 (x1) + :::+ ynln (x1) = y1

...

y0l0 (xn) + y1l1 (xn) + :::+ ynln (xn) = yn

aminek egyetlen megoldása:

l0 (x0) = 1; l1 (x0) = 0; :::; ln (x0) = 0 (6.4)

l0 (x1) = 0; l1 (x1) = 1; :::; ln (x1) = 0

:::

l0 (xn) = 0; l1 (xn) = 0; :::; ln (xn) = 1

62

Page 69: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

vagy �ij Kronecker szimbolumot felhasználva:

li (xj) = �ij =

8>><>>:1; ha i = j

0; ha i 6= j; i; j = 0; :::; n:

A (6.4)-ból következik hogy minden li (x) polinomnak n különböz½o gyöke van, nevezete-

sen: x0; :::; xi�1;xi+1; :::; xn , tehát:

li (x) = ci (x� x0) ::: (x� xi�1) (x� xi+1) ::: (x� xn) :

A ci együttható meghatározható a li (xi) = 1 egyenletb½ol:

ci =1

(xi � x0) ::: (xi � xi�1) (xi � xi+1) ::: (xi � xn); i = 0; :::; n

vagy röviden:

ci =1Q

k 6=i (xi � xk); i = 0; :::; n:

Ennek segítségével felírjuk az alappolinomokat:

li (x) =

Qk 6=i (x� xk)Qk 6=i (xi � xk)

; (6.5)

vagy bevezetve a kovetkezo polinomot: $ (x) = (x� x0) ::: (x� xn) aminek derivaltja

xi-ben:

$0 (xi) = (xi � x0) ::: (xi � xi�1) (xi � xi+1) ::: (xi � xn)

a (6.5) keplet a kovetkezo lesz:

li (x) =$ (x)

(x� xi)$0 (xi):

63

Page 70: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Tehat a Lagrange interpolalo polinom a kovetkezo alakot veszi fel:

Lnf (x) =nXi=0

yi li (x) =

nXi=0

yi$ (x)

(x� xi)$0 (xi): (6.6)

35. Tétel. A (6.6) Lagrange interpolációs polinommal való közelítésb½ol ered½o hiba a

következ½o:

jf (x)� Lnf (x)j =����f (n+1) (c)(n+ 1)!

$ (x)

���� ; c 2 (a; b) : (6.7)

Sajátos esetként megemlíthet½o az n = 1 és n = 2: Az els½o esetben L1f (x)

polinom nem más mind a (x0; y0) ; (x1; y1) pontokat osszeköt½o egyenes egyenlete:

L1f (x) = y0x� x1x0 � x1

+ y1x� x0x1 � x0

; x 2 [x0; x1] :

n = 2-re az (x0; y0) ; (x1; y1) ; (x2; y2) pontokat osszeköt½o parabola egyenlete:

L2f (x) = y0(x� x1) (x� x2)(x0 � x1) (x0 � x2)

+y1(x� x0) (x� x2)(x1 � x0) (x1 � x2)

+y2(x� x0) (x� x1)(x2 � x0) (x2 � x1)

; x 2 [x0; x2] :

36. Megjegyzés. Ha n túl nagy a magas fokú interpolációs polinom miatt a kilengések

is nagyok lesznek, ami a valóságnak a torzításához vezethet. Ezért célszer½u relatív alac-

sony fokú polinommal dolgozni, például úgy, hogy csak egy pár jellegzetes alappontot

valasztunk ki es ezek segítségével epítjük fel a Lagrange-féle polinomot.

Example 2

Határozzuk meg a Lagrange-féle interpoláló polinomot a következ½o

adatok esetében:xi 0 1 4 9

yi 0 1 2 3

.

64

Page 71: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

L3f (x) = y0l0 (x) + y1l1 (x) + y2l2 (x) + y3l3 (x) ahol

l0 (x) =(x� 1) (x� 4) (x� 9)

(�1) (�4) (�9) ; l1 (x) =(x� 0) (x� 4) (x� 9)

(1) (�3) (�8)

l2 (x) =(x� 0) (x� 1) (x� 9)

(4) (3) (�5) ; l3 (x) =(x� 0) (x� 1) (x� 4)

(9) (8) (5)

tehát

L3f (x) =x (x� 4) (x� 9)

24+ 2

x (x� 1) (x� 9)�60 + 3

x (x� 1) (x� 4)360

; x 2 [0; 9] :

Véges di¤erenciák

Feltételezzük hogy adottak a következ½o egyenköz½u (ekvidisztáns) alappontok:

x0 < x1 < ::: < xn;

illetve egy f függvény értékei a fenti pontokban:

f (xi) = yi; i = 0; :::; n:

Mivel az alappontok ekvidisztánsak két egymasutáni külonbsége konstans h = xi+1�xi.

A h-t lépéstávolságnak vagy növekménynek nevezzük. x0 es h függvényében kifejezhet½o

az összes többi alappont:

x1 = x0 + h; x2 = x0 + 2h; :::; xi = x0 + ih; :::

65

Page 72: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

37. De�níció. A

�f (xi) = f (xi + h)� f (xi) = f (xi+1)� f (xi) vagy

�yi = yi+1 � yi; i = 0; :::; n� 1

kifejezést az f függvény els½o véges di¤erenciájának nevezzük.

A fenti � operátor lineáris, vagyis:

-adítiv: �(f + g) = �f +�g

-homogén : �(cf) = c�f .

A magasabb rend½u di¤erenciákat a követekez½o képpen értelmezzük:

�2f (xi) = � (�f (xi)) = � (f (xi+1)� f (xi)) =

= �f (xi+1)��f (xi) = f (xi+2)� 2f (xi+1) + f (xi)

:::

�nf (xi) = ���n�1f (xi)

�:

A gyakorlatban a véges di¤erenciák kiszámításához táblázatokat használunk:

66

Page 73: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

xi yi �yi �2yi �3yi

x0 y0

�y0 = y1 � y0

x1 y1 �2y0 = �y1 ��y0

�y1 = y2 � y1 �3y0 = �2y1 ��2y0

x2 y2 �2y1 = �y2 ��y1

�y2 = y3 � y2

x3 y3

......

Example 3

67

Page 74: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

xi = i; i = 0; :::; 4; f (x) = x2:

xi yi �yi �2yi �3yi

0 0

�y0 = 1

1 1 �y20 = 2

�y1 = 3 �y30 = 0

2 4 �y21 = 2

�y2 = 5 �y31 = 0

3 9 �y22 = 2

�y3 = 7

4 16

38. Megjegyzés. A fenti példából kit½unnik hogy az n-ed fokú polinomnak a n + 1-ed

rend½u véges di¤erenciája egyenl½o zéróval:

f 2 Pn =) �n+1f (xi) = 0:

Ugyanakkor �nf (xi) =konstans:

A fent értelmezett di¤erencia:

�f (xi) = f (xi + h)� f (xi) = f (xi+1)� f (xi)

haladó-di¤erenciának nevezzük. Ugyanakkor értelmezhet½o retrográd-:

rf (xi) = f (xi)� f (xi � h) = f (xi)� f (xi�1) ;

68

Page 75: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

illetve centrális-di¤erencia:

cf (xi) = f

�xi +

h

2

�� f

�xi �

h

2

�:

Ezek esetében hasonló képletek vezethet½ok le.

Newton-féle interpoláló polinom

Tekintsük az x0; x1; :::; xn ekvidisztans alappontokat: xi = x0 + ih; i = 0; :::; n; illetve

egy függvény értékeit az adott pontokban: f (xi) = yi; i = 0; :::; n: A feladat egy

legfeljebb n-ed fokú polinom megszerkesztése ami interpolálja az (xi; yi) ; i = 0; :::; n

pontokat. A polinomot a következ½o alakban keressük:

Nnf (x) = a0+ a1 (x� x0)+ a2 (x� x0) (x� x1)+ :::+ an (x� x0) :: (x� xn�1) : (6.8)

Az ai együtthatokat az interpolációs feltételekb½ol határozzuk meg:

x = x0 =) a0 = y0;

x = x1 =) a0 + a1 (x1 � x0) = y1;

x = x2 =) a0 + a1 (x2 � x0) + a2 (x2 � x0) (x2 � x1) = y2;

:::

x = xn =) a0 + a1 (xn � x0) + :::+ an (xn � x0) :: (xn � xn�1) = yn

69

Page 76: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Mivel az alappontok ekvidisztansak =)

a0 = y0

a0 + a1h = y1

a0 + a12h+ a22h2 = y2

::::::

a0 + a1nh+ a2n (n� 1)h2 + :::+ ann (n� 1) :::2 � 1hn = yn:

A fenti háromszög alakú egyenletrendszer megoldása:

a0 = y0

a1 =y1 � y0h

=�y0h

a2 =�2y02!h2

...

an =�ny0n!hn

=)

(Nnf) (x) = y0 +1

1!

�y0h(x� x0) +

1

2!

�2y0h2

(x� x0) (x� x1) + :::

+1

n!

�ny0hn

(x� x0) :: (x� xn�1) (6.9)

70

Page 77: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

39. Megjegyzés. Az jNnf (x)� f (x)j abszolút hibát a (6.9) képletb½ol mint a rákövetkez½o

tag kapjuk meg:

jNnf (x)� f (x)j =1

(n+ 1)!

�n+1y0hn+1

(x� x0) :: (x� xn) =1

(n+ 1)!

�n+1y0hn+1

$ (x) :

Ha egy adott x értékre kell a Nnf polinomot kiszámítani akkor jelöljük: � =

x�x0h

akkor x�x1h= x�x0�(x1�x0)

h= � � 1; stb. és a (6.9)-os képlet a következ½o képpen

alakul:

(Nnf) (x) = y0 +1

1!��y0 +

1

2!� (�� 1)�2y0 + :::+

1

n!� (�� 1) :: (�� n+ 1)�ny0:

(6.10)

A (6.10) képletnek az az el½onye hogy az interpolációs csomópontok nem szerepelnek

explicit képpen.

Example 4

Felhasználva a harmadfokú Newton interpoláló polinomot számítsuk

ki sin (6o) ha ismertek sin (x) függvény alábbi értékei:

xi 5o 7o 9o 11o 13o 15o

yi 0.087156 0.121869 0.156434 0.190809 0.224951 0.258819.

Mivel 6o az 5o es 7o értékek közé esik az els½o négy értéket

használjuk fel a harmadfokú Newton polinommeghatározására. Ehhez

71

Page 78: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

el½obb a véges di¤erencia táblázatot szerkesztjük meg:

xi yi �yi �2yi �3yi

5 0.087156

0.034713

7 0.121869 -0.000148

0.034565 -0.000042

9 0.156434 -0.000190

0.034375

11 0.190809

A táblázatban szerepl½o aláhúzott véges di¤erenciák segítségével megsz-

erkesztjük a (6.9) képletnek megfelel½o harmadfokú interpolációs poli-

nomot:

N3f (x) = 0:087156 +0:034713

2(x� 5) + (�0:000148)

2! 22(x� 5) (x� 7) +

+(�0000042)

3! 23(x� 5) (x� 7) (x� 9) :

A polinom kiértékeléséhez x = 6 -ban használhatjuk a (6.10) képletet

ahol h = 2; x = 6; x0 = 5; � = 6�52=)

sin 6o = 0:087156 + 0:5 0:034713 +0:5 (0:5� 1) (�0:000148)

2+

0:5 (0:5� 1) (0:5� 2)3!

(�0:000042) = 0:104528:

72

Page 79: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

40. Megjegyzés. Habár a Lagrange, illetve Newton-féle polinom egyforma adott pon-

tokra, mégis, numerikus szempontból el½ony½osebb Newton alakú polinommal dolgozni

mert újabb alappontok bevezetese eseteben nem kell az osszes szamitast ujbol elvegezni

(a haromszog alaku egyenletrendszernek koszonhetoen).

41. Megjegyzés. Nem ekvidisztans alappontokra a Newton polinom meghatározására

az ú.n. osztott di¤erenciákat használjuk.

Habár a képletek aránylag egyszer½uek ha az alappontok ekvidisztánsak, ap-

proximációs szempontból mégsem a legmegfelel½obbek. Ennek oka az hogy magas fokú

polinomok esetében a kilengések is nagyok. Ez nagyon jól szemléltethet½o az ú.n. Runge-

féle példán.

Example 5

Legyen f (x) = 11+25x2

; x 2 [�1; 1] : Ha felbontjuk a [�1; 1] interval-

lumot különböz½o számú ekvidisztáns alappontra, majd interpoláljuk

azt kapjuk eredményként hogy a központi részen az interpoláló poli-

nom elég jól közeliti meg az f függvényt, viszont a peremen minél

magasabb a polinom fokszáma annál rosszabb a megközelítés.

Alapvet½oen két módszerrel lehet a polinomiális interpoláció hátrányait kiküszöbölni:

az egyik módszer abban áll hogy az alappontokat nem egyenköz½unek vesszük hanem a

73

Page 80: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Csebysev-féle polinom gyökeiként. Ezt a módszert akkor alkalmazhatjuk ha az alap-

pontokat szabadon választhatjuk meg. A másik módszer abban áll hogy globális inter-

poláció helyett szakaszos interpolációt használunk.

A Csebysev-féle els½ofajú polinomok

42. De�níció. n-ed fokú (els½ofajú) Csebysev-féle polinomnak nevezzük a következ½o füg-

gvényt:

Tn : [�1; 1]! R; Tn (x) = cos (n arccos x) :

Különböz½o n-re a polinomok a következ½oképpen néznek ki:

T0 (x) = 1; T1 (x) = x;

T2 (x) = cos (2 arccos x) = 2 cos2 (arccos x)� 1 = 2x2 � 1; :::

Felhasználva a t = arccos x valtozócserét meghatározhatunk egy rekurzív képletet a

polinomok kiszámítására:

cos ((n+ 1) t) + cos ((n� 1) t) = 2 cos (nt) cos t()

Tn+1 (x) + Tn�1 (x) = 2Tn (x) x ()

Tn+1 (x)� 2xTn (x) + Tn�1 (x) = 0; x 2 [�1; 1] : (6.11)

Tehát felhasználva hogy T0 (x) = 1; T1 (x) = x =) T2 (x) = 2xx � 1 amit az el½obb is

megkaptunk.

74

Page 81: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Kiszámítjuk a Tn polinom gyökeit:

Tn (x) = 0() cos (n arccos x) = 0() n arccos x =2k + 1

2�; k = 0; :::; n� 1

arccos x =2k + 1

n

2() xk = cos

�2k + 1

n

2

�; k = 0; :::; n� 1: (6.12)

Mértanilag a Csebysev gyököket a következ½o képpen szerkesztjük meg: a fels½o

félkört n egyenl½o részre osztjuk majd ezeket a pontokat levetítjük az Ox tengelyre.

Ezek a vetületek szolgálják a Csebysev polinom gyökeit. Észrevehet½o hogy ezeknek a

sür½usége nagyobb a széleken mint középen. Ennek köszönhetik a jobb interpolációs

tulajdonságot.

Az osszes n-ed fokú interpoláló polinom közül az (6.12) alappontokra felepített

interpoláló polinomnak lesz a legjobb megközelítése.

43. Tétel. Az összes [�1; 1] intervallumon értelmezett n-ed fokú interpolációs polinom

közül annak van a legkisebb hibája amelynek az alappontjai megegyeznek az Csebysev-féle

n-ed fokú polinom gyökeivel.

44. Megjegyzés. Ha a polinomok egy tetszöleges x 2 [a; b] intervallumon vannak

értelmezve akkor egy

t =x� a+ x� b

b� a

vátltozócserével visszavezethetjük az [�1; 1] intervallumra. Hasonlóan

x =b� a2

+b+ a

2t

75

Page 82: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

változócserével kivetíthetjük a Csebysev gyököket egy tetszöleges [a; b] intervallumra:

xk =b+ a

2+b� a2

cos

�2k + 1

n

2

�; k = 0; :::; n� 1:

Egy másik módszer a polinomiális interpoláció hátrányainak a kiküszöbölésére

abban áll hogy globális interpolálás helyett szkaszos interpolálást alkalmazzunk.

6.2.2. Szakaszos interpoláció

A különbség a polinomiális és a szakaszos interpolálás között abban áll hogy ez utób-

biban nem egy (globális) polinomot szerkesztünk hanem minden részintervallumon egy

meghatározott fokszámú polinomot. Ezzel aránylag alacsonyan tudjuk tartani a poli-

nom fokszámat tekintet nélkül az interpoláló alappontok számára.

Lineáris interpoláció

A legegyszer½ubb függvény ami interpolálja az:

(xA; yA) ; (xB; yB)

pontokat a következ½o els½o fokú polinom:

F (x) = yAxB � xh

+ yBx� xAh

; ahol h = xB � xA;

vagy:

F (x) = yA + (x� xA)yB � yAh

:

76

Page 83: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Ezt megkaphatjuk mint Lagrange-féle els½o fokú interpoláló polinom vagy egyszer½u leel-

len½orzéssel.

Általánositásként tételezzük fel hogy adottak az (xi; yi)ni=0 interpoláló pontok:

f (xi) = yi; i = 0; :::; n:

Ebben az esetben két egymásutáni alappont között, vagyis az [xi; xi+1] inter-

vallumon, a lineáris interpoláló függvény a következ½o lesz (hi = xi+1 � xi):

F (x) = yixi+1 � xhi

+ yi+1x� xihi

; ha x 2 [xi; xi+1] (6.13)

vagy:

F (x) = yi + (x� xi)yi+1 � yihi

; x 2 [xi; xi+1] . (6.14)

Valóban az [xi; xi+1] intervallumon F lineáris és teljesiti az interpoláló feltételeket:

F (xi) = yi; F (xi+1) = yi+1:

Összekapcsolva a lineáris szakaszokat az alappontokban egy tört vonalat kapunk, vagyis

egy C0 osztalyú szakaszosan lineáris függvényt vagyis, az alappontokban az F függvény

folytonos de a deriváltja már nem.

Example 6

Szerkesszük meg a lineáris interpoláló függvényt az alábbi adatok

esetében:

77

Page 84: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

xi 0 1 4 9

yi 0 1 2 3

.

Az [0; 1] intervallumon az interpoláló függvény:

F (x) = 01� x1� 0 + 1

x� 01� 0 = x; x 2 [0; 1] :

Hasonlóan

F (x) = 14� x4� 1 + 2

x� 14� 1 =

2

3+1

3x; x 2 [1; 4]

F (x) = 29� x9� 4 + 3

x� 49� 4 =

6

5+1

5x; x 2 [4; 9] :

86420

8

6

4

2

0

x

y

x

y

1. ábra A lineáris interpoláló polinom

Harmadfokú Hermite szakaszos interpoláció

A lineáris intepoláció segítségével egy gyors képet alkothatunk magunknak az interpolá-

ciós folyamatról, a természetben viszont kevés olyan folyamat van ami modellezhet½o

78

Page 85: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

lenne a lineáris interpolációval. Ehelyett "simább" függvényekre lesz szükségünk amit

magasabb fokú polinomokkal érhetünk el. Ehhez viszont több adatra lesz szükségünk.

Tételezzük fel hogy az xA; xB alappontokban ismerjük nem csak az yA; yB or-

dinátákat hanem a dA; dB iránytényez½oket is. Keressük azt a harmadfokú H polinomot

ami eleget tesz a következ½o feltételeknek:

H (xA) = yA; H (xB) = yB;

H 0 (xA) = dA; H0 (xB) = dB: (6.15)

45. De�níció. A (6.15) feltételeknek eleget tev½o polinomot harmadfokú Hermite-féle

interpoláló polinomnak nevezzük.

Hasonlóan a Lagrange interpolációs polinommal, itt sem fogjuk használni a

kanonikus bázist hanem az ú.n. Hermite-féle bázis függvényeket.

46. Tétel. A harmadfokú Hermite-féle interpoláló polinomot a következ½o képpen lehet

megadni:

H (x) = yAh0 (x) + yBh1 (x) + dAh2 (x) + dBh3 (x) (6.16)

ahol hi; i = 0; 3 a Hermite-féle alappolinomokat jelöli:

h0 (x) = �

�b� xh

�; h1 (x) = �

�x� ah

�(6.17)

h2 (x) = �h �b� xh

�; h3 (x) = h

�x� ah

�79

Page 86: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

és

� (t) = 3t2 � 2t3; (t) = t3 � t2; h = b� a: (6.18)

Proof. Bizonyitásként a hi; i = 0; 3 alappolinomok bázis jellegére szoritkozunk.

h0 (a) = �

�b� ah

�= �(1) = 1; h1 (a) = h2 (a) = h3 (a) = 0

Hasonlóan

h1 (b) = 1; h0 (b) = h2 (b) = h3 (b) = 0:

h02 (a) = �h 0�b� xh

�jx=a = �h

��1h

� 3

�b� xh

�2� 2

�b� xh

�!jx=a = 1;

h00 (a) = h01 (a) = h03 (a) = 0;

h03 (b) = h 0�x� ah

�jx=b = h

1

h

3

�x� ah

�2� 2

�x� ah

�!jx=b = 1;

h00 (b) = h01 (b) = h02 (b) = 0:

Az el½obbi eset általánositásaként tételezzük fel hogy az x0 < x1 < ::: < xn

alappontokban ismertek a következ½o adatok:

f (xi) = yi; f0 (xi) = di; i = 0; :::; n: (6.19)

Ebben az esetben minden [xi; xi+1] intervallumon külön megszerkesztjük a harmadfokú

Hermite-féle interpoláló polinomot.

80

Page 87: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

47. Tétel. Az [xi; xi+1] intervallumon a harmadfokú Hermite-féle interpoláló polinomot

a következ½o képpen lehet megadni:

H (x) = yih0 (x) + yi+1h1 (x) + dih2 (x) + di+1h3 (x) (6.20)

ahol a hi; i = 0; 3 Hermite alappolinomokat a következ½o képpen értelmezzük:

h0 (x) = �

�xi+1 � xhi

�; h1 (x) = �

�x� xihi

�(6.21)

h2 (x) = �h �xi+1 � xhi

�; h3 (x) = h

�x� xihi

ahol a lépés hi = xi+1�xi, illetve a �; függvények (6.18) képletben vannak értelmezve.

Természetesen, ha a di deriváltak ismeretlenek ezeknek az értékeit meg lehet

közelíteni az xi; yi adatokból kiindulva. Például, hármasával csoportosítva, minden

alappontban a derivált egyenl½o a három pontra epített parabola iránytényez½ojével (Bessel-

féle interpoláció).

48. Megjegyzés. Mivel az alappontokban a deriváltak megegyeznek az összetett Hermite-

féle interpoláló polinom C1 osztalyú lesz.

Example 7

Szerkesszünk egy Hermite-féle interpoláló függvényt a következ½o ada-

tokra:

81

Page 88: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

xi 0 1 4 9

yi 0 1 2 3

. Els½osorban minden ponthoz hozzá kell

rendelni egy iránytényez½ot. Legyen az (x1; y1) pontban az iránytényez½o

egyenl½o a mellette lév½o pontok által meghatározott egyenes iránytényez½ojével:

d1 =y2 � y0x2 � x0

=2� 04� 0 =

1

2:

Hasonlóan:

d2 =y3 � y1x3 � x1

=3� 19� 1 =

1

4:

A d0-t egyenl½ové tesszük az els½o szakasz iránytényez½ojével:

d0 =y1 � y0x1 � x0

= 1:

Hasonlóan

d3 =y3 � y2x3 � x2

=1

5:

A (6.20) képletb½ol a [0; 1] intervallumon

H (x) = 0h0 (x) + 1h1 (x) + 1h2 (x) + 1=2h3 (x)

ahol

h1 (x) = � (x) = 3x2 � 2x3;

h2 (x) = �(1� x) = � (1� x)3 + (1� x)2 ; h3 (x) = (x) = x3 � x2:

82

Page 89: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Tehát

H (x) = 3x2 � 2x3 � (1� x)3 + (1� x)2 + x3 � x22

; x 2 [0; 1] :

Hasonlóan, az [1; 4] intervallumon:

H (x) =(4� x)2

3�2 (4� x)

3

27+2 (x� 1)2

3�4 (x� 1)

3

27�(4� x)

3

18+(4� x)2

6+(x� 1)3

36�(x� 1)

2

12

illetve a [4; 9] intervallumon:

H (x) =6 (9� x)2

25�4 (9� x)

3

125+9 (x� 4)2

25�4 (x� 4)

3

125�(9� x)

3

100+(9� x)2

20+(x� 4)3

125�(x� 4)

2

25:

Harmadfokú spline interpoláció

Az el½obbi interpolációs eljárásnál simább függvényt kapunk ha a másodrend½u derivált

folytonosságát is megköveteljük. Az így szerkesztett interpolációs polinom neve spline.

Ha az el½obbiekben a derivaltakat ugy hatarozzuk meg hogy a kapott fuggveny

ketszer folytonosan derivalhato legyen, akkor a harmadfoku (cubic) spline interpolacios

modszert kapjuk.

Legyenek tehát (xi; yi)ni=0 az interpoláló pontok. Minden [xi; xi+1] szakaszon

egy si; i = 0; :::; n � 1 (si : [xi; xi+1]! R) harmadfokú polinomot szerkesztünk meg

úgy, hogy az alappontokban az els½o fokú és a másodfokú derivált folytonos legyen,

tehát 4n ismeretlenünk lesz. Az ismeretlenekhez hozzárendelt egyenleteket a következ½o

feltételekb½ol határozzuk meg:

83

Page 90: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

� (n+ 1) egyenlet az interpoláló feltételekb½ol:

si (xi) = yi; i = 1; ; n;

� (n� 1) egyenlet a folytonossági feltételekb½ol a bels½o alappontokban:

si (xi) = si+1 (xi) ; i = 1; ; n� 1;

� (n� 1) egyenlet az els½o derivált folytonossági feltételekb½ola bels½o alappontokban:

s0i (xi) = s0i+1 (xi) ; i = 1; ; n� 1;

� (n� 1) egyenlet a második derivált folytonossági feltételb½ol a bels½oalappontok-

ban:

s00i (xi) = s00i+1xi; i = 1; ; n� 1;

összesen (4n� 2) egyenlet. Hogy egyértelm½uen meghatarozott egyenletrend-

szert kapjunk szükség van meg 2 feltételre. Ezeket rendszerint a széleken lev½o alap-

pontokhoz kötjük (perem feltételek). A 4n� 4n-es lineáris egyenletrendszer megoldása

szolgaltatja a szakaszokra értelmezett polinomok együtthatóit.

A továbbiakban ismertetjük a leggyakrabban használt peremfeltételeket:

1. Ha ismertek a d0; dn iranytényez½ok a széleken, akkor a kovetkez½o kikötéseket

használjuk:

s00 (x0) = d0; s0n�1 (xn) = dn:

Az így felépitett függvényt �complete spline�-nak nevezz½uk.

84

Page 91: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

2. Ha ismertek a másodrend½u deriváltak értékeiD0; Dn a széleken, akkor a következ½o

kikötéseket használjuk:

s000 (x0) = D0; s00n�1 (xn) = Dn:

3. Az egyik legrégebbi perem feltétel az ú.n. �természetes�feltétel:

s000 (x0) = 0; s00n�1 (xn) = 0:

A �natural spline� név a rajzoló szerkezetre (spline, splain) vezethet½o vissza,

úgyanis a végpontokban a fémrúd görbulete zéro(lásd a gyakorlati kivitelezését).

4. Ha a deriváltak ismeretlenek egy másik peremfeltétel az ún. �not-a-knot�, vagyis

az els½o és utolsó bels½o interpolációs pont inaktiv. Ehhez kikötjuk hogy a har-

madrendu derivált s000 folytonos legyen x1; es xn�1-ben. Eredmenyként s0 =

s1illetve sn�1 = sn�2.

49. Megjegyzés. Az összes szakaszonként értelmezett harmadfokú polinomok közül a

köbös (cubic) spline függvénynek van maximális simasági foka, nevezetesen C2. Ennél

magasabb símasági fokkal csak a globális harmadfokú polinom rendelkezik.

A harmadfokú spline függvény általanositása a következ½o:

50. De�níció. Az (xi)ni=0 alappontokhoz hozzárendelt (2n+ 1)-ed fokú spline-nak azt

a függvényt nevezzük, amely minden egyes [xi; xi+1] szakaszon 2n + 1-ed fokú poli-

85

Page 92: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

nom, továbbá az x0; :::; xn pontokban a deriváltak 2n-ed rendig bezárólag eleget tesznek

a folytonossági feltételeknek.

Az egyik legegyszer½ubb spline a már ismertett lineáris interpoláló függvény

(a tört vonal) aminek neve lineáris spline. Minden szakaszon els½ofokú polinom a

folytonossági rendje pedig C0.

51. Megjegyzés. Bármilyen fokú sline függvény értelmezhet½o, de a páratlan fokú spline-

ok esetében az az el½ony hogy a peremfeltételeket szimmetrikusan lehet kezelni.

Example 8

Szerkesszük meg a köbös spline interpolácós függvényt az alábbi ada-

tok esetében különböz½o peremfeltételek esetében:

xi 0 1 4 9

yi 0 1 2 3

.

s (x) =

8>>>>>><>>>>>>:s1 (x) ; x 2 [0; 1)

s2 (x) ; x 2 [1; 4)

s3 (x) ; x 2 [4; 9]

ahol

si (x) = aix3 + bix

2 + cix+ di; i = 0; 1; 2

86

Page 93: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

A 12 együtthatót a következ½o lineáris egyenletrendszerb½ol számítjuk

ki: 8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:

0a0 + 0b0 + 0c0 + d0 = 0

a1 + b1 + c1 + d1 = 1

64a2 + 16b2 + 4c2 + d2 = 2

279a2 + 81b2 + 9c2 + d2 = 3

a0 + b0 + c0 + d0 = a1 + b1 + c1 + d1

64a1 + 16b1 + 4c1 + d1 = 64a2 + 16b2 + 4c2 + d2

3a0 + 2b0 + c0 = 3a1 + 2b1 + c1

48a1 + 8b1 + c1 = 48a2 + 8b2 + c2

6a0 + 2b0 = 6a1 + 2b1

24a1 + 2b1 = 24a2 + b2

2b0 = 0

54a2 + 2b2 = 0

ahol az utolsó két egyenletben a "természetes" perémfeltételeket

használtuk.

52. Megjegyzés. A spline függvények esetében is a kanonikus bázis feliráson kívül van

más alkalmasabb bázis az ú.n. B-spline függvények.

87

Page 94: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Kétváltozós lineáris (bilineáris) interpoláció

Hasonlóan az egyváltozós esettel, a kétváltozós függvények esetében felmerül a probléma

hogy bizonyos diszkrét pontokból kiindulva egy interpoláló felületet kell szerkeszteni.

A legegyszer½ubb módszer, a bilineáris interpoláció, akkor alkalmazható ha az adott

diszkrét pontok racsszer½uen helyezkednek el.

Legyen f (x; y) egy kétváltozós függvény amelynek csak (xi; yj)m; ni=0;j=0 pontok-

ban ismerjük az értékeit:

zij = f (xi; yj) ; i = 0; :::;m; j = 0; :::; n:

Az (xi; yj) párokról azt mondjuk hogy egy m�n-es háló (rács) csomópontjait alkotjak.

x n y y0 ::: yj : : : yn

x0 z00 z0j z0n

...

xi zi0 zij zin

...

xm zm0 zmj zmn:

A feladat egy kétváltozos F (x; y) függvény megszerkesztése amely megegyezik

a háló pontjaiban f -el és megközelíti egy tetszöleges (x; y) pontban. A leggegyeszer½ubb

módszer természetesen a (bi)lineáris interpoláció amit úgy valósítunk meg hogy mind

a két tengely irányában alkalmazzuk a lineáris interpolációt i.e., egyszer az egyik, majd

88

Page 95: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

a másik változót tekintjük konstansnak.

Az els½o lépés meghatározni az (x; y) szomszédságában lév½o pontokat, vagyis

közrefogni a x pontot két egymásutani Ox tengelyen lev½o alapponttal:

xi < x < xi+1;

majd hasonlóan:

yj < y < yj+1:

Az így meghatározott pontok illetve az f függvény értékei ezekben a pontokban az

alábbi táblázatban szerepelnek:

x�y yj y yj+1

xi f (xi; yj) = zij f (xi; yj+1) = zi;j+1

x f (x; y) =?

xi+1 f (xi+1; yj) = zi+1;j f (xi+1; yj+1) = zi+1;j+1:

Rögzítjük például az y = yj változót, ekkor az F függvény egyváltozossá válik (x változó

szerinti): F (x; yj) : Az így kapott egyváltozós függvényre alkalmazzuk a (6.14) lineáris

interpolációs képletet:

F (x; yj) = f (xi; yj) + (x� xi)f (xi+1; yj)� f (xi; yj)

xi+1 � xi; x 2 [xi; xi+1] ;

ahonnan

F (x; yj) = f (xi; yj) + (x� xi)f (xi+1; yj)� f (xi; yj)

xi+1 � xi: (6.22)

89

Page 96: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Hasonlóan rögzített y = yj+1 azt kapjuk hogy:

F (x; yj+1) = f (xi; yj+1) + (x� xi)f (xi+1; yj+1)� f (xi; yj+1)

xi+1 � xi: (6.23)

A már ismert F (x; yj) ; F (x; yj+1) adatokra újból alkalmazzuk a (6.14) képletet és

rögzített x = x-re azt kapjuk hogy:

F (x; y) = F (x; yj) + (y � yj)F (x; yj+1)� F (x; yj)

yj+1 � yj; y 2 [yj; yj+1] (6.24)

vagyis:

F (x; y) = F (x; yj) + (y � yj)F (x; yj+1)� F (x; yj)

yj+1 � yj: (6.25)

53. Megjegyzés. A (6.25) értéknél jobb megközelítést kapunk ha a bilineáris inter-

poláció helyett a bicubic sémát alkalmazzuk, vagyis mindkét tengely mentén harmadfokú

polinommal interpolálunk.

Example 9

Az f (�; ') =R '0

d'p1�sin2 � sin2 '

elliptikus integrálra ismert a következ½o

táblázatban szerepl½o értékek:

��' 50� 55� 60� 65� 70�

50� 0:9401 1:05 1:1643 1:2833 1:4068

60� 0:9647 1:0848 1:2125 1:3489 1:4944

70� 0:9876 1:1186 1:2619 1:4199 1:5959

80� 1:0044 1:1444 1:3014 1:4810 1:6918

90

Page 97: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

Számítsuk ki bilineáris interpolációval f (55; 53) közelit½o értékét.

Proof. Az (55,53) pont szomszédságában lév½o adatok:

x�y 50 53 55

50 0:9401 1:05

55 0:952 4 1; 0675

60 0:9647 1:0848

Alkalmazzuk a (6.23) ill. (6.24) képletet:

F (55; 50) = F (50; 50) + (55� 50) F (60; 50)� F (50; 50)60� 50 =

0; 9401 + 5 � (0; 9647� 0; 9401)=10 = 0:952 4

F (55; 55) = f (50; 55) + (55� 60) F (60; 55)� F (50; 55)60� 50 = 1; 0675

majd rögzítjük a x = 55 változót és alkalmazzuk a (6.25) képletet:

F (55; 53) = F (55; 50) + (53� 50) F (55; 55)� F (55; 50)55� 50 =

0:9524 + 3 � (1:0675� 0:9524)=5 = 1: 021 4:

91

Page 98: numerikus modszerek

FEJEZET 6 � MANUSCRIPT

6.3. Függvény approximáció a legkisebb négyzetek

módszerével

Amint az interpolációnál láttuk, ha ismert egy f függvény értékei az xi; i = 0; :::; n

csomópontokban akkor felépíthet½o egy F approximáció úgy, hogy F (xi) = f (xi) = yi:

Ha viszont az f (xi) értékek nem pontosak (például hozzávet½oleges mérések alapján

számított értékek)

92

Page 99: numerikus modszerek

7. fejezet

Bézier görbék, Bézier felületek

A Bézier görbék a CAGD tantárgy alapjait képezik. Habár elméleti szinten már a 30-as

években jelentek meg dolgozatok e téren, az igazi fejl½odése a 60-as években kezd½odött

P. de Casteljau (Citroen), P. Bézier (Renault), S. Coons (Ford), W. Gordon (General

Motors), J. Ferguson (Boeing) munkásságával.

Az interpolációtól eltér½oen, a Bézier görbék szerkesztése a "free form" kategóriába

sorolható vagyis, a formatervez½o szabadon választ meg bizonyos pontokat amelyeket

összekötve egy megközelít½o képet adnak a görbe alakjáról.

93

Page 100: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

7.1. A Bézier görbe megszerkesztése a "divide et

impera" algoritmussal

Tekintsük a P0; P1; P2 pontokat. Egy P0 és P2 pontok közé húzodó görbét szertnénk

szerkeszteni, ugyanakkor a görbe alakját a P1 ponttal fogjuk befolyásolni.

A Pi pontokat kontroll pontoknak, a P0P1P2 kontroll poligonnak nevezzük.

Az algoritmus abban áll hogy a görbe pontjait sorozatos felezéssel hozzuk

létre.

Legyen P (1)0 a P0P1 szakasz, P(1)1 pedig a P1P2 szakasz felez½opontja.

A P (1)1 P(2)1 szakaszt újból felezzük a P (2)0 ponttal.

94

Page 101: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

Az így megszerkesztett P (2)0 pont, rajta lesz a görbén.

Hogy a görbe többi pontjait megkapjuk a kapott pontokat: átnevezzük majd

folytatjuk az osztási algoritmust. Jelöljük a P0; P(1)0 ; P

(2)0 pontokat P0; P1; P2-vel majd

alkalmazzuk az el½obb ismertett eljárást.

Az újonnan kapott P (2)0 pont úgyszinten rajta lesz a görbén.

Hasonlóan járunk el az els½o osztásból származó P (2)0 ; P(1)1 ; P2 pontokkal.

A három P(2)0 pont illetve az algoritmus további alkalmazása nyomán létrejöv½o P (2)0

pontok alkotják a (négyzetes) Bézier görbét:

95

Page 102: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

7.2. Négyzetes Bézier görbék

Az el½obb említett algoritmusnál egy sajátos esetet használtunk nevezetesen a felezést;

ezt most általánosítani fogjuk olyan értelemben hogy bevezetünk egy t 2 [0; 1] paramétert

ami a szakaszok felosztásának arányait adja meg. Minden egyes t értékre kapunk egy

pontot a görbén. Vegyük például t = 3=4 értéket. Minden egyes lépésben a további

pontokat a meglév½o pontok konvex kombinációjáként szerkesztjük meg:

P(1)0 = (1� t)P0 + tP1

P(1)1 = (1� t)P1 + tP2 (7.1)

96

Page 103: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

A görbén elhelyezked½o P (2)0 pontot a már meglév½o P (1)0 ; P(1)1 pontok konvex kombiná-

ciójáként számítjuk ki:

P(2)0 = (1� t)P (1)0 + tP

(1)1 (7.2)

Variálva t paraméter értékeit 0-tól 1-ig az el½obbi konvex kombinációk megad-

ják a görbe összes pontját.

Mivel a pontok helyzete függ a t paramétert½ol, a további jelöléseknél ezt �-

gyelembe vesszük. Azt hogy a P (2)0 (t) pontok írják le a görbét a következ½o képpen írjuk

le:

P(2)0 (t) = P (t) ; t 2 [0; 1] :

97

Page 104: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

Felhasználva a (7.2),(7.1) képleteket azt kapjuk hogy:

P (t) = P(2)0 (t) = (1� t)P (1)0 (t) + tP

(1)1 (t) =

(1� t) [(1� t)P0 + tP1] + t [(1� t)P1 + tP2] =

(1� t)2 P0 + 2t (1� t)P1 + t2P2

tehát a görbe egyenlete:

P (t) = (1� t)2 P0 + 2t (1� t)P1 + t2P2; t 2 [0; 1] : (7.3)

A görbe egyenletéb½ol látszik hogy ez egy parabola, vagyis egy másodfokú Bézier görbe.

A görbe legfontosabb tulajdonságai a következ½ok:

� P0; P2 a görbe két végpontja:

P (0) = P0; P (1) = P2

� A polinom alakjából következik a görbe folytonossága

� A görbe tángense a P0; P2 végpontokban megegyezik a P0P1; P1P2 szakaszokkal:

d

dtP (t) = �2 (1� t)P0 + 2 (1� 2t)P1 + 2tP2

ahonnan:

d

dtP (0) = 2 (P1 � P0) ;

d

dtP (1) = 2 (P2 � P1)

98

Page 105: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

� A kontroll pontok által alkotott konvex burkoló (a mi esetünkben a P0P1P2 három-

szög) tartalmazza a görbét.

Az (7.3) egyenletben az együtthatók összege:

(1� t)2 + 2t (1� t) + t2 = 1

vagyis a görbe konvex kombinációja a kontroll pontoknak.

Összeillesztési szempontokat tartva szem el½ott hatékonyabb a harmadfokú

Bézier görbék használata .

7.3. Harmadfokú Bézier görbék

A (7.3) képletben szerepl½o együtthatókat: (1� t)2 = b20 (t) ; 2t (1� t) = b21 (t) ; t2 =

b22 (t) Bernstein-féle másodfokú alap-polinomoknak nevezzük. A fenti jelöléseket fel-

használva a másodfokú Bézier görbe egyenlete felírható:

P (t) = (1� t)2 P0 + 2t (1� t)P1 + t2P2 =2Xi=0

b2i (t)Pi; t 2 [0; 1] :

Hasonlóan értelmezhet½ok a harmadfokú Bernstein-féle alap polinomok:

b30 (t) = (1� t)3 ; b31 = 3t (1� t)

2 ; b32 = 3t2 (1� t) ; b33 (t) = t3

és általánosan az n-ed fokú Bernstein-féle alap-polinomok:

bni (t) = Cinti (1� t)n�i ; i = 0; :::; n;

99

Page 106: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

ahol t 2 [0; 1] : Ezeknek az alap-polinomoknak a f½otulajdonsága, hogy az egységnek egy

partícióját alkotják, vagyis:

bni (t) � 0;nXi=0

bni (t) = 1:

A harmadfokú Bézier-féle görbék esetében ugyanúgy járhatunk el mint a másodfokúak

esetében, nevezetesen. értelmezhetjük ½oket rekurrens képlettel vagy analitikusan.

Legyen P0; P1; P2; P3 kontroll pontok.

54. De�níció. Mértanilag a harmadfokú Bézier görbe a P (t) = P(3)3 (t) képlettel sz-

erkeszthet½o meg ahol:

P(k)i (t) =

8>><>>:(1� t)P (k�1)i (t) + tP

(k�1)i+1 (t) ; ha k = 1; 2; 3; i = 0; ::; 3� k

Pi ; ha k = 0

és t 2 [0; 1] :

55. De�níció. Analitikusan a harmadfokú P (t) Bézier görbe a következ½o képpen értelmezhet½o:

P (t) =3Xi=0

b3i (t)Pi = b30 (t)P0 + b

31P1 + b

32P2 + b

33 (t)P3 = (7.4)

(1� t)3 P0 + 3t (1� t)2 P1 + 3t2 (1� t)P2 + t3P3

ahol t 2 [0; 1] :

A másodfokú görbék esetében említett tulajdonságok érvényesek it is.

A Bézier görbék elönye hogy a görbe alakja követi a kontroll poligon alakját,

ebb½ol kifolyólag egy görbe szerkesztéséhez elégséges a kontroll pontok módosítása.

100

Page 107: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

A gyakorlatban, a görbén lév½o - t paraméternek megfelel½o- pontnak a megsz-

erkesztéséhez, a következ½o táblázatot használjuk (de Casteljau algoritmus):

P0

P1 P(1)0 (t)

P2 P(1)1 (t) P

(2)0 (t)

P3 P(1)2 (t) P

(2)1 (t) P

(3)0 (t)

A táblázat jobb-alsó sarkában lév½o érték adja meg a pont helyzetét a görbén t paraméternek

megfelel½oen.

7.1 Szerkesszük meg az alábbi pontok esetében t = 1=4 -nek megfelel½o pontot a

harmadfokú Bézier görbén: P0 (2; 1) ; P1 (4; 10) ; P2 (25; 20) ; P (10; 5) :

P0

P1 P(1)0

P2 P(1)1 P

(2)0

P3 P(1)2 P

(2)1 P

(3)0

ahol (az egyszer½usités kedvéért elhagytuk a t paramétert):

P(1)0 =

3

4P0 +

1

4P1 =

�10

4;13

4

�; P

(1)1 =

3

4P1 +

1

4P2; P

(1)2 =

3

4P2 +

1

4P3;

P(2)0 =

3

4P(1)0 +

1

4P(1)1 ; P

(2)1 =

3

4P(1)1 +

1

4P(1)2 ;

P(3)0 =

3

4P(2)0 +

1

4P(2)1 :

101

Page 108: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

Komplexebb görbék esetében több pontra van szükségünk. Ebben az esetében

magasabb fokú Bézier görbét szerkeszthetünk vagy, és ez a gyakoribb, összetett gör-

béket szerkesztünk. Ez abban áll hogy a pontokat csopotositjük, például négyesével ha

köbös görbét szeretnénk szerkeszteni, majd minden csoportra megszerkesztünk egy gör-

bét (természetesen ebben az esetben a [0; 1] intervallum átalakítható tetsz½oleges [a; b]

intervallumra). Ezeket összetett Bézier görbéknek nevezzük. Ezen görbék esetében �-

gyelembe kell venni a P3n összeilleszkedési pontokban a símassági fokot. A harmadfokú

összetett görbék esetében a pontok elhelyezkédését½ol függ½oen elérhetünk C1 vagy C2

rend½u illeszkedéseket.

Example 1

Szerkesszük meg az alábbi harmadfokú összetett görbe esetében a

kontroll pontokat ill. poligont.

56. Megjegyzés. Ha a P2; P3; P4 pontok kollineárisak G1 mértani (geometriai) folytonossá-

gról beszélünk. Ahhoz hogy a görbe C1 osztályú legyen még szükséges hogy a P2P3 ill.

P3P4 szakaszok hossza arányos legyen a két görbe értelmezési tartományával.

102

Page 109: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

7.4. Bézier felületek

A Bézier felületek szerkesztésére-úgy mint a görbék esetében-két mód van, egy mértani

szerkesztés, illetve analitikus képleten alapuló. A felület generálását a tenzoriális szorzat

esetben fogjuk vizsgálni ami azt jelenti hogy az elemzést külön végezzük a két irányban.

Ennek érdekében értelmezzük a felületeket a következ½o formális de�nicióval: felületnek

nevezzük a térben mozgó és alakját változtató görbe pontjait.

Természetesen a mozgó görbét konstans fokú Bézier görbének fogjuk tekinteni,

konkrétan m-ed fokú.

Pm (u) =mXi=0

Pibmi (u) ; u 2 [0; 1] : (7.5)

Ezt a görbét minden pozicióban (minden u-ra) a kontroll pontok határozzák meg.

Feltételezzük hogy minden eredeti Pi kontroll pont úgyszintén egy Bézier görbén mozog,

ezúttal egy n-ed fokún:

Pi = Pi (v) =

nXj=0

Pijbnj (v) ; v 2 [0; 1] : (7.6)

Összekombinálva a két képletet megkapjuk a Pm;n felület képletét az (u; v) paraméternek

megfelel½oen:

Pm;n (u; v) =mXi=0

nXj=0

Pijbnj (v) b

mi (u) ; (u; v) 2 [0; 1]� [0; 1] : (7.7)

103

Page 110: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

A (7.7) képlet mátrix alakja a következ½o:

Pm;n (u; v) =

�bm0 (u) : : : bmm (u)

�0BBBBBB@P00 : : : P0n

......

Pm0 : : : Pmn

1CCCCCCA

0BBBBBB@bn0 (v)

...

bnn (v)

1CCCCCCA : (7.8)

Konkrétan ha egy (2; 3) fokú (másodfokú az egyik irányban ill. harmadfokú a másik

irányban) Bézier felületet szeretnénk szerkeszteni akkor a P00; P01; P02; P03; P10; P11; P12; P13;

P20; P21; P22; P23 kontroll pontok segítségével meghatározzuk a felület analitikus ké-

pletét:

P 2;3 (u; v) =2Xi=0

3Xj=0

Pijb2i (v) b

3j (u) ; (u; v) 2 [0; 1]� [0; 1] :

Az alábbi ábrán a (2; 3) felület generálása látható:

Rögzített v-re a felület u-tól függ½o m-ed fokú Bézier görbe lesz. Ezt nevezik

v=konst.-nak megfelel½o izoparametrikus görbének.

Amellett hogy aránylag egyszer½u képleteket eredményez, a tenzoriális szorzat

el½onye hogy a felület vizsgálata akármelyik iránnyal kezdhet½o.

Example 2

104

Page 111: numerikus modszerek

FEJEZET 7 � MANUSCRIPT

Adottak az alábbi pontok: P00

�0 0 0

�; P01

�2 0 0

�; P02

�4 0 0

�;

P10

�0 2 0

�; P11

�2 2 0

�; P12

�4 2 2

�;

P20

�0 4 0

�; P21

�2 4 4

�; P22

�4 4 4

�: Számítsuk ki a

(u; v) = (1=2; 1=2) paraméternek megfelel½o pontot a (2; 2) bikvadratikus

Bézier felületen. A (7.8) képletet felhasználva

Pm;n (1=2; 1=2) =

�(1� u)2 2u (1� u) u2

�0BBBBBB@P00 P01 P02

P10 P11 P12

P20 P21 P22

1CCCCCCA

0BBBBBB@(1� v)2

2v (1� v)

v2

1CCCCCCA

=

0BBBBBB@2

2

1

1CCCCCCAahol (u; v) = (1=2; 1=2) :

105

Page 112: numerikus modszerek

8. fejezet

Numerikus deriválás és numerikus

integrálás

8.1. Numerikus deriválás

Tekintsük az f : I ! R folytonos és deriválható függvényt. Legyen x0 2 �I egy pont az

I belsejében. Értelmezés szerint a derivált x0-ban

f 0 (x0) = limx!x0

f (x)� f (x0)x� x0

vagy h = x� x0 jelöléssel:

f 0 (x0) = limh!0

f (x0 + h)� f (x0)h

:

106

Page 113: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

Numerikusan a derivált értékét a jobboldalon szerepl½o törttel közelítjük meg:

f 0 (x0) =f (x0 + h)� f (x0)

h(8.1)

ahol h egy zéróhoz közeli érték: h = 10�3; 10�4 (a továbbiakban h > 0); kerülni kell a

túlzottan kicsi értéket mivel a nullával való osztás hibához vezethet.

57. Tétel. Ha f 2 C2 (I) akkor a (8.1) képletben a következ½o hibabecslést adhatjuk:����f 0 (x0)� f (x0 + h)� f (x0)h

���� � h � M2

2(8.2)

ahol M2 = supx2I jf 00 (x)j.

Proof. A Taylor képletb½ol:

f (x0 + h) = f (x0) +f 0 (x0)

1!h+

f 00 (�)

2!h2; � 2 (x0; x0 + h) :

Átrendezve azt kapjuk hogy:

f (x0 + h)� f (x0)h

� f 0 (x0) =f 00 (�)

2h

vagyis: ����f 0 (x0)� f (x0 + h)� f (x0)h

���� = h ����f 00 (�)2���� � hM2

2:

Ha a derivált kiszámitásához adva van egy bizonyos � > 0 pontosság, a h

értékét a következ½o kikötésb½ol számítjuk ki:

hM2

2< � =) h <

2�

M2

:

107

Page 114: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

Mivel az M2 értéknek a kiszámításához nehézségekbe ütközhetünk, ezért a h érték

numerikus meghatározása a következ½o módon történhet: a derivált kezd½o értékét egy

aránylag kis h = 10�3 értékkel számítjuk majd csökkentjük h-t (felezés, ...) ameddig két

egymásutáni derivált különbsége (abszólut értékben) kisebb mint �. Úgyanakkor meg

kell jegyezni hogy az említett kilépési kritérium nem garantálja azt hogy az elméleti

derivált értéket �-nyira közelítettük meg.

A (8.2)-es képletben szerepl½o hiba rendjét a következ½o képpen jelöljük:

����f 0 (x0)� f (x0 + h)� f (x0)h

���� = O (h)vagyis az abszolút hiba lineárisan arányos h-val.

A (8.1) képlet mértani jelentése a következ½o: minél kisebb h értéke annál

közelebb kerül azN pontM -hez és ebb½ol kifolyólag a d tángens iránytényez½oje megközelí-

thet½o az MN húr iránytényez½ojével. Hasonlóan eset áll fennt a PM illetve PN húrok

esetében.

A (8.1)-es hasonlóan a megközelíthetjük a derivált értékét:

f 0 (x0) =f (x0)� f (x0 � h)

h(8.3)

vagy:

f 0 (x0) =f (x0 + h)� f (x0 � h)

2h: (8.4)

108

Page 115: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

A (8.3) képletben a hiba rendje lineáris:���f 0 (x0)� f(x0)�f(x0�h)

h

��� = O (h), míg a (8.4)

képletben négyzetes:

����f 0 (x0)� f (x0 + h)� f (x0 � h)2h

���� = O �h2� :Ezt megkapjuk ha kétszer alkalmazzuk Taylor képletet:

f (x0 + h) = f (x0) +f 0 (x0)

1!h+

f 00 (x0)

2!h2 +

f 000 (�1)

3!h3; �1 2 (x0; x0 + h)

f (x0 � h) = f (x0)�f 0 (x0)

1!h+

f 00 (x0)

2!h2 � f

000 (�2)

3!h3; �2 2 (x0 � h; x0)

majd vesszük az egyenletek különbségét:

f (x0 + h)� f (x0 � h) = 2f 0 (x0)h+ (f 000 (�1) + f 000 (�2))h3=6

vagyis:

����f 0 (x0)� f (x0 + h)� f (x0 � h)2h

���� = jf 000 (�1) + f 000 (�2)j12

h2 = O�h2�:

Természetesen minél több tagot tartunk meg a Taylor képletben annál pon-

tossább értéket kapunk a deriváltnak.

A másodrend½u derivált kiszámításához kétszer alkalmazzuk az els½orend½u de-

rivált képletét, például a (8.1) kétszeri alkalmazása a következ½o képletet eredményezi:

f 00 (x0) =f 0 (x0 + h)� f 0 (x0)

h=

f(x0+2h)�f(x0+h)h

� f(x0+h)�f(x0)h

h

f 00 (x0) =f (x0 + 2h)� 2f (x0 + h) + f (x0)

h2

109

Page 116: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

ha pedig kombináltan a (8.1) képletet illetve (8.4) azt kapjuk hogy:

f 00 (x0) =f (x0 + h)� 2f (x0) + f (x0 � h)

h2(8.5)

aminek a hibarendje négyzetes:���f 00 (x0)� f(x0+h)�2f(x0)+f(x0�h)

h2

��� = O (h2) :Example 1

Legyen f (x) = ex számítsuk ki f 0 (1) ; f 00 (1) értékeket különböz½o h

lépéseket használva.

Solution Legyen h = 10�2 a (8.1) képletb½ol

f 0 (1) =f (1 + h)� f (1)

h=e1:01 � e0:01

= 2: 731 9

ebben az esetben a hiba���f(1+h)�f(1)h

� e��� = 2: 731 9- 2: 718 3 = 0:013 6:

A (8.4) képletet használva

f 0 (1) =f (1 + h)� f (1� h)

2h=e1:01 � e0;990:02

= 2:718327

a hiba pedig���f(1+h)�f(1�h)2h

� e��� = 2: 718327- 2: 718 281 = 4: 6� 10�5 = 0:46� 10�4.

A másodfokú derivált értéke:

f 00 (1) =f (1 + h)� 2f (1) + f (1� h)

h2=e1:01 � e+ e0;99

10�4= 2:718304

a hiba���f(1+h)�2f(1)+f(1�h)h2

� e��� = 2:26� 10�5 = 0:226� 10�4:

110

Page 117: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

Több ismeretlenes függvények esetében f : Rm ! R a parciális deriváltak

kiszámítása hasonlóan történik a már ismertetett módszerekkel azzal a megjegyzéssel

hogy minden változót konstansnak tekintünk kivéve azt a változót ami szerint történik a

deriválás. A (8.1),(8.4),(8.5) képleteknek megfelel½oen a parciális deriváltak a következ½o

képpen alakulnak:

@f

@xi(x1; :::; xm) =

f (x1; :::; xi + h; :::; xm)� f (x1; :::; xi; :::; xm)h

(8.6)

@f

@xi(x1; :::; xm) =

f (x1; :::; xi + h; :::; xm)� f (x1; :::; xi � h; :::; xm)2h

(8.7)

@2f

@x2i(x1; :::; xm) =

1

h2(f (x1; :::; xi + h; :::; xm)� 2f (x1; :::; xi; :::; xm)+

+f (x1; :::; xi � h; :::; xm)): (8.8)

@2f

@xi@xj(x1; :::; xm) =

1

4hk(f (x1; :::; xi + h; :::; xj + k; :::; xm)� f (x1; :::; xi + h; :::; xj � k; :::; xm)

�f (x1; :::; xi � h; :::; xj + k; :::; xm) + f (x1; :::; xi � h; :::; xj � k; :::; xm)): (8.9)

ahol h illetve k az xi illetve xj irányban megtett lépés.

Example 2

Számítsuk ki a f (x; y) = exy függvény parciális deriváltjait (1; 2)

pontban.

111

Page 118: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

Solution Legyen h = k = 10�2: A (8.7) képletnek megfelel½oen:

@f

@x(1; 2) =

f (1 + h; 2)� f (1� h; 2)2h

= 14:7791

és a hiba��@f@x(1; 2)� 2e2

�� = ��@f@x(1; 2)� 14:7781

�� = 9:85� 10�4;@f

@y(1; 2) =

f (1; 2 + k)� f (1; 2� k)2k

= 7:3892

és a hiba���@f@y (1; 2)� e2��� = ���@f@y (1; 2)� 7:3891��� = 1:23� 10�4:

8.2. Numerikus integrálás (kvadratúra képletek)

Általános értelemben kvadratúra határozott integrál kiszámítását jelenti.

Ha adva van egy f : [a; b] ! R folytonos függvény és [a; b] intervallum egy

felosztása:

a = x0 < x1 < ::: < xn = b

akkor a

I =

Z b

a

f (x) dx

határozott integrál kiszámitható a Riemann-féle összeggel:

I = limn�n

ahol

�n =n�1Xi=0

(xi+1 � xi) f (�i) ; �i 2 [xi; xi+1]:

112

Page 119: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

58. De�níció. Numerikus kvadratúra képletnek nevezzük a következ½o képletet:Z b

a

f (x) dx =

n�1Xi=0

Ai � f (xi) +R

ahol az Ai együtthatók függetlenek f (x) függvényt½ol, xi a csomópontok, R pedig az

elkövetett hiba.

8.2.1. Téglalap módszer

Tételezzük fel hogy az xi csomópontok ekvidisztánsak: xi = x0 + ih; h = (b� a) =n:

Akkor azR baf (x) dx határozott integrál-ami nem más mint az f függvény és az Ox

tengely által bezárt terület a-tól b-ig-megközelíthet½o a téglalapok összterületével.

Z b

a

f (x) dx = h (f (x0) + :::+ f (xn�1)) (8.10)

Z b

a

f (x) dx = h (f (x1) + :::+ f (xn)) (8.11)

vagy ha ismertek a f�xi+xi+1

2

�értékek akkor:

Z b

a

f (x) dx = h

�f

�x0 + x12

�+ :::+ f

�xn�1 + xn

2

��: (8.12)

59. Tétel. Az (8.10), illetve (8.11) képlet esetében az abszolút hiba:����Z b

a

f (x) dx� h (f (x0) + :::+ f (xn�1))���� � hM1 (b� a)

ahol M1 = supx2[a;b] jf 0 (x)j.

113

Page 120: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

60. Megjegyzés. Az (8.10), illetve (8.11) képlet esetében a hibarend lineáris h-ra

nézve: ����Z b

a

f (x) dx� h (f (x0) + :::+ f (xn�1))���� = O (h)

vagy �gyelembe véve hogy h = b�anfelírhatjuk hogy a hibarend = O (n�1) ahol n a

téglalapok száma. A (8.12) képlet esetében a hiba négyzetes:

����Z b

a

f (x) dx� h�f

�x0 + x12

�+ :::+ f

�xn�1 + xn

2

������ = O �h2� = O �n�2� :8.2.2. A trapéz módszer

Egy aránylag egyszer½u úgyanakkor a téglalap módszernél pontosabb módszer. Az

xi csomópontok úgyszintén ekvidisztánsak az (xi; f (xi))ni=0 pontokat pedig lineárisan

kötjük össze:

az így keletkezet trapézok összterülete megközelíti az integrál értékét:

Z b

a

f (x) dx =h

2(f (x0) + 2f (x1) + :::+ 2f (xn�1) + f (xn)) (8.13)

a hiba pedig négyzetes:

����Z b

a

f (x) dx� h2(f (x0) + 2f (x1) + :::+ 2f (xn�1) + f (xn))

���� = O �n�2�ahol n a trapézok száma.

114

Page 121: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

8.2.3. A Simpson módszer

Ebben az esetben az (xi; f (xi))2ni=0 pontokat parabolákkal (hármasával) kötjük össze,

ezért a csomópontok száma páratlan kell legyen a lépés pedig h = b�a2n.

Az integrál értéke:Z b

a

f (x) dx =h

3

f (x0) + 4

nXi=1

f (x2i�1) + 2n�1Xi=1

f (x2i) + f (x2n)

!(8.14)

a hiba pedig 4-ed rend½u:�����Z b

a

f (x) dx� h3

f (x0) + 4

nXi=1

f (x2i�1) + 2n�1Xi=1

f (x2i) + f (x2n)

!����� = O �n�4� :Észre lehet venni hogy bár a Simpson algoritmus komplexitása csak egy fokkal n½o a

trapéz módszerhez képest a hibarend négyzetes rendr½ol 4-ed rend½ure ugrik. Emiatt ez

az eljárás nagyon gyakran használt.

Example 3

Számítsuk kiR 31x2dx értéket a trapéz illetve Simpson képlet segít-

ségével (n = 4).

Solution f (x) = x2: Amegadott n-b½ol kiszámítjuk a trapéz módszernek megfelel½o

lépést:h = 3�14= 0:5 majd a (8.13) képletb½ol:Z 3

1

x2dx =h

2(f (1) + 2f (1 + 0:5) + 2f (1:5 + 0:5) + 2f (2 + 0:5) + f (3)) =

= 0:25 (1 + 4:5 + 8 + 12:5 + 9) = 8: 75:

115

Page 122: numerikus modszerek

FEJEZET 8 � MANUSCRIPT

A hiba���8:75� x3

3

��31

��� = j8:75� 8:66j = 0:09 (O (n�2) = 1=16 = 0:0625) : Hasonlóan a

Simpson módszerb½ol h = 3�12�4 = 0:25 és a (8.14) képletb½ol:

Z 3

1

x2dx =

h

3(f (1) + 4(f (1:25) + f (1:75) + f (2:25) + f (2:75)) + 2 (f (1:5) + f (2) + f (2:5)) + f (3)) =

0:25

3(1 + 4 (1:5625 + 3:0625 + 5:0625 + 7:5625) + 2 (2:25 + 4 + 6:25) + 9) = 8: 6666:

Mivel a függvény másodfokú polinom az integrál zéro hibával állitható el½o a Simpson

képlettel.

61. Megjegyzés. Az említett képletek (szekvenciális) interpolációs sémákból erednek.

Az alábbi táblázat összehasonlítja a interpoláló polinom fokát illetve a hibarendet:

Módszer Interp. pol. fokszáma Hibarend

Téglalap 0 O (h)

Trapéz 1 O (h2)

Simpson 2 O (h4)

:

116

Page 123: numerikus modszerek

9. fejezet

Közönséges di¤erenciálegyenletek

9.1. Els½orend½u di¤erenciálegyenletek

Tekintsük a

y0 = f (x; y)

els½orend½u di¤erenciálegyenletet, ahol f egy el½ore megadott függvény. A di¤erenciále-

gyenlet y = y (x) megoldását integrál görbének nevezzük. Ha f sajátos alakú akkor

bizonyos esetekben a di¤erenciálegyenlet elemi úton is megoldható, de gyakran ez olyan

bonyolult, hogy sokkal kényelmesebb közelít½o módszerekkel egy partikuláris megoldás

el½oállitása. Úgyanakkor bizonyos egyenleteket csak numerikusan lehet megoldani�Pl. y0 = ex

2�:

Example 1

117

Page 124: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

Az

y0 = 2xy = f (x; y)

di¤erenciálegyenlet megoldása y (x) = cex2:

Az els½orend½u közönséges di¤erenciálegyenleteknek végtelen sok megoldása van,

amelyek egy konstansban különböznek egymástól. Ha egy plusz feltételt rendelünk a

feladathoz akkor a megoldás egyértemüvé válik. Ezt nevezzük Cauchy-féle feladatnak:8>><>>:y0 = f (x; y)

y (x0) = y0

: (9.1)

Mértanilag ez azt jelenti, hogy a görbeseregb½ol azt a görbét választjuk amelyik keresztül

halad az (x0; y0) ponton.

Example 2

Ha az el½obbi feladathoz hozzárendeljük a y (0) = 1 kezdeti feltételt

akkor a c konstans egyenl½o 1-gyel, vagyis a8>><>>:y0 = 2xy

y (0) = 1

Cauchy feladatnak y (x) = ex2a megoldása.

A numerikus módszereknek a lényege, hogy az integrál görbét pontszer½uen

közelítjük meg.

118

Page 125: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

A módszereket feloszthatjuk egylépéses illetve többlépéses módzserekre, attól

függ½oen hogy az i-edik pont kiszámításához egy vagy több pontot használtunk. Az egy

lépéses módszerek közé tartozik az Euler, Taylor, fokozatos közelítések, illetve Runge-

Kutta-féle módszer.

9.1.1. Az Euler-féle (törtvonal) módszer

Tekintsük a Cauchy-féle feladatot:8>><>>:y0 = f (x; y)

y (x0) = y0

; x 2 [a; b]

illetve az [a; b] intervallum egy ekvidisztáns felosztását:

a < x0 < ::: < xn = b; xi = x0 + ih

ahol h = b�ana lépést jelöli.

Az Euler módszer lényege, hogy az elméleti görbét -pontról pontra haladva-

lineáris szakaszokkal közelítjük meg és eredményül egy P0P1:::Pn tört vonalat kapunk;

innen származik a módszer elnevezése.

119

Page 126: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

3

elmeleti gorbe

Euler poligon(xi,y(x i))

Az Euler-féle törtvonal

Kiinduló pontként a P0 (x0; y0) használjuk, majd meszerkesztjük a P1 (x1; y1) pontot

ahol y (x1) = y1: Hasonlóan minden i-re az

y (xi) = yi

jelölést fogjuk használni. Az y1 ordináta kiszámítására felhasználjuk hogy P0P1 lineáris

és az iránytényez½oje konstans =y0 (x0) = f (x0; y0) =)

P0P1 :y1 � y0x1 � x0

= f (x0; y0) =) y1 = y0 + hf (x0; y0) : (9.2)

Hasonlóan szerkesztjük meg az összes többi yi; i = 2; :::; n ordinátát:

yi+1 = yi + hf (xi; yi) (9.3)

majd a Pi (xi; yi)ni=0 pontokat összekötjük.

Habár h! 0 -ra a módszer konvergens, maga az algoritmus nem túl pontos.

120

Page 127: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

Az (9.2) képlet nem más mint Taylor képlet az els½o két tagjára korlátozva:

y (x1) = y (x0 + h) = y (x0) + y0 (x0)h+O

�h2�()

y1 = y0 + f (x0; y0)h+O�h2�:

Tehát a P0 pont környezetében a módszer hibarendje négyzetes: O (h2) de n

lépés után (ennyi lépés szükséges Pn kiszámítására) a hibarend lineárissá válik:

n�O�h2�=b� ah

�O�h2�= O

�h�1��O

�h2�= O (h) :

A pontosság növelése érdekében használhatjuk a Taylor képletet de több tag �gyelem-

bevételével. Gyakrabban használt a másod- illetve negyedrend½u Taylor sorfejtés.

Example 3

Oldjuk meg a következ½o Cauchy-féle feladatot az Euler módszerrel

(h = 0:1) 8>><>>:y0 = xy

y (0) = 1

:

Solution f (x; y) = xy; x0 = 0; xi = i � 0:1; P0 (0; 1)

y1 = y0 + 0:1 � f (0; 1) = 1 + 0

=) P1 (0:1; 1)

y2 = y1 + hf (x1; y1) = 1 + 0:1 � 0:1 = 1:001

=) P2 (0:2; 1:001) ; :::

121

Page 128: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

9.1.2. Taylor módszer

yi+1 = yi + hf (xi; yi) +12!h2h@f@x(xi; yi) + f (xi; yi)

@f@y(xi; yi)

i+ :::

9.1.3. Runge-Kutta-féle módszer

RK23

yi+1 = yi +1

6(k1 + 4k2 + k3) :

RK45

yi+1 = yi +1

6(k1 + 2k2 + 2k3 + k4) ;

ahol

k1 = hf (xi; yi) ; k2 = hf

�xi +

h

2; yi +

k12

�;

k3 = hf

�xi +

h

2; yi +

k22

�; k4 = hf (xi + h; yi + k3) :

Minden intervallumon a hiba O (h5), tehát n lépés után a hibarend:

n�O�h5�= O

�h�1��O

�h5�= O

�h4�:

9.1.4. Fokozatos közelítések módszere

yi+1 (x) = Fyi (x) ;

122

Page 129: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

ahol

Fyi (x) =

Zf (t; y (t)) dt:::

9.2. Els½orend½u di¤erenciál egyenletrendszerek

Adott a következ½o der.: 8>><>>:y0 = f (x; y; z)

z0 = g (x; y; z)

(9.4)

Határozzuk meg az y = y (x) ; ill. z = z (x) függvényeket amelyek eleget tesznek az

alábbi kezdeti feltételeknek: 8>><>>:y (x0) = y0

z (x0) = z0

: (9.5)

A feladat megoldásához bármelyik ismert módszerhez folyamodhatunk: Euler, Taylor,

R-K, stb.

Az alábbiakban az Euler módszert mutatjuk be.

A (9.4) és (9.5) feltételekb½o következik hogy:

y0 (x0) = f (x0; y (x0) ; z (x0)) = f (x0; y0; z0)

z0 (x0) = g (x0; y (x0) ; z (x0)) = g (x0; y0; z0) :

Feltételezzük hogy a tanulmányozott intervallum fel van osztva x0 < x1 < ::: <

xn egyenköz½u osztópontokra: xi = x0+ih: Ezekben az osztópontokban megszerkesztjük

123

Page 130: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

az y ill. z függvény közelít½o értékét yi = y (xi) ; zi = z (xi) :

y1 � y0x1 � x0

= y0 (x0) = f (x0; y0; z0)

z1 � z0x1 � x0

= z0 (x0) = g (x0; y0; z0)

ahonnan:

y1 = y0 + hf (x0; y0; z0)

z1 = z0 + hg (x0; y0; z0) :

Hasonlóan kapjuk általánosan:

yi+1 = yi + hf (xi; yi; zi)

zi+1 = zi + hg (xi; yi; zi) ; i = 1; :::; n� 1:

Többfüggvényes egyenletrendszerek esetében hasonlóan járunk el.

9.3. Magasabbrend½u di¤erenciálegyenletek

Tekintsük a következ½o másodrend½u de.:

y00 = f (x; y; y0) : (9.6)

amihez az alábbi kezdeti feltételeket társítjuk:8>><>>:y (x0) = y0

y0 (x0) = y00

:

124

Page 131: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

Magasabbrend½u di¤erenciálegyenletek megoldása visszavezethet½o els½orend½u di¤

egyenletrendszerek megoldására.

Jelöljük

y =: y1; y0 =: y2;

Akkor az (9.6) a köv. di¤ egyenletrendszerrel ekvivalens:8>><>>:y01 = y2

y02 = f (x; y1; y2)

:

és a kezdeti feltételek:

y1 (x0) = y (x0) = y0 := y01

y2 (x0) = y01 (x0) = y0 (x0) = y

00 := y

02:

9.3.1. Másodrend½u di¤erenciálegyenlet megoldása véges dif-

ferenciákkal

Tekintsük az általános másodrend½u di¤. egyenletet:

y00 (x) + p (x) y0 (x) + q (x) y (x) = r (x) ; x 2 [a; b] (9.7)

ahol p; q; r 2 C [a; b] : A lényeg újból megközelíteni a tényleges y (x) értéket bizonyos

(xi)ni=0 ekvidisztáns csomópontokban: y (xi) = yi:

125

Page 132: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

Ennek érdekében felhasználjuk a numerikus deriválásból ismert képleteket,

például:

y0 (xi) =y (xi+1)� y (xi�1)

2h=yi+1 � yi�1

2h

y00 (xi) =y (xi+1)� 2y (xi) + y (xi�1)

h2=yi+1 � 2yi + yi�1

h2

ahol yi := y (xi) jelölést használtuk. Behelyettesítve a (9.7) képletben a köv. kapjuk:

yi+1 � 2yi + yi�1h2

+ piyi+1 � yi�1

2h+ qiyi = ri; i = 1; :::; n� 1

ahol pi = p (xi) :::

9.4. Parciális di¤erenciálegyenletek

A másodrend½u parciális de. általános alakja a következ½o:

a � uxx + b � uxy + c � uyy + d � ux + e � uy + f � u = g; (x; y) 2 (9.8)

ahol a; b; c; d; e; f; g függvények x; y -ban.

Osztályozás:

� ha b2 � 4ac > 0 akkor az (9.8)-es de.-t hiperbolikusnak nevezzük

Pl. Hullámegyenlet:

uxx =1

v2utt;

126

Page 133: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

� ha b2 � 4ac = 0 akkor az (9.8)-es de.-t parabolikusnak nevezzük

Pl. H½oterjedés, di¤úzió:

uxx =1

aut;

� ha b2 � 4ac < 0 akkor az (9.8)-es de.-t elliptikusnak nevezzük

Pl. Lapalce-féle egyenlet

uxx + uyy = 0:

Az u (x; y) függvény megszerkesztéséhez szükséges kezdeti vagy perem-feltételek.

9.4.1. A PDE megoldása véges di¤erenciákkal

Lefedjük az síktartományt egy � = fx1; x2; :::; xmg � fy1; y2; :::; yng rácsszerkezettel

ahol (xi)mi=1 ; (yj)

nj=1 egyenköz½u osztópontok xi+1 = xi + h; yi+1 = yj + k; h; k =lépés.

Az u (x; y) függvény megközelítésére az u függvény (xi; yj) csomópontokban közelítését

használjuk

u (x; y) ' u (xi; yj) ; i = 1;m; j = 1; n:

Az u (xi; yj) := uij jelölést használjuk.

Az (9.8) egyenlet diszkrét alakjában behelyettesítjük a deriváltak helyett az

127

Page 134: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

ismert numerikus derivált képleteket:

ux (xi; yj) = (ux)i;j =u (xi + h; yj)� u (xi; yj)

h=ui+1;j � ui;j

h; (9.9)

uy (xi; yj) = (uy)i;j =u (xi; yj + k)� u (xi; yj)

k=ui;j+1 � ui;j

k;

vagy a pontosabb közelítés

ux (xi; yj) = (ux)i;j =u (xi + h; yj)� u (xi � h; yj)

2h=ui+1;j � ui�1;j

2h; (9.10)

uy (xi; yj) = (uy)i;j =u (xi; yj + k)� u (xi; yj � k)

2k=ui;j+1 � ui;j�1

2k:

Hasonlóan a másodrend½u deriváltak

uxx (xi; yj) = (uxx)i;j =u (xi + h; yj)� 2u (xi; yj) + u (xi � h; yj)

h2

=ui+1;j � 2ui;j + ui�1;j

h2;

uyy (xi; yj) = (uyy)i;j =u (xi; yj + k)� 2u (xi; yj) + u (xi; yj � k)

k2(9.11)

=ui;j+1 � 2ui;j + ui;j�1

k2

uxy (xi; yj) = (uxy)i;j =u (xi + h; yj + k)� u (xi + h; yj)� u (xi; yj + k) + u (xi; yj)

hk

=ui+1;j+1 � ui+1;j � ui;j+1 + ui;j

hk:

A (9.10) képletek véve alapul az uxy (xi; yj) vegyes deriváltat a következ½o képletett lehet

128

Page 135: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

kiszámítani:

uxy (xi; yj) = (uxy)i;j (9.12)

=u (xi + h; yj + k)� u (xi + h; yj � k)� u (xi � h; yj + k) + u (xi � h; yj � k)

4hk

=ui+1;j+1 � ui+1;j�1 � ui�1;j+1 + ui�1;j�1

4hk:

A behelyettesítést követ½oen, attól függ½oen hogy kezdeti vagy perem-feltételek adódtak,

egy rekurzív képletet- vagy egy egyenletrendszert kapunk aminek az ismeretlenei ui;j:

Example 4

Example 5

H½oterjedés: adott egy L egységnyi vastag és végte-

len nagyságú lemez. Az eredetileg f (x) fokos

lemezt a t0 id½opontban leh½utjük u0 fokra (az oldal

felületet). Vizsgáljuk a h½oterjedést a lemezanyagában

ha az oldalak u0 fokon vannak tartva.8>>>>>>>>>><>>>>>>>>>>:

u : [0; L]� [0; T ]! R

uxx (x; t) =1aut (x; t) ;

u (x; 0) = f (x) ; x 2 [0; L]

u (0; t) = g0 (t) ; u (L; t) = g1 (t) ; t 2 [0; T ]

; (9.13)

129

Page 136: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

ahol [0; T ] a tanulmányozott id½ointervallum, a pedig

a lemez h½oterjedési együtthatója.

Konkrét adatok: L = 2; T = 0; 5; f (x) = 100 (�C) ; 8x 2

[0; 2] ; u0 = 0 (�C) ; a = 1; g0 (t) = g1 (t) = 0 (

�C) :

Proof. Legyen xi = i�h; i = 0; n; h = (L�0)=n; és tj = j �k; j = 0;m; k = (T�0)=m;

illetve az általuk alkotott rács szerkezet (lásd az alábbi ábrát)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

t i

xi

(x i­ 1,yj) (xi,yj) (x i+1,yj)

(x i,yj+1)

A rács szerkezet

Behelyettesítve a (9.13) képletbe a (9.9),(9.11) képleteket azt kapjuk, hogy

ui+1;j � 2ui;j + ui�1;jh2

� 1a

ui;j+1 � ui;jk

= 0; i = 1;m� 1; j = 0; n� 1:

130

Page 137: numerikus modszerek

FEJEZET 9 � MANUSCRIPT

Átalakítva a következ½o rekurzív képletett kapjuk:

ui;j+1 =ak

h2ui�1;j +

�1� 2ak

h2

�ui;j +

ak

h2ui+1;j; i = 1;m� 1; j = 0; n� 1:

A konkrét adatok esetében vegyük a következ½o lépéseket h = 0:2; k = 0:01 ) akh2=

0:25

ui;j+1 = 0:25ui�1;j + 0:5ui;j + 0:25ui+1;j; i = 1;m� 1; j = 0; n� 1:

ahol u0;j+1 = 0; un;j+1 = 0; ui;0 = 100: Az alábbi ábrán a h½omérséklet eloszlása látható

a lemezben

0

0.5

1

1.5

2

00.1

0.20.3

0.40.5

0

20

40

60

80

100

x=lemez vastag.

hoterjedes u xx=1/a*u t

t=ido

u=te

mp

H½oterjedés a lemezben

131

Page 138: numerikus modszerek

Irodalomjegyzék

[1] Bahvalov N.Sz.: A gépi matematika numerikus módszerei, M½uszaki Könyvkiadó,

Budapest, 1977.

[2] Bajcsay P.: Numerikus analízis, Tankönyvkiadó, Budapest, 1978.

[3] Bjezikovics Ja.Sz.: Közelít½o számítások, Tankönyvkiadó, Budapest, 1952.

[4] de Boor C.: A practical guide to splines, Springer-Verlag New York Heidelberg

Berlin, 1978.

[5] Coman Gh.: Analiz¼a numeric¼a, Editura Libris, Cluj-Napoca, 1995.

[6] Farin G., Hansford D.: The essentials of CAGD, A.K. Peters, 2000.

[7] Laz¼ar I.: Metode numerice cu functii în C++, Presa universitar¼a clujean¼a, Cluj-

Napoca, 2001.

[8] Obádovics J. Gy.: Gyakorlati számítási eljárások, Gondolat Kiadó, 1972.

132

Page 139: numerikus modszerek

IRODALOMJEGYZÉK � MANUSCRIPT

[9] Popper Gy., Csizmás F.: Numerikus módszerek mérnököknek, Akadémiai Kiadó,

Typotex, Budapest, 1993.

[10] Singiresu R.: Applied numerical methods for engineers and scientists, New Jersey

Prentice-Hall, 2002.

[11] Stoyan G., Takó G.: Numerikus módszerek, Typotex, 2005.

[12] Virágh J.: Numerikus matematika, Szeged JATE Press, 2003.

[13] Vladislav T., Rasa I.: Analiz¼a numeric¼a, Editura Tehnic¼a, Bucuresti, 1997.

[14] ***, Analiz¼a numeric¼a-Lucr¼ari de laborator, Univ. Babes-Bolyai, Fac. de Matem-

atic¼a si Informatic¼a, Cluj Napoca, 1994.

133