Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Kontinuum modellek 2.  Közönséges differenciálegyenletek numerikus megoldásának alapjai  közönséges differenciálegyenletek  Euler módszer  Runge-Kutta.

Hasonló előadás


Az előadások a következő témára: "Kontinuum modellek 2.  Közönséges differenciálegyenletek numerikus megoldásának alapjai  közönséges differenciálegyenletek  Euler módszer  Runge-Kutta."— Előadás másolata:

1 Kontinuum modellek 2.  Közönséges differenciálegyenletek numerikus megoldásának alapjai  közönséges differenciálegyenletek  Euler módszer  Runge-Kutta módszer  példák

2 Közönséges differenciálegyenletek Dr. Erdélyi Zoltán Számítógépes modellezés 2

3 Közönséges differenciálegyenletek Dr. Erdélyi Zoltán Számítógépes modellezés 3

4 Közönséges differenciálegyenletek Dr. Erdélyi Zoltán Számítógépes modellezés 4

5 Közönséges differenciálegyenletek Dr. Erdélyi Zoltán Számítógépes modellezés 5

6 Euler módszer Az előzőekben leírt módszer „szószerinti” algoritmizálása jelenti az Euler módszert.  általában nem javasolják a használatát vannak lényegesen jobbak (jobb közelítést adnak) általában nem túl stabil az algoritmus Dr. Erdélyi Zoltán Számítógépes modellezés 6

7 Euler módszer Dr. Erdélyi Zoltán Számítógépes modellezés 7

8 Euler módszer Dr. Erdélyi Zoltán Számítógépes modellezés 8 y(x) x x1x1 x2x2 x3x3 1 2

9 Euler módszer  Pszeudo kód: f(x,y) definiálása – ez az y(x) függvény deriváltja x 0 és y 0 kezdőértékek megadása a h lépéshossz és az n lépésszám megadása. for j from 1 to n do y 1 = y 0 + h*f(x 0, y 0 ) x 1 = x 0 + h x 1 és y 1 kiíratása x 0 = x 1 és y 0 = y 1 end Dr. Erdélyi Zoltán Számítógépes modellezés 9 for ciklus: a do és az end közötti utasítássorozat n-szer kerül végrehajtásra for ciklus: a do és az end közötti utasítássorozat n-szer kerül végrehajtásra

10 Euler módszer Dr. Erdélyi Zoltán Számítógépes modellezés 10

11 Euler módszer Dr. Erdélyi Zoltán Számítógépes modellezés 11

12 Euler módszer  Az Euler algoritmus akár Excel-ben is megvalósítható Relatív és abszolút hivatkozások alkalmazásával ennyit kell beírni az Excel-be, innen másolható a művelet. Dr. Erdélyi Zoltán Számítógépes modellezés 12 xf(x,y)y x0f(x0,y0)y0 x1=x0+hf(x1,y1)y1=y0+h*f(x0,y0) kezdeti érték, előre ismert kezdeti érték, előre ismert 22 1 3 44

13 Euler módszer A megvalósítás Excel táblája Dr. Erdélyi Zoltán Számítógépes modellezés 13 Bemeneti paraméterek x0=0 y0=1 h=0.1 xf(x,y)= 2-exp(-4x)-2yy_numy_anal = 1+ 0.5*exp(-4x)-0.5*exp(-2x)hiba = (y_num-y_anal)/y_anal 0110.00% 0.1-0.4703200460.90.925794646-2.79% 0.2-0.1552649550.8529679950.889504459-4.11% 0.30.0239227880.83744150.876191288-4.42% 0.40.1184359250.8398337790.876283777-4.16% 0.50.1613099740.8516773710.883727921-3.63%

14 Euler módszer A numerikus és az analitikus megoldás grafikus összehasonlítása Dr. Erdélyi Zoltán Számítógépes modellezés 14 h = 0.1

15 Euler módszer A numerikus és az analitikus megoldás grafikus összehasonlítása Dr. Erdélyi Zoltán Számítógépes modellezés 15 Látható, hogy a lépésköz, azaz h csökkentésével javul a közelítés, azaz csökken a hiba. h = 0.01

16 Runge-Kutta módszer Dr. Erdélyi Zoltán Számítógépes modellezés 16

17 Runge-Kutta módszer Dr. Erdélyi Zoltán Számítógépes modellezés 17

18 Runge-Kutta módszer Dr. Erdélyi Zoltán Számítógépes modellezés 18 y(x) x x1x1 x2x2 x3x3 1 3 5 2 4

19 Runge-Kutta módszer Dr. Erdélyi Zoltán Számítógépes modellezés 19

20 Implementált algoritmusok A megoldási algoritmusokat általában nem szükséges nekünk megvalósítanunk, mert számos program, vagy kód elérhető.  Ezek egy része ingyenesen is elérhető, más része pedig megvásárolható. Előnyeik: optimalizáltak, megbízhatóak, stb.  Programok Wolfram Mathematica (fizetős programcsomag, de létezik online ingyenesen használható verziója is) MathLab (fizetős programcsomag) Dr. Erdélyi Zoltán Számítógépes modellezés 20

21 Implementált algoritmusok SciLab (ingyenes programcsomag, a MathLab-hoz nagyon hasonló, szintaktikája is nagymértékben átfed vele) Numerical Recepies (eljárásgyűjtemény C, C++, Fortan nyelven, mely beépíthető saját programkódba) Stb. Dr. Erdélyi Zoltán Számítógépes modellezés 21

22 Implementált algoritmusok Dr. Erdélyi Zoltán Számítógépes modellezés 22 h = 0.01 A kód által adott eredmény


Letölteni ppt "Kontinuum modellek 2.  Közönséges differenciálegyenletek numerikus megoldásának alapjai  közönséges differenciálegyenletek  Euler módszer  Runge-Kutta."

Hasonló előadás


Google Hirdetések