Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBéla Szekeres Megváltozta több, mint 8 éve
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.