Top Banner
Numerikus mdszerek Jegyzet KupÆn PÆl
139

numerikus modszerek

Oct 26, 2015

Download

Documents

Timea Nagy

numerikus modszerek
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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