• Nem Talált Eredményt

17.1. Elméleti összefoglaló

Az y0(x) = f(x,y) differenciálegyenlet (ahol y vektormennyiség is lehet) y(x) megoldását szeretnénk meghatározni egy egész [a,b] intervallumon, vagy csak egy adott b pontban.

A legtöbb esetben valamilyen kezdeti érték, például y(a) = y0 adott. Vágjuk fel az [a,b]

intervallumoth=b−an hosszúságú darabokra (h-t lépéshossznak vagy lépésköznek nevezzük).

Legyenek az egyes szakaszok végpontjai aza=x0,x1, . . .xn=bpontok (azazxk=a+kh).

Egymás után minden xk pontban meghatározzuk a pontos y(xk) megoldás közelít˝o értékét, amityk-val jelölünk, és végül a megoldásb-beli értékének,y(b)-nek a közelítéseynlesz. Az yk értékek természetesen függnek attól, hogy milyen módszert választunk.

A legegyszer˝ubb és id˝orendben is a legkorábbi módszer azon a felismerésen alapul, hogy minden differenciálható függvény jól közelíthet˝o az érint˝ojével, márpedig a derivált (amit a differenciálegyenletb˝ol ismerünk) pont az érint˝o meredekségét adja meg. Ezért úgy konstruáljuk meg a közelít˝o megoldást, hogy az(a,y0)pontból az érint˝o irányába mozdulunk el az (a+h,y0+ f(a,y0)) pontba, majd minden (xk,yk) pontból az ottani érint˝o irányába megyünk tovább az(xk+h,yk+h f(xk,yk))pontba. Ez azt jelenti, hogy a megoldásxk+1-beli közelít˝o értéke,

yk+1=yk+h f(xk,yk). (EE) Ez az explicit Euler-módszer (EE).

0.2 0.4 0.6 0.8 1

1.25 1.5 1.75 2 2.25 2.5

17.1. ábra. Az y0 = y+xy−x, y(0) = 1 kezdetiérték-probléma EE módszerrel kapott közelít˝o megoldása. A lépésköz 0,1

178

17.1.1.PÉLDA Az y0 = y+xy−x, y(0) = 1 kezdetiérték-probléma pontos megoldása y(x) = x+√

1+2x2. Az y0 = y+xy−x, y(0) = 1 kezdetiérték-probléma tíz lépéses, 0,1 lépésköz˝u EE módszerrel kapott közelít˝o megoldása látható a 17.1 ábrán. y1 = y0+h f(x0,y0) = 1+0,11+01−0 =1,1, y2=y1+h f(x1,y1) =1,1+0,11,1+0,11,1−0,1 =1,22, stb. Az y(1)-et közelít˝o y10 értéke közelít˝oleg 2,69165. A feladat pontos megoldása egyébként y(x) =x+√

1+2x2, azazy(1)≈2,73205.

Mekkora a hiba?y(x+h) =y(x) +hy0(x) +h22y00(ξ), azaz minden lépésbenconst·h2hibát követünk el. Összesenn=b−ah lépés van, tehát a hiba összesenconst·hlesz.

Egy másik lehet˝oség, ha mindig oda lépünk tovább, ahonnan az (ottani) érint˝o irányába visszalépve az jelenlegi pontunkat kapjuk, azaz yk+1−h f(xk+1,yk+1) =yk, szokásosabb formájában

yk+1=yk+h f(xk+1,yk+1). (IE) Ez az implicit Euler-módszer (IE).

Az EE módszernél csak ki kellett számolni f értékét egy adott pontban, most viszontyk+1 -re egy egyenletet kell megoldanunk, ami f-t˝ol függ˝oen bonyolult is lehet. Ez a különbség az explicit és az implicit módszerek között. Akkor hívunk egy módszert explicitnek, ha minden újabb függvényérték kiszámításához csak a korábbi, meglév˝o értékek valamilyen függvényét kell kiszámolnunk, egyenletmegoldás nélkül, különben a módszer implicit.

Az (IE) egyenlet megoldását kereshetjük fixpont-iterációval. LegyenYk+1[0] =yk,Yk+1[n+1]= yk+h f(xk+1,Yk+1[n] ).1 Ha |Yk+1[n+1]−Yk+1[n] |<t, ahol t el˝ore adott pontosság, ún. tolerancia, akkor megállunk, ésyk+1=Yk+1[n+1].

Látszólag az implicit módszerek bonyolultabbak, több számítást igényelnek. Az explicit módszerek nagy hátránya azonban, hogy „nem látnak a jöv˝obe”, azaz elegend˝oen kis lépés-hossz esetén konvergálnak ugyan, de nagyobb lépéslépés-hosszakra teljesen rossz eredményeket adnak – azt pedig nem mindig lehet el˝ore tudni, hogy mi az elegend˝oen kicsi. Egy példa a17.2ábrán látható.

Az Euler-módszer hibája a h lépéshosszal arányos, azaz a módszer els˝orend˝u. Egy módszer rendje az a legnagyobb k egész szám, amelyre teljesül, hogy (k-szor folytonosan differenciálható jobb oldal esetén) a hiba h→0 eseténhk-nal osztva korlátos. A magasabb-rend˝u módszerek sokkal gyorsabban konvergálnak: ha a lépéshosszt a tizedére csökkentjük, az els˝orend˝u módszerek hibája a tizedére, a másodrend˝ueké a századára, a harmadrend˝ueké az ezredére csökken.

Hogyan juthatunk magasabbrend˝u módszerekhez? Az els˝o ötlet, hogy ne csak a kiindulási vagy a végpontbeli érint˝o meredekségét használjuk fel, hanem mindkett˝ot, és ezeket átlagoljuk, vagy súlyozzuk. Így kapjuk aCrank–Nicholson-módszert:

yk+1=yk+1

2h[f(xk,yk) +f(xk+1,yk+1)]. (CN)

180 GÉPÉSZKARI MATEMATIKA MSC

A Crank–Nicholson-módszer másodrend˝u. A rend további növelésére két lehet˝oségünk van. Az egyik, hogy az (xk,yk) pontból nem egy adott irányú szakaszt húzunk, hanem több lépcs˝oben közbüls˝o értékeket számolunk ki, és az ottani deriváltakat is figyelembe vesszük yk+1 értékének a kiszámításához. A még ma is használt többlépcs˝os módszerek az ún. Runge–Kutta módszerek. 1895-ben Runge egy negyedrend˝u módszert talált, hat évvel kés˝obb Kutta egy ötödrend˝ut. Ez a két módszer egy rendkívül bonyolult általános sémába illeszkedik, amellyel további magasabbrend˝u módszerek nyerhet˝ok; ma ezeket hívják összefoglaló néven Runge–Kutta módszereknek, és ezen belül Runge-módszerére rendszerint az RK41, Kuttáéra RK5 néven hivatkoznak. Mindkett˝o explicit módszer; ezek képletét is lásd a matematikai háttérnél.

A másik lehet˝oség magasabb rend elérésére, hogy nem több közbüls˝o értéket használunk föl, hanem a korábban kiszámolt y értékek közül használunk fel többet; így kevesebb számítással is elérhetjük a kívánt pontosságot. Többlépéses módszereknek nevezzük azokat, amelyek több el˝oz˝o (xk,yk) pontbeli függvényértéket használnak fel. Ilyenek az Adams–

Moulton és az Adams–Bashforth-módszerek (lásd a matematikai háttérnél).

Ahhoz, hogy egy többlépéses módszer konvergens lehessen, két egyszer˝u feltételnek meg kell felelnie. Az egyik ilyen a konzisztenciája: akkor hívjuk konzisztensnek a módszert, ha két nagyon egyszer˝u egyenlet esetében pontos kiindulási értékekb˝ol továbbra is pontos értékeket szolgáltat. Egy másik feltétel a stabilitás(vagy zéró-stabilitás): a lehet˝o legegyszer˝ubb,y0(x) =0 egyenletnél a hibák nem n˝onek végtelen nagyra. Ami érdekes, hogy ez a két tulajdonság már garantálja a konvergenciát.

17.2. Kidolgozott példák

17.2.1.KIDOLGOZOTT FELADAT Közelítsük az y0(x) = x−y(x), y(0)=1 kezdetiérték-probléma megoldásának1-beli értékét az explicit Euler-módszerrel. Legyen h= 14.

MEGOLDÁS Az explicit Euler-módszer úgy m˝uködik, hogy felosztjuk az(a,b)(jelen esetben a(0,1)) intervallumot aza=x0,x1, . . . ,xn=bosztópontokkalhhosszúságú szakaszokra. A megadott kezdeti értékb˝ol indulunk, és ha azy(x)megoldásxk-beli értékétyk-val közelítettük, akkor az(xk,yk)-beli érint˝o irányába lépünk tovább, azazyk+1=yk+h f(xk,yk) =yk+h(xk

tankonyvtar.ttk.bme.hu Kiss Márton - Nagy Katalin, BME

17.2.2.KIDOLGOZOTT FELADAT Közelítsük az y0(x) = x−y(x), y(0)=1 kezdetiérték-probléma megoldásának1-beli értékét az implicit Euler-módszerrel. Legyen h= 14.

MEGOLDÁS Az implicit Euler-módszer úgy m˝uködik, hogy felosztjuk az (a,b) (jelen esetben a (0,1)) intervallumot az a = x0,x1, . . . ,xn = b osztópontokkal h hosszúságú szakaszokra. A megadott kezdeti értékb˝ol indulunk, és ha azy(x)megoldásxk-beli értékétyk -val közelítettük, akkor azyk+1pontot úgy választjuk, hogy onnan az(xk+1,yk+1)-beli érint˝o irányába visszalépve pont(xk,yk)-t kapjuk, azazyk+1=yk+h f(xk+1,yk+1) =yk+h(xk+1

17.2.3.KIDOLGOZOTT FELADAT Keressük meg az y0=−100y, y(0) =1

kép. közelít˝o megoldásának1-beli értékét az explicit és az implicit Euler-módszerrel is, ha h= 15! Mit tapasztalunk? Aztán mutassuk meg, hogy h= 1n és n→∞ esetén a közelítés a pontos értékhez tart.

MEGOLDÁS Hay(t) egy rezg˝o test adott pontjának a kitérése az id˝o függvényében, akkor minél merevebb a test, annál gyorsabban hal el a rezgés, azaz annál gyorsabban tart y a nullához. Az olyan egyenletet, amelynek van gyorsan nullához tartó megoldása, merev (stiff) egyenletnek nevezzük. Ez az egyenlet is merev, hiszen a pontos megoldás y(t) = e−100t, rettent˝o gyorsan tart a nullához.

Az EE módszerrel yk+1 =yk−100hyk = (1−100h)yk, azaz h= 15-nél yk+1=−19yk. Ezek szerinty1=−19,y2=361, és nullához tartás helyett egyre nagyobb számokat kapunk.

Ez azért lehetséges, mert az érint˝o annyira meredek, hogy bár a t tengelyen csak h= 15-öt lépünk, az ytengelyen jóval többet. Megjavul-e a módszer, ha kisebb lépésközt választunk?

Általában yn = (1−100h)yn−1 =. . . = (1−100h)ny0, azaz h= 1n és y0 =1 esetén y(1) közelítése,yn= (1−100n )n. Hantart a végtelenhez, akkor(1−100n )n→e−100, ami a pontos megoldás.

Az IE módszerrel yk+1 =yk−100hyk+1, ahonnan yk+11+100h1 yk. Eszerinth= 15 esetén yk+1= 211yk, azaz y1= 211, y2= 2112, . . ., ezek az értékek nullához tartanak. Általábanyn=

182 GÉPÉSZKARI MATEMATIKA MSC

a pontos megoldáshoz tart.

Tehát elég kis lépésközt választva mindkét módszer a pontos megoldáshoz közelít. Mégis, f˝oleg az ún. merev egyenleteknél, nem mindig látható, hogy elég kis lépésközt választottunk-e, ezért az implicit módszernek is megvannak az el˝onyei (nem száll el), még ha nehezebb is

számolni vele. 2

17.2.4.KIDOLGOZOTT FELADAT

y01=−16y1+12y2+16 cosx−13 sinx

y02=12y1−9y2−11 cosx+9 sinx (17.1) y1(0) =1, y2(0) =0.

Próbáljuk meg megoldani az explicit Euler-módszerrel n lépésben, h= πn lépéshosszal. Mi történik? A pontos megoldás y1(x) =cosx, y2(x) =sinx.

MEGOLDÁS Az el˝oz˝o feladat mintájára tekintsük az y0(x) =−Ny(x) egyenletet! A pontos megoldásy(x) =c·e−Nx, azazy(xy(xk+1)

k) =e−Nh, deyk+1=yk+h(−Nyk) = (1−hN)yk. Ha 1−Nh<−1, azaz h> N2, akkor |yk+1| növekedni fog! Ilyenkor vagy a lépéshosszt változtatjuk, vagy implicit módszereket alkalmazunk.

10-2 10-1.5 10-1 10-0.5 100

17.2. ábra. Az explicit és az implicit Euler-módszer hibája a lépéshossz függvényében a (17.1.) egyenlet esetén

A feladat egyenlete lineáris. Ilyenkor többnyire a megoldás és a deriváltja közötti nagyságrendet a homogén rész mátrixának a legnagyobb abszolútérték˝u sajátértéke határozza meg, ez most−25. Teháth>252 esetén számíthatunk rá, hogy a hiba növekedni fog, míg elég kish-ra a hibah-val arányosan csökken. Valóban ez a helyzet, lásd a17.2ábrát [1]. 2

tankonyvtar.ttk.bme.hu Kiss Márton - Nagy Katalin, BME

17.2.5.KIDOLGOZOTT FELADAT Egy y(x)függvény értékeit numerikusan határoztuk meg az x±h, x±2h, stb. pontokban. Jelölje y(x+kh) értékét yk. Milyen nagyságrend˝u hibát követünk el, ha y0(x)értékét a

9y−3−16y−4+7y−5 2h

képlettel számítjuk ki?

MEGOLDÁS Azy(x+h) =y(x) +hy0(x) +h22y00(x) +h63y000(x) +O(h4)sorfejtés alapján y−3=y(x)−3hy0(x) +9h2

2 y00(x)−27h3

6y000(x) +O(h4), y−4=y(x)−4hy0(x) +16h2

2 y00(x)−64h3

6y000(x) +O(h4), y−5=y(x)−5hy0(x) +25h2

2 y00(x)−125h3

6y000(x) +O(h4).

A megadott képlet számlálója 9-szer az els˝o sor - 16-szor a második sor + 7-szer a harmadik sor, azaz 2hy0(x)−94h3y000(x) +O(h4). Ezt 2h-val osztva y0(x)−47h2y000(x) +O(h3)-öt kapunk, vagyis a hibah2-tel arányos, a képlet másodrendben közelíti a deriváltat. 2

17.3. Gyakorló feladatok

17.3.1.FELADAT Közelítsüky(1)értékét az implicit Euler-módszer segítségével, hayaz y0=−4y, y(0) =3

kezdetiérték-probléma megoldása. Legyenh=0,05.

17.3.2.FELADAT Bizonyítsuk be, hogy y1−y2h−1 azy0(x)másodrend˝u közelítése!

17.3.3.FELADAT Bizonyítsuk be, hogy (azyk=y(x+kh)rövidítéssel élve)

−y−1+3y0−3y1+y2 h3

azy000(x)harmadik derivált els˝orend˝u közelítése!

17.4. Matematikai háttér

Többlépcs˝os módszerek

184 GÉPÉSZKARI MATEMATIKA MSC

• Heun-módszer, vagy egyszer˝usített Runge–Kutta-módszer:

yk+1=yk+h f(xk,yk), majd

• Kutta (egyik) módszere ([1], 174. old):

yk+1=yk+ h

tankonyvtar.ttk.bme.hu Kiss Márton - Nagy Katalin, BME

Többlépéses módszerek

ynkiszámításához több el˝oz˝o értéket használunk fel:

yn1yn−12yn−2+. . .+αkyn−k+ (17.2)

+h(β0f(xn,yn) +β1f(xn−1,yn−1) +. . .+βk(xn−k,yn−k)).

Speciális esetek:

• Adams–Moulton-módszer: α1=1,α2=. . .=αk=0.

• Adams–Bashforth-módszer: az el˝oz˝oeken felülβ0=0.

Néhány „természetes” elvárás:

• prekonzisztencia: y0(x) =0-t jól oldja meg, ha az els˝o k érték pontosan adott, azaz 1=α12+. . .+αk.

• konzisztencia: ha prekonzisztens, ésy0(x) =1,y(0) =0-t jól oldja meg, azaz nh=α1h(n−1) +α2h(n−2) +. . .+αkh(n−k) +h(β1+. . .+βk),

α1+2α2+. . .+kαk1+. . .+βk.

• (zéró-)stabilitás:y0(x) =0 közelít˝o megoldásai korlátosak maradnak pontatlany0,y1, . . . ,yk−1 esetén is.

• konvergencia: Tegyük fel, hogy az y0,y1, . . . ,yk−1 kezdeti értékek y(x0) ésh függvé-nyében adottak úgy, hogy h→0 esetén mindegyik y(x0)-hoz tart. Ebben az esetben bármilyenm≥k-raym→y(xm), hah→0.

17.4.1.TÉTEL ([1], Theorem 406D) A (17.2.) többlépéses módszer pontosan akkor konvergens, ha konzisztens és (zéró-)stabil.

18. fejezet