Professional Documents
Culture Documents
Chương 6. Giải Gần Đúng PTVP
Chương 6. Giải Gần Đúng PTVP
1
Nội dung
Giải tích:
1. Phương pháp chuỗi Taylor
Phương pháp số:
2. Phương pháp Euler ẩn, hiện.
3. Phương pháp Euler cải tiến (P2 Heun, Trung bình điểm, ).
4. Phương pháp Runge-Kutta bậc 4
2
Nội dung
3
Phương pháp Runge-Kutta
4
Phương pháp chuỗi Taylor
5
Phương pháp chuỗi Taylor
6
Phương pháp chuỗi Taylor
7
8
9
10
Phương pháp Euler hiện
11
Phương pháp Euler hiện
12
yi 1 yi hf xi , yi , i 0 n 1,
i xi yi f(xi,yi)
0 0 1 1
1 0.1 1.1 0.91818
2 0.2 1.191818 0.8562
3 0.3 1.277438 0.80775
4 0.4 1.358213 0.7692
5 0.5 1.435133 0.73833
6 0.6 1.508966 0.713720
7 0.7 1.580338 0.69445
8 0.8 1.649783 0.67996
9 0.9 1.717779 0.66991
10 1 1.784771 0.66418
13
Phương pháp Euler hiện
0 x 4, y x0 1 yi 1 yi hf xi , yi , i 0 n 1,
Exact solution
14
Phương pháp Euler hiện
0 x 4, y x0 1
Exact solution
15
Phương pháp hình thang (ẩn)
16
Phương pháp Runge-Kutta
17
Phương pháp Runge-Kutta
Một trong những phương pháp xấp xỉ để giải phương trình vi phân được sử dụng
rộng rãi là phương pháp Runge – Kutta. Phương pháp Runge-Kutta là một phương
pháp rất hiệu quả có độ chính xác cao bao gồm các phương pháp Runge-Kutta bậc 1
(Phương pháp Euler), bậc 2, bậc 3, bậc 4 (Phương pháp được sử dụng phổ biến
nhất), bậc 5.
Phương pháp Runge-Kutta nhận được từ khai triển Taylor bỏ qua đạo hàm bậc cao
18
Phương pháp Runge-Kutta
1 ' 1 1
y i 1 y i f x i , y i h
2!
f x i , yi h 2 f '' x i , yi h 3 f ''' x i , yi h 4
3! 4!
y
y t
yi 1 yi a1k1 a2k2 a 3k 3 a 4k4 h
t
i 1
, yi 1 a i
1
yi k 3h k4
1
1
yi k2h
2 k3 y i 1 y i
k 2k2 2k 3 k 4 h
6 1
1
yi kh k2
2 1
k1 f ti , yi
yi k1
1 1
k2 f ti h, yi k1h
2 2
ti h ti 1 t
ti 1 1
2 k 3 f ti h, yi k2h
2 2
k1 f ti h, yi k 3h
19
Phương pháp Runge-Kutta
20
Phương pháp Runge-Kutta
21
Phương pháp Runge-Kutta
22
Phương pháp Runge-Kutta
23
Phương pháp Runge-Kutta
24
Phương pháp Runge-Kutta
25
Các phương pháp Runge-Kutta
t = [0 4]
26
Phương pháp Heun
t = [0 4]
y0 2
k1 f x0 , y0 4e0 0.5. 2 3
k2 f x0 h, y0 k1h f 1,5 4e0.8 0.5. 5 6.40216
1
y1 2 3 6.40216 6.70108
2
k1 f x1 , y1 4e 0.8 0.5. 6.70108 5.55162
k2 f x1 h, y1 k1h f 2,12.25270 4e 0.5. 12.25270 13.68578
0.8. 2
1
y2 6.70108 5.55162 13.68578 16.31978
2
27
Phương pháp RK4
28
Phương pháp RK4
t=[0 4]
29
Các phương pháp Runge-Kutta
T0 = 2500.0
30
31
32
Giải bài toán bức xạ bằng phương pháp RK4
33
Giải bài toán bức xạ bằng phương pháp RK4
34
35
Bài tập ôn tập
Giải phương trình vi phân sau theo
phương pháp Euler, Euler cải tiến
(RK2), RK4
y ' y x , y 0 1,
Bài 1.
a.
b. y ' x 2 y 2 , y 0 1,
c. y ' x y , y 0 0
2 2
h 0.5, 0 x 1
36
Giải phương trình vi phân sau theo phương
pháp Euler, Euler cải tiến (RK2), RK4
Bài 2. Giải phương trình vi phân sau với t = [0, 2], điều
kiện đầu y(0)=1. Lựa chọn bược lặp h=0.25 or 0.5
37
ODE cấp 2
y '' f x , y , y '
y x0 0 , y ' x0 1
y' z
z ' y '' f x , y , y ' f x , y , z
z ' f x, y, z
y' z
z x0 1 , y x0 0
38
Giải hệ 2 phương trình ODE
Phương pháp Euler
xi x0 ih
ui 1 ui hf xi , ui , vi
vi 1 vi hg xi , ui , vi
u 0 1 , v0 2
ui y xi
vi z xi
39
Giải hệ 2 phương trình ODE
Phương pháp hình thang
40
Giải hệ 2 phương trình ODE
Phương pháp ẩn trung điểm
u0 1, v0 2
h h
ui1 ui f xi ,ui , vi , vi1 vi g xi ,ui , vi
2 2
h
ui1 ui hf xi ,ui1, vi1
2
h
vi1 vi g xi ,ui1, vi1
2
41
Giải hệ 2 phương trình ODE
Phương pháp RK4
y0 1 z0 2
k1 f xi , yi , zi l1 g xi , yi , zi
1 1 1 1 1 1
k 2 f xi h, yi k1h, zi l1h l2 g xi h, y i k1h, zi l1h
2 2 2 2 2 2
1 1 1 1 1 1
k3 f xi h, y i k2 h, zi l2 h l3 g xi h, yi k 2 h, zi l2 h
2 2 2 2 2 2
k 4 f xi h, y i k3h, zi l3h l4 g xi h, y i k3h, zi l3 h
1 1
yi1 yi k1 2k2 2k3 k4 h zi1 zi l1 2l2 2l3 l4 h
6 6
42
Hệ phương trình ODE
Bài 1. Giải hệ phương trình vi phân sau với x = [0, 2], điều
kiện đầu y1(0)=4, y2(0)=6. Lựa chọn bược lặp h=0.5
y0 1 z0 2
k1 f xi , yi , zi l1 g xi , yi , zi
1 1 1 1 1 1
k2 f xi h,yi k1h, zi l1h l2 g xi h,yi k1h, zi l1h
2 2 2 2 2 2
1 1 1 1 1 1
k3 f xi h,yi k2h, zi l2h l3 g xi h,yi k2h, zi l2h
2 2 2 2 2 2
k4 f xi h,yi k3h, zi l3h l4 g xi h,yi k3h, zi l3h
1 1
yi1 yi k1 2k2 2k3 k4 h zi1 zi l1 2l2 2l3 l4 h
6 6
43
Hệ phương trình ODE
Bài 1. Giải hệ phương trình vi phân sau với x = [0, 2], điều kiện đầu y1(0)=4,
y2(0)=6. Lựa chọn bược lặp h=0.5
Bước 2: i=1
44
Hệ phương trình ODE
Bài 1. Giải hệ phương trình vi phân sau với x = [0, 2], điều kiện đầu y1(0)=4,
y2(0)=6. Lựa chọn bược lặp h=0.5 y
0 1 z0 2
k1 f xi , yi , zi l1 g xi , yi , zi
1 1 1 1 1 1
k2 f xi h,yi kh 1 , zi lh
1 l g x h,y k h, z l h
2 2 2 2 i i 1 i 1
2 2 2
Giải theo RK4 1 1 1
k3 f xi h,yi k2h, zi l2h l3 g xi 1 h,yi 1 k2h, zi 1 l2h
Áp dụng công thức RK4 cho 2 phương trình 2 2 2 2 2 2
k4 f xi h,yi k3h, zi l3h l4 g xi h,yi k3h, zi l3h
ki,j với i đại diện cho bước thứ i, j đại diện cho phương trình
45
Hệ phương trình ODE
z0 2
l1 g xi , yi , zi
1 1 1
l2 g xi h,yi k1h, zi l1h
Giải theo RK4 2 2 2
1 1 1
l3 g xi h,yi k2h, zi l2h
2 2 2
l4 g xi h,yi k3h, zi l3h
y0 1
k1 f xi , yi , zi
1 1 1
k2 f xi h,yi k1h, zi l1h
2 2 2
1 1 1
k3 f xi h,yi k2h, zi l2h
2 2 2
k4 f xi h,yi k3h, zi l3h
46
ODE cấp 2
Bài 1.
y 0.4 0.392
y 0.4 0.380322
y 0.4 0.9288
y 0.4 0.9056
47
ODE cấp 2
Lời giải
Đưa ODE cấp 2 về 2 phương trình ODE cấp 1 như sau:
y z
c k 1
z z y f (t)
m m m
y 0 0, z 0 1
Áp dụng công thức Euler
yi1 yi hf (ti ,yi ,zi )
zi1 zi hg(ti ,yi ,zi )
48
Các phương pháp Runge-Kutta
Bài 2.
49
ODE cấp 2
50
Giải HPT = phương pháp RK2, RK4
51
Giải HPT = phương pháp RK2, RK4
Bài 3. Hệ chuyển động như hình vẽ được miêu tả bằng phương trình vi phân sau:
Vận tốc tại thời điểm ban đầu là 0, vị trí ban đầu x0
= 1 m. Giải phương trình này bằng RK4 với t=[0 4].
52
Các phương pháp Runge-Kutta
53