Professional Documents
Culture Documents
Chapter 6
Chapter 6
Numerical Solutions of
Ordinary Differential Equations
Le Cong Nhan
Xét bài toán giá trị đầu cho phương trình vi phân cấp một:
dy
= f (x, y ) , y (x0 ) = y0 . (1)
dx
Nếu một hàm y (x) có đạo hàm đến cấp k + 1 liên tục trên một khoảng mở I chứa
a và x thì
x −a (x − a)k (x − a)k+1
y (x) = y (a) + y 0 (a) + · · · + y (k) (a) + y (k+1) (c) ,
1! k! (k + 1)!
trong đó c là số ở giữa a và x.
h h2
y (xn+1 ) =y (xn ) + y 0 (xn ) + y 00 (c)
1! 2!
2
h
=yn + hf (xn , yn ) + y 00 (c)
| {z } 2!
yn+1
h2
y 00 (c) , với xn < c < xn+1 .
2!
Ta có thể ước lượng chặn trên cho giá trị tuyệt đối của sai số là
h2
M , với M = max |y 00 (x)| .
2! x0 <c<xn+1
Vì vậy, sai số chặt cụt địa phương của phương pháp Euler là O(h2 ).
y 0 = 2xy , y (1) = 1
Xét bài toán giá trị đầu cho phương trình vi phân cấp một:
dy
= f (x, y ) , y (x0 ) = y0 . (3)
dx
y 0 = 2xy , y (1) = 1
yn+1 = yn + h(w1 k1 + w2 k2 + · · · + wm km )
| {z }
weighted average of slopes
k1 = f (xn , yn ),
k2 = f (xn + α1 h, yn + β1 hk1 ),
······
∗
km = f (xn + αm−1 h, yn+m )
∗
với yn+m = yn + h (β1,m k1 + β2,m k2 + · · · + βm−1,m km−1 ) được xác định bởi
đa thức Taylor bậc m của nghiệm y tại xn , i.e.
∗
yn+m = Tm y (x) với xn ≤ x ≤ xn+1 .
Le Cong Nhan (Faculty of Applied Sciences HCMC University
Chapter of 6. Technology
Numericaland Education)
Solutions of Ordinary Differential
NgàyEquations
26 tháng 1 năm 2022 10 / 30
First Order Runge-Kutta Method
k1 = f (xn , yn )
yn+1 = yn + hk1 = yn + hf (xn , yn )
k1 = f (xn , yn )
k2 = f (xn + αh, yn + βhk1 )
yn+1 = yn + h(w1 k1 + w2 k2 )
Sử dụng khai triển Taylor cấp một cho f tại (xn , yn ) ta được:
Do w1 + w2 = 1 nên suy ra
y 0 (xn ) y 00 (xn ) 2
yn+1 = y (xn + h) = y (xn ) + h+ h
1! 2!
trong đó y 0 (xn ) = f (xn , yn ) = k1 và
∂f dx ∂f dy
y 00 (x) = + =⇒ y 00 (xn ) = fx (xn , yn ) + fy (xn , yn )y 0 (xn )
∂x dx ∂y dx
1 1
yn+1 = yn + hk1 + h2 fx (xn , yn ) + h2 k1 fy (xn , yn ) (5)
2 2
So sánh (4) và (5) ta được:
1 1
w1 + w2 = 1, αw2 = , βw2 = . (6)
2 2
k1 = f (xn , yn )
∗
k2 = f (xn + h, yn + hk1 ) = f (xn+1 , yn+1 )
∗
f (xn , yn ) + f (xn+1 , yn+1 )
yn+1 = yn + h
2
k1 = f (xn , yn )
k2 = f (xn + α1 h, yn + β12 hk1 )
k3 = f (xn + α2 h, yn + β13 hk1 + β23 hk2 )
k4 = f (xn + α3 h, yn + β14 hk1 + β24 hk2 + β34 hk3 )
yn+1 = yn + h(w1 k1 + w2 k2 + w2 k3 + w4 k4 )
trong đó α1 , α2 , α3 , β12 , β13 , β23 , β14 , β24 , β34 là các tham số với các trọng w1 , w2 , w3
và w4 thỏa
w1 + w2 + w3 + w4 = 1.
k1 = f (xn , yn )
1 1
k2 = f (xn + h, yn + hk1 )
2 2
1 1
k3 = f (xn + h, yn + hk2 )
2 2
k4 = f (xn + h, yn + hk3 )
h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
6
Lưu ý rằng để xác định các trọng số ta sử dụng khai triển Taylor bậc bốn của
y (xn + h) tại xn nên sai số chặt cụt địa phương của phương pháp là
y (5) (c) 5
h or O(h5 ). (7)
5!
y 0 = 2xy , y (1) = 1
∗ h
55yn0 − 59yn−1
0 0 0
yn+1 = yn + + 37yn−2 − 9yn−3 (8)
24
for n ≥ 3 where yn0 = f (xn , yn ) and
0
yn−1 = f (xn−1 , yn−1 )
0
yn−2 = f (xn−2 , yn−2 )
0
yn−3 = f (xn−3 , yn−3 ).
∗
The value of yn+1 is then substituted into the Adams-Moulton corrector
h 0
+ 19yn0 − 5yn−1
0 0
yn+1 = yn + 9yn+1 + yn−2 (9)
24
0 ∗
where yn+1 = f (xn+1 , yn+1 ).
Le Cong Nhan (Faculty of Applied Sciences HCMC University
Chapter of 6. Technology
Numericaland Education)
Solutions of Ordinary Differential
NgàyEquations
26 tháng 1 năm 2022 18 / 30
6.4 Phương trình vi phân cấp cao và hệ phương trình
Xét bài toán giá trị đầu cho phương trình vi phân cấp hai
y 0 = u2
0
u1 u2
or =
y 00 = f (x, y , y 0 ) u20 f (x, u1 , u2 )
| {z } | {z }
U̇ F (x,U)
y0
u2
y 00 u3
.. = .. (13)
. .
y (n) f (x, y , y 0 , ..., y (n−1) )
| {z } | {z }
U̇ F (x,U)
trong đó
u1 y y0
u2 y 0 y1
U = . = .. và U(x0 ) = .. (14)
.. .
.
un y (n−1) yn−1
Ẋ = F (t, X ) (16)
trong đó
x1 g1 (t, X )
x2 g2 (t, X )
X =. và F (t, X ) = ..
..
.
xn gn (t, X )
Le Cong Nhan (Faculty of Applied Sciences HCMC University
Chapter of 6. Technology
Numericaland Education)
Solutions of Ordinary Differential
NgàyEquations
26 tháng 1 năm 2022 21 / 30
Example 4
Sử dụng phương pháp Euler tính giá trị gần đúng của y (0.2), trong đó y (x) là
nghiệm của bài toán giá trị đầu
y 00 + xy 0 + y = 0, y (0) = 1, y 0 (0) = 2.
x 0 = 2x + 4y
y 0 = −x + 6y
x(0) = −1, y (0) = 6.
x 00 − x 0 + 5x + 2y 00 = e t
−2x + y 00 + 2y = 3t 2
x 00 + 2y 00 = e t − 5x + x 0
y 00 = 3t 2 + 2x − 2y
x 00 = −9x + 4y + x 0 + e t − 6t 2
y 00 = 2x − 2y + 3t 2
x0 = u
y0 = v
u 0 = −9x + 4y + u + e t − 6t 2
v 0 = 2x − 2y + 3t 2
Ẋ = F (t, X ). (17)
y 00 − 4y = 0, y (0) = 0, y (1) = 5.