You are on page 1of 17

Các pp Runge – Kutta hiện

giải bài toán Cauchy cho


phương trình vi phân thường
Bài toán Cauchy

 y '  f ( x, y ), x  I   x0 , X  ,

y C I, R 
1 k


 y ( x0 )  y0
Phương trình tích phân
x
y  x   y  x0    f  t , y  t   dt
x0
xk 1

y  xk 1   y  xk    f  t , y  t   dt
xk
• Euler forward (hiện)

yn 1  yn  hf ( xn , yn )
• Euler backward (ẩn)

yn 1  yn  hf  xn 1 , yn 1 
• Công thức hình thang

yn 1  yn   f  xn , yn   f  xn 1 , yn 1  
h
2
R-K làm gì?
• Tính tích phân trong phương trình tích
phân qua s nấc trung gian

• Đảm bảo việc tính thông qua các nấc


trung gian có hiệu quả giống như khai
triển Taylor hàm y(x) đến bậc cao
Công thức R-K tổng quát
 n  n  n
yn1  yn  rk
1 1  r2k2 ...  rs ks

 n
  n  n
ki  hf xn ih, yn  i1k1 ...  ii1ki1 
1  0,i  0,1
R-K 1 nấc
s 1
n
y n 1  y n  r1k1
n
k1  hf  xn , y n 
y  xn 1   y  xn   hy '  xn   O  h 2

 r1  1
R-K 2 nấc
s 2
 n  n
yn1  yn rk
1 1 rk
2 2

k1   hf  xn, yn   hfn


n

 n

k2  hf xn 2h, yn 11k1  n

 n  n '
k2  h fn 2hfx,n 11k1 fy,n O(h2)
 '

h2 '
y xn1  y xn  hfn   fx,n  fy',n. fn  O h3 
2
R-K 2 nấc
1 1
r1  r2  1; r2  2  ; r2  1 1 
2 2
1 1
r1  0; r2  1;  2  ;  1 1 
2 2
1
r1  r2  ;  2   1 1  1
2
1 2 3
r1  ; r2  ;  2   1 1 
3 3 4
.....
R-K 3 nấc
 n  n  n
yn1  yn  rk
1 1  r2k2  r3k3

k1  hf  xn , yn 
 n

 n

k2  hf xn 2h, yn  11k1   n

k  hf  x  h, y   k   k 
 
3
n
n 3
 
n
 
21 1
n
22 2
n
R-K 3 nấc
 f n   2 hf x',n  11hf n f y' ,n  
k2   h  h 2 
n
3 
2
 
 2 2 x ,n
2 "
f  h 2
  f f
2 21 n x , y
''

h 2 2 ''
2
 f f
11 n y , n  O  h  
 
 
2
 n  n h
 f n   3 hf x ,n   21k1   22 k2 f y ,n   3 f xx 
' ' 2 ''
n 
k3  h  2 
   
  h  k  n    k  n  f ''   k  n    k  n  f ''  O  h3  
2

 3 21 1 22 2 xy 21 1 22 2 yy

h2 '
y  xn 1   y  xn   hf n   f x ,n  f y'n . f n 
2
h3 ''
  f xx  f xy'' f n  f yy'' f n2  f y' f x'  f y'2 f n   O  h 4 
6
r1  r2  r3  1
1
r2 2  r3 3 
2
1
r2 11  r3   21   22  
2
1 1 1
r2 2  r3 3 
2 2

2 2 6
1
r2 2  21  r3 3   21   22  
6
r2   r3      
2 2 1 2
11 21 22
6
1
 22 2 
6
1
11 22 
6
R-K3 thường dùng
1 2 1 1 1
r1  ; r2  ; r3  ;  2  ;  3  1; 11  ;  21   1;  22  2
6 3 6 2 2
1 n

y n 1  y n  k1  4 k 2 n   k 3 n 
6

k1   hf  xn , y n 
n

n  1 1 n 
k2  hf  xn  h , y n  k1 
 2 2 

k 3 n   hf xn  h , y n  k1 n   2 k 2 n  
R-K3 thường dùng (Heun)
1 3 1 2
r1  ; r2  0; r3  ;  2  11  ;  3   22  ;  21  0
4 4 3 3


1  n
yn 1  yn  k1  3k3 n 
4

k1 n   hf  xn , yn 
 n  1 1  n 
k2  hf  xn  h, yn  k1 
 3 3 
 2 2  n 
k3
n
 hf  xn  h, yn  k2 
 3 3 
R-K 4 thường dùng
1 n
6

yn 1  yn  k1  2k2   2k3   k4 
n n n

k1   hf  xn , yn 
n

n  1 1  n 
k2  hf  xn  h, yn  k1 
 2 2 
 1 1  n 
k3
n
 hf  xn  h, yn  k2 
 2 2 

k4   hf xn  h, yn  k3
n n

Bậc cao nhất của các công thức
R_K s nấc

s 1 2 3 4 5 6 7 8 9

p 1 2 3 4 4 5 6 6 7
Ví dụ mô hình hệ thú mồi

  n
 x '  rn 1    ap
  K
 p '    p  anp

You might also like