Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor...

39
Kaedah Runge-Kutta Bab 25

Transcript of Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor...

Kaedah Runge-Kutta

Bab 25

Di akhir bab ini, anda sepatutnya:Boleh menjelaskan gambaran visual kaedahEuler, Heun dan titik tengahFaham hubungan antara kaedah Euler dan siri Taylor dan ralat yang berkaitanDapat membezakan ralat (local & global truncation errors)Tahu bentuk umum kaedah Runge_Kutta; faham terbitan peringkat kedua kaedah RK dan bagaimana ia dikaitkan dengan siri Taylor dan faham terdapat pelbagai versi kaedah RK peringkat kedua dan lebih tinggi

Di akhir bab ini, kamu sepatutnya:Tahu bagaimana untuk menggunakan mana-mana kaedah RK ke dalam persamaan sistem; boleh mengurangkan peringkat ke-n ODE ke dalam n sistem ODE peringkat pertama.

Kaedah Runge-Kutta

anggarancerun

Untuk menyelesaikan persamaan pembezaan biasa (ODE) dalam bentuk:

Untuk mendapatkan nilai y yang baru :

),( yxfdxdy

),( yxfdxdy

hyy ii 1 (25.1)

Rajah 25.1

Kaedah Euler

Daripada rajah, nilai cerun, pada xi

di mana merupakan persamaan pembezaan pada xi dan yi.Masukkan ke dalam persamaan (25.1):

),( ii yxf),( ii yxf

hyxfyy iiii ),(1 (25.2)

dikenali sebagi kaedah Euler atau

Euler-Cauchy

Dengan ralat

)(

atau!2

),('kecil,cukuphJika

)(...!2

),('

2

2

12

hOE

hyxfE

hOhyxfE

a

iia

niit (25.7)

(25.8)

(25.9)

ingat!penyelesaian sebenar:y=-0.5x4+4x3-10x2+8.5x+1Contoh

Gunakan kaedah Euler untuk mengamirkan secara berangka fungsi berikut dari x =0 hingga x = 4 dengan saiz langkah 0.5.

Keadaan awal pada x = 0 adalah y = 1.

5.820122 23 xxxdxdy

Penyelesaian

Untuk langkah kedua:

25.5)5.0(5.81)5.0(5.85.8)0(20)0(12)0(2)1,0(

:0 x padacerunanggarandan1y(0)manadi5.0)1,0()0()5.0(

23

yf

fyy

875.55.05.8)5.0(20)5.0(12)5.0(225.5

5.0)25.5,5.0()5.0()1(23

fyy

*nilai sebenary(0.5)=3.21875

dengan ralat-2.03125(-63.1%)

Rajah 25.3

Mengganggar ralat Kaedah Eulermenggunakan siri Taylor

ContohGunakan persamaan (25.7) untuk menganggar ralat pada persamaan di dalam contoh sebelum ini, seterusnya tentukan ralat yang disebabkan oleh siri taylor peringkat tinggi

Penyelesaian(1)

Oleh kerana fungsi adalah dalam bentuk polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler.Menggunakan persamaan (25.7),

432

!4),('

!3),('

!2),(' hyxfhyxfhyxfE iiiiii

t

Penyelesaian(2)

03125.203125.05.05.2

03125.0)5.0(2412

5.0)5.0(6

24)0(12

5.2)5.0(2

20)0(24)0(6:peringkatpadaralatMaka

12),(

2412),(''20246),('

4,3,2,

44,

33,

22

2,

)3(

2

tttt

t

t

t

ii

ii

ii

EEEE

E

E

E

yxf

xyxfxxyxf

perhatikan nilai ralat yang didapati adalah tepat untuk langkah pertama

*perhatikan bagaimana siri Taylor dapat

menganggarkan ralat bagi kaedah Euler

Kesan pada pengurangan saiz langkah pada kaedah Euler

Gunakan kaedah Euler untuk mengamirkan secara berangka fungsi berikut dari x =0 hingga x = 4 dengan saiz langkah 0.25.

Keadaan awal pada x = 0 adalah y = 1.

5.820122 23 xxxdxdy

Rajah 25.4

Rajah 25.5

Pembaikan kepada Kaedah Euler

Kaedah Heun

Rajah 25.9

Menggunakan dua persamaan – penganggardan pembetul:

hyxfyxfyy

yxfyxfyy

yxfy

hyxfyy

yxfy

iiiiii

iiiiii

iii

iiii

iii

2),(),(

2),(),(

2''y'

:adalahcerunPurata),('

),(

seterusnyanilaimanadi),('

01

1

011

011

01

(25.12)

(25.13)

(25.14)persamaanpenganggar

persamaanpembetul

Dengan ralat,

%1001

111

ji

ji

ji

a yyy

Contoh

Gunakan kaedah Heun dengan saiz langkah, h = 1, untuk mengamirkan persamaan

dari x = 0 hingga x = 4 dengan keadaan awal x = 0 dan y = 2.

yey x 5.04' 8.0

hyxfyy iiii ),(:penganggarPersamaan*

01Penyelesaian(1)

1. cerun pada (x0, y0) adalah2. Gunakan psn penganggar mencari y pada x = 1.0

3. Cari nilai y’1

4. Cari nilai purata y’

3)2(5.04' 00 ey

5)1(3201y

402164.6)5(5.04' )1(8.01 ey

701082.42402164.63'y

Penyelesaian(2)

5. Masukkan ke dalam persamaan pembetul:701082.6)1(701082.421y

Kaedah Titik Tengah

Kaedah ini menggunakan kaedah Euler bagimencari titik tangah nilai y:

Bagi cerun pada titik tengah,

2),(2/1hyxfyy iiii (25.25)

),(' 2/12/12/1 iii yxfy (25.26)

Kaedah Titik Tengah

Cerun ini kemuadian digunakan untuk mencari nilai yi+1

hyxfyy iiii ),( 2/12/11

(25.27)

Rajah 25.12

Kaedah Runge-Kutta

Kaedah Heun dengan pembetul tunggal

Dengan andaian a2 = ½, maka a1 = ½ danp1=q11=1.

di mana k1 = f(xi,yi) dan k2 = f(xi +0.5h, yi + 0.5k1h)

hkkyy ii 211 21

21

(25.36)

(25.36b)(25.36a)

Kaedah Titik Tengah (a2 = 1)

Dengan andaian a2 = 1, maka a1 = 0 danp1=q11=1/2.

di mana k1 = f(xi,yi) dan k2 = f(xi +h, yi + k1h)

hkyy ii 21 (25.37)

(25.37a)

(25.37b)

Kaedah Ralston ( a2 = 2/3 )Dengan andaian a2 = 2/3, maka a1 = 1/3 danp1=q11=3/4.

di mana k1 = f(xi,yi) dan k2 = f(xi +0.75h, yi + 0.75k1h)

(25.38)

(25.38a)

(25.38b)

hkkyy ii )32

31( 211

Contoh

Menggunakan kaedah titik tengah dan kaedah Ralston, kamirkan secara berangka:

dari x = 0 hingga x = 4 dengan saiz langkah 0.5. Keadaan awal adalah x = 0 dan y =1.

5.820122),( 23 xxxyxf

Penyelesaian(1)

Menggunakan kaedah titik tengah,

109375.3)5.0(21875.41)5.0(menganggaruntukdigunakanbolehgah titik tendicerun

21875.45.8)25.0(20)25.0(12)25.0(2

5.85.8)0(20)0(12)0(223

2

231

y

k

k

Penyelesaian(2)Menggunakan kaedah Ralston,

27734375.3)5.0(5546875.41)5.0(menganggaruntukdigunakanbolehmanayang

5546875.4)58203125.2(32)5.8(

31

puratacerundengan58203125.2

5.8)375.0(20)375.0(12)375.0(2 232

y

k

Rajah 25.14

Kaedah Runge-Kutta peringkat ke-3

)2,(

)21,

21(

),(manadi

)4(61

213

12

1

3211

hkhkyhxfk

hkyhxfk

yxfk

hkkkyy

ii

ii

ii

ii (25.39)

(25.39a)

(25.39b)

(25.39c)

Kaedah Runge-Kutta peringkat ke-4

),(

)21,

21(

)21,

21(

),(manadi

)22(61

34

23

12

1

43211

hkyhxfk

hkyhxfk

hkyhxfk

yxfk

hkkkkyy

ii

ii

ii

ii

ii (25.40)

(25.40a)

(25.40b)

(25.40c)

(25.40d)