Professional Documents
Culture Documents
Chương 6 - Phương Trình Vi Phân
Chương 6 - Phương Trình Vi Phân
Khai triển Taylor của y x tại xi đến cấp 1 với phần dư Lagrange
x xi ''
2
y x y xi x xi y xi
'
y c , c xi , x
2!
2 1 1.4362522 1.489988
A h * f X ,Y : Y Y A : X X h
A 0.5* e X Y : Y Y A : X X h
Bấm Calc X 0, Y 1
Ví dụ 2
Cho bài toán Côsi: y ' y x y , y 2 2 . Hãy tìm nghiệm gần
đúng bằng phương pháp Euler trên 2,3 với h 0.25 .
yi 1 yi hf xi , yi , i 0,1, 2,3
i xi yi hf xi , yi
0 2 2 0.2071067812
4 3 3.302596465 0.5373294278
A h * f X ,Y : Y Y A : X X h
A 0.25* Y X Y : Y Y A : X X 0.25
Bấm Calc X 2, Y 2
1/ Phương pháp Euler cải tiến
Xét phương trình vi phân y ' f x, y , y x0 y0 , a x b
xi 1
y xi 1 y xi y ' x dx
xi
Tính gần đúng tích phân xác định ở vế trái bằng công thức hình thang
h ' h3 '''
y xi 1 y xi y xi y xi 1 y ci , ci xi , xi 1
'
2 2
Chia a, b thành n đoạn nhỏ bằng nhau bởi các điểm chia
ba
xi a ih, i 0,1,..., n 1, xn b, h
n
Khai triển Taylor của y x tại xi đến cấp 2 với phần dư Lagrange
x xi x xi
2 3
h 2 '' h3 '''
y xi 1 y xi hy xi y xi y c , c xi , x
'
2! 3!
với y ' xi f xi , y xi , y '' xi f x' xi , y xi f y' xi , y xi y ' xi
h2 '
yi 1 yi hy f x xi , yi f y' xi , yi yi' h 3
2!
'
i
Công thức Runge – Kutta bậc bốn (RK4)
1
yi 1 yi K1 2 K 2 2 K 3 K 4
i i i i
6
K1 hf xi , yi
i
h K
K 2 hf xi , yi 1
i
2 2
h K
K 3 hf xi , yi 2
i
2 2
K 4 hf xi h, yi K 3
i
i 0,1, 2,..., n 1
Ví dụ 5
Nhập
0.2* Y 2 X 3.2
Bấm Calc X? 1 Y? 0.5
Bấm shift +sto +A
Bấm Calc X? 1.1 Y? 0.5+A/2
Bấm shift +sto +B
Bấm Calc X? 1.1 Y? 0.5+B/2
Bấm shift +sto +C
Bấm Calc X? 1.2 Y? M+C
1
y 1.2 A 2 B 2C D
6
4/ Hệ phương trình vi phân
dx
dt f t , x t , y t
at b
dy
g t , x t , y t
dt
x t0 , y t0
sử dụng cả ba công thức: Euler, Euler cải tiến, Runge – Kutta cấp 4
ta có các công thức để giải hệ phương trình vi phân cấp 1.
Chia a, b thành n đoạn nhỏ bằng nhau bởi các điểm chia
ba
ti a ih, i 0,1,..., n 1, xn b, h
n
Công thức Euler cho hệ xk 1 xk hf tk , xk , yk
yk 1 yk hg tk , xk , yk
h
x
i 1 xi
2
f t i , xi , yi f
t , x *
i 1 i 1 , y *
i 1
y y h g t , x , y g t , x * , y *
i 1 2
i i i i i 1 i 1 i 1
xi*1 xi hf ti , xi , yi
*
yi 1 yi hg ti , xi , yi
Công thức Runge – Kutta bậc bốn (RK4) cho hệ
1 i i i i
x
i 1 x K 2 K 2 K K
6
i 1 2 3 4
y y 1 Li 2 Li 2 Li Li
6
4
i 1 i 1 2 3
K1 hf ti , xi , yi
i
K1 L1
i i
i h
K2 hf ti , xi , yi
2 2 2
K 2 L2
i i
i h
K hf ti , xi , yi
3 2 2 2
K 4
i
hf ti h, xi K 3 , yi L3
i i
Tương tự cho L1 , L2 , L3 , L4
i i i i
Đổi biến z x y ' x y' z
xM
x 1
Ta có hệ z' z x y x
e 1
x
e 1 e 1
y 1 0; z 1 M
yi*1 yi hf xi , yi , zi
*
zi 1 zi hg xi , yi , zi
5/ Phương pháp sai phân hữu hạn
p x y '' q x y ' r x y f x
Xét phương trình a x b, y a , y b
Chia đoạn a, b thành n đoạn nhỏ bằng nhau bởi các điểm
xk a kh, k 0...n 1, xn b
x xk x xk
2 3
2! 3!
2 3
h h
y xk 1 y xk hy ' xk y '' xk y ''' xk
2! 3!
y xk 1 y xk 1 2 y xk h 2 y '' xk
1 yk 1 2 yk yk 1
y xk 2 y xk 1 2 y xk y xk 1
''
h h2
1 yk 1 yk 1
y xk
'
2h
y xk 1 y xk 1
2h
pk qk 2 pk pk qk
2 y
k 1 kr 2 k
y 2 yk 1 f k
h 2h h h 2h
Ta có hệ phương trình ma trận AX b
2 p1 p1 q1
r
1 h2 0 0
h 2 2h
p2 q2 2p
r2 22
p2 q2
0
h 2 2h h h 2 2h
0 0 0 0 0
A
2 pn 2 pn 2 qn 2
0 0 0 rn 2
h2 h 2
2h
pn 1 qn 1 2 pn 1
0 0 0 rn 1 2
h2 2h h
p1 q1
f1 2
y1 h 2h
y
2 f2
X ,b
yn 2 f n2
y
n 1 p q
f n 1 n 1
n 1 h 2
2h
Trường hợp A vuông cấp 3: N 3
2 p1 p1 q1
r
1 h2 2
0
h 2h
p q 2p p2 q2
A 22 2 r2 22
h 2h h h 2
2h
p3 q3 2 p3
0 r3 2
h 2 2h h
p1 q1
1 h 2 2h
f
1
y
X y2 , b f2
y
2 f p q
3 h 2 2h
3 3
Ví dụ 7
Cho ptvp y ''
xy '
16 y 4 x, x 0,1, y (0) 0, y (1) 1 .
Sử dụng pp sai phân hữu hạn, tính y x trong [0,1], với h 0.25 .
2 p1 p1 q1
r
1 h2 0
h 2 2h
p q 2p p2 q2
A 22 2 r2 22
h 2h h h 2 2h
p3 q3 2 p3
0 r3 2
h 2 2h h
p1 q1
f1 2
y1 h 2h
X y2 , b f2
y
2 p
f 3 3 q
3 h 2 2h
2 p1 p1 q1
r
1 h2 0
h 2 2h
p q 2p p2 q2
A 22 2 r2 22
h 2h h h 2 2h
p3 q3 2 p3
0 r3 2
h 2 2h h
p1 q1
f1 2
y1 h 2h
X y2 , b f2
y
2 p
f 3 3 q
3 h 2 2h