Top Banner
Kaedah Runge-Kutta Bab 25
39

Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Aug 01, 2019

Download

Documents

phamthu
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: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Kaedah Runge-Kutta

Bab 25

Page 2: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 3: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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.

Page 4: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)

Page 5: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.1

Page 6: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Kaedah Euler

Page 7: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 8: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Dengan ralat

)(

atau!2

),('kecil,cukuphJika

)(...!2

),('

2

2

12

hOE

hyxfE

hOhyxfE

a

iia

niit (25.7)

(25.8)

(25.9)

Page 9: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 10: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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%)

Page 11: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.3

Page 12: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Mengganggar ralat Kaedah Eulermenggunakan siri Taylor

Page 13: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 14: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 15: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 16: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 17: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.4

Page 18: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.5

Page 19: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Pembaikan kepada Kaedah Euler

Page 20: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Kaedah Heun

Page 21: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.9

Page 22: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 23: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Dengan ralat,

%1001

111

ji

ji

ji

a yyy

Page 24: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 25: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 26: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Penyelesaian(2)

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

Page 27: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)

Page 28: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Kaedah Titik Tengah

Cerun ini kemuadian digunakan untuk mencari nilai yi+1

hyxfyy iiii ),( 2/12/11

(25.27)

Page 29: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.12

Page 30: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Kaedah Runge-Kutta

Page 31: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)

Page 32: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)

Page 33: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 34: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 35: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 36: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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

Page 37: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

Rajah 25.14

Page 38: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)

Page 39: Runge-Kutta - ukm.my Kutta.pdf · Tahu bentuk umum kaedah Runge_Kutta; ... polinomial, siri Taylor boleh digunakan untuk menentukan ralat menggunakan kaedah Euler. Menggunakan persamaan

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)