Trường Đại học Công nghiệp thành phố Hồ Chí Minh 1 
 Khoa Công nghệ Cơ khí 
 Bộ môn Cơ sở - Thiết kế 
 Bài 7: 
Phương trình trình vi phân thường bậc I 
 Thời lượng: 3 tiết 
 Nội dung bài học 2 
 9 
phương 
 pháp 
 Phân loại đạo hàm (vi phân) 3 
 Đạo hàm 
 Đạo hàm Đạo hàm riêng 
 dv u 
 dt y 
v là 1 hàm của biến u là hàm của hơn 1 
 độc lập t biến độc lập (x,y,z,t,) 
 Phân loại phương trình vi phân 4 
 Phương trình 
 vi phân 
 Phương trình vi phân thường Phương trình đạo hàm
                
              
                                            
                                
            
 
            
                
62 trang | 
Chia sẻ: Tài Huệ | Ngày: 16/02/2024 | Lượt xem: 658 | Lượt tải: 0
              
            Tóm tắt tài liệu Bài giảng Phương pháp số trong tính toán cơ khí - Bài 7: Phương trình trình vi phân thường bậc I - Trường Đại học Công nghệ Thành phố Hồ Chí Minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
m riêng 
 2 2 2
 d v  u  u
  6tv 1 2  2  0
 dt 2 y  x
 Gồm 1 hoặc nhiều đạo 
 Gồm một hay nhiều đạo hàm 
 hàm toàn phần của 
của các hàm ẩn số theo một biến độc lập các hàm ẩn số theo nhiều biến độc lập 
 Khái niệm phương trình vi phân 5 
- Phương trình vi phân (PTVP) là một phương trình mà chứa đạo hàm của 
 một hàm số chưa biết. Nghiệm của PTVP chính là hàm số mà thỏa mãn 
 PTVP đó. 
- PTVP mà chỉ có một biến số thì được gọi là Phương trình vi phân thường 
 (Ordinary Differential Equation - ODE) 
 x là biến độc lập; y là biến phụ thuộc 
  Phương trình có chứa x, y, dy/dx dy
 f x, y , 0 (1) 
  PTVP thường bậc 1 là phương trình chứa dx
 hàm x, hàm y và dy/dx 
 dy
- Ví dụ 1: ax2  by  0 PTVP thường bậc 1 (dy/dx), tuyến tính (đối với y) 
 dx
 dy
 - Ví dụ 2: a  y  x  b y  0 PTVP thường bậc 1 (dy/dx), phi tuyến (đối với y) 
 dx
 Phương trình vi phân đầy đủ 6 
 d
- Ví dụ 1: y x  ax2  b  y x  0
 dx
 d
- Ví dụ 2: y x  a  y x  x  b y x  0
 dx
 y(x) là hàm ẩn 
 x – biến độc lập 
 Bậc của phương trình vi phân 7 
 d x t
 x t et
 dt PTVP bậc 1 
d2 x t d x t
 5  2x t  cos t PTVP bậc 2 
 dt2 dt
d3 x t d x t
  21xt4    PTVP bậc 3 
 dt3 dt
 Phương trình vi phân tuyến tính và phi tuyến 8 
 Một PTVP là tuyến tính nếu hàm ẩn số và đạo hàm của nó xuất hiện 
 với lũy thừa bằng 1. Không có tích của hàm số và/hoặc đạo hàm của 
 nó. 
 d x t t
- Ví dụ 1: x t e - PTVP tuyến tính 
 dt
 d2 x t d x t
- Ví dụ 2: 5  2t2 x t  cos t - PTVP phi tuyến 
 dt2 dt
 2
 d x t 2
- Ví dụ 3: 2t x t cos t - PTVP phi tuyến 
 dt
 Phương trình vi phân tuyến tính và phi tuyến 9 
Một PTVP là phi tuyến nếu hàm ẩn số và đạo hàm của nó xuất hiện 
với lũy thừa khác 1. Ngoài ra có thể có tích của hàm số và/hoặc đạo 
hàm của nó. 
 d x t
- Ví dụ 4: cos x t et - PTVP phi tuyến 
 dt
 d2 x t d x t
- Ví dụ 5: 52 xt   - PTVP phi tuyến 
 dt2 dt
 d2 x t d x t
- Ví dụ 6: 51 xt   - PTVP phi tuyến 
 dt2 dt
 Điều kiện phụ để giải PTVP 10 
Nghiệm của phương trình vi phân: 
 d2 x t
 4x t  0  x t  c sin 2 t  c cos 2 t
 dt 2 12
Tất cả các hàm số trên là nghiệm của PTVP, chúng khác nhau ở các hằng 
số c1, c2. Để xác định chính xác c1, c2 cần có thêm các điều kiện phụ: 
 d2 x t
  40xt  - PTVP bậc 2 
  dt 2 Để giải PTVP bậc n 
 
 x0  a ; x 0 b 2 điều kiện phụ ta cần n điều kiện 
 b phụ 
 x t sin 2 t  a cos 2 t
 2
 Phân loại PTVP theo điều kiện phụ 11 
 Bài toán giá trị ban đầu Bài toán giá trị biên 
 (Initial Value Problem) (Boundary Value Problem) 
 • Các điều kiện thì không ở 1 
Tất cả điều kiện là ở 1 điểm của biến độc lập 
điểm của biến độc lập 
 • Giải bài toán này khó hơn bài 
 toán giá trị ban đầu 
 x2 x  x  e2t x 2x  x  e2t
 xx(0) 1, (0) 2.5 x(0) 1, x(2) 1.5
 Giống Khác 
 nhau nhau 
 Phương trình vi phân bậc I 12 
dy
  f x, y với điều kiện ban đầu: y x00  y (2) 
 dx
 dy
 f x, y   1.2 y  7 e0.3x
 dx
 - Trường hướng 
 - Các họ đường cong 
 Phương trình vi phân bậc I 13 
dy 0.3x
 f x, y   1.2 y  7 e Tại mỗi điểm có toạ độ (x,y), ta tính được 
dx
 f(x,y), và nó chính là độ dốc (Slope) dy/dx 
0xy  4; 2   6
 của hàm y(x). Độ nghiêng của các véctơ vẽ 
 tại mỗi điểm chính là độ dốc. Tập hợp các 
 véctơ đó trong khoảng x Є [0; 4]; y Є [2; 6] 
 Với mỗi một điều kiện ban đầu ta có một 
 họ đường cong lời giải: 
 y 26 
 y 03 
 y 1.5  2
 Phương trình vi phân bậc I 14 
 dy
   f x, y
 dx (2) 
 
 y x00  y
. Lời giải số của PTVP bậc I (2) là một tập hợp các điểm rời rạc mà xấp xỉ được hàm số 
 y(x). Khi PTVP được giải bằng phương pháp số thì đề bài phải giới hạn miền lời giải. Ví 
 dụ x Є [a; b]. Tùy thuộc vào phương pháp số được dùng để giải phương trình, số điểm 
 giữa khoảng a và b có thể được xác định. 
. Ví dụ miền lời giải [a; b] có thể được chia ra làm n khoảng nhỏ đều nhau của biến độc 
 lập từ x0 = a cho đến xn = b. 
. Các lời giải bao gồm các giá trị của biến phụ thuộc được xác định tại mỗi giá trị của biến 
 độc lập 
.  Lời giải sẽ là tập hợp các điểm (x0, y0), (x1, y1),,(xn, yn) 
 Phân loại phương pháp giải PTVP thường bậc I 15 
 Phương pháp số cho 
 PTVP 
 Phương pháp đơn bước Phương pháp đa bước 
 (Single-step Method) (Multiple-step Method) 
 Ước tính nghiệm ở một bước 
 Ước tính nghiệm ở một bước cụ thể dựa trên các thông tin 
 cụ thể dựa trên các thông tin của nhiều hơn một bước 
 của một bước trước trước 
Lời giải số là một quy trình hoặc tính toán ước tính nghiệm của lời giải chính xác tại một tập 
hợp các điểm rời rạc. Quá trình giải tăng dần theo từng bước. Bắt đầu từ điểm mà giá trị ban 
đầu được đưa ra. Sau đó sử dụng lời giải tại điểm đầu tiên để tính được lời giải tại điểm thứ 
hai gần đó. Tiếp theo là lời giải tại điểm thứ ba, thứ tư, v.vÝ tưởng sử dụng giá trị hàm số tại 
một vài điểm trước có thể đem đến một ước tính tốt hơn cho việc tìm lời giải. 
 Phân loại phương pháp giải PTVP thường bậc I 16 
 Phương pháp số cho 
 PTVP 
 Phương pháp tường minh Phương pháp ẩn tàng 
 (Explicit Method) (Implicit Method) 
 yi11 F x i,, x i y i  (3) yi1 F x i,,, y i x i  1 y i  1  (4) 
 yi+1 chưa biết và xuất hiện ở cả 2 vế. Nếu F là 
Trong công thức tường minh, vế hàm tuyến tính của yi+1 thì có thể đưa (4) về (3). 
phải của phương trình chỉ chứa Còn nếu là phi tuyến thì phải sử dụng kiến thức 
những giá trị đã biết: giải phương trình phi tuyến để tìm yi+1. Các 
 phương pháp ẩn ngầm đưa đến kết quả chính 
 xi, xi+1, yi đều đã biết 
 xác hơn so với các phương pháp tường minh 
 nhưng đòi hỏi nhiều nỗ lực tính toán hơn. 
 Phương pháp đơn bước – tường minh 17 
 dy
 y  fxyya ,;;    yxaxbx    
 dx 00 n
 x1 x 0  h; x 2  x 0  2 h ; ; xn  x 0  nh
 Trong phương pháp đơn bước – tường minh, 
 Lời giải số 
 ước tính nghiệm của lời giải số (xi+1,yi+1) 
 được tính từ lời giải đã biết (xi,yi). 
 xii1  x h
Độ dốc = ϕi  (5) 
 y y   h
 Lời giải  i1 i i
 chính xác Trong đó: 
 Đường cong h – cỡ bước 
 của lời giải ϕi=độ dốc – hằng số ước tính giá trị của dy/dx 
 chính xác trong khoảng từ xi đến xi+1. 
 Các phương pháp khác nhau ở 
 chỗ cách tính độ dốc ϕ 
Phương pháp Euler tường minh 18 
 dy
Độ dốc =  f x, y  (6) 
 idx i i
 xx i
 1.B1: Xác định hàm f(x,y) 
 2.B2: Nhập số liệu điều kiện ban đầu x0, y0 
 3.B3: Xác định cỡ bước h, số bước n 
 4.B4: Cho i từ 0 đến n-1, thực hiện bước 5 và 
 Lời giải 6 
 chính xác 5.B5: Tính: i f x i, y i 
 Lời giải số 
 yi1  y i  h  i (7) 
 xii1  x h
 6.B6: Xuất kết quả tập hợp (x0,y0), 
 (x1,y1),,(xn,yn) 
  Chính là lời giải số của PTVP 
Phương pháp Euler tường minh 19 
 dy 0.3x
  f x, y   1.2 y  7 e
 dx
 
 yx0  3;0   4.
 0.3x
 g x 1; f10 x   1.2; f x  7 e
  fx1   1.2 6
 F x  dx  dx  1.2 x   x
  gx  15
  9
 Fx fx  70 x
  e  0 dx e1.2x 77 e 0.3 x dx  e 0.9 x dx  e10
    
  gx  9
 69
   xx
 570 10 69
 y x  e  C  e 43 xx 70 43
  9 C    y x  e5  e 10 
  9 9 9
 y 03 
 Phương pháp Euler tường minh 20 
 dy 0.3x 3. i=2: 
  f x, y   1.2 y  7 e  f x, y   1.2  4.892477918  7 e0.31.0   0.685245956
 dx 2 2 2
 y y  h  4.892477918  0.5   0.685245956
 yx0  3; 0   4 3 2 2
   4.54985494
 x32 x  h 1.0  0.5  1.5
 ba40 4. i=3: 
 hn0.5     8 0.31.5
  f x, y   1.2  4.54985494  7 e   0.996428866
 h 0.5 3 3 3 
 y4 y 3  h  3 4.54985494  0.5   0.996428866
  4.051640507
1. i=0: 0.3 0
 0f x 0, y 0    1.2  3  7 e  3.4
 x43 x  h 1.5  0.5  2.0
 y y  h  3  0.5  3.4  4.7
 1 0 0 5. i=4: 
 x x  h 0  0.5  0.5
 10  f x, y   1.2  4.051640507  7 e0.3 2.0   1.020287156
2. i=1: 4 4 4 
 0.3 0.5 y5 y 4  h  4 4.051640507  0.5   1.020287156
 1f x 1, y 1    1.2  4.7  7 e  0.384955835
  3.541496929
 y2 y 1  h  1 4.7  0.5  0.384955835  4.892477918
 x54 x  h 2.0  0.5  2.5
 x21 x  h 0.5  0.5  1.0
 Phương pháp Euler tường minh 21 
 0.3 2.5
6. i=5: 5f x 5, y 5    1.2  3.541496929  7 e   0.943230445
 y6 y 5  h  5 3.541496929  0.5   0.943230445
  3.069881706
 x65 x  h 2.5  0.5  3.0
  f x, y   1.2  3.069881706  7 e0.3 3.0   0.837870429
7. i=6: 6 6 6 
 y7 y 6  h  6 3.069881706  0.5   0.837870429
  2.650946492
 x76 x  h 3.0  0.5  3.5
 0.3 3.5
8. i=7: 7f x 7, y 7    1.2  2.650946492  7 e   0.731571546
 y8 y 7  h  7 2.650946492  0.5   0.731571546
  2.285160719
 x87 x  h 3.5  0.5  4.0
 Phương pháp Euler tường minh 22 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp 
 Euler tường 
 minh (h=0.5) 
 Lời giải 
 chính xác 
 Phương pháp Euler ẩn tàng 23 
 dy
Độ dốc =  f x, y 
 i1dx i  1 i  1 (8) 
 xx i1
 1.B1: Xác định hàm f(x,y) 
 2.B2: Nhập số liệu điều kiện ban đầu x0, y0 
 3.B3: Xác định cỡ bước h, số bước n 
 4.B4: Cho i từ 0 đến n-1, thực hiện bước 5÷7 
 Lời giải số 5.B5: Tính: 
 xii1  x h
 y y  h  f x, y  (9) 
 Lời giải i1 i i  1 i  1
 chính xác 
 6. B6: Giải (9) để tìm yi+1 bằng các pp số 
 7. B7: Xuất kết quả tập hợp (x0,y0), 
 (x1,y1),,(xn,yn) 
  Chính là lời giải số của PTVP 
 Phương pháp Euler ẩn tàng 24 
 dy 0.3x
  f x, y   1.2 y  7 e 2. i=1: 
 dx
  
 yx0  3; 0   4 x x  h 0.5  0.5  1.0
  21
  0.31.0
 y2 y 1  h  f x 2, y 2  3.757798698  0.5   1.2  y 2  7 e 
 
 3.757798698 3.5e0.31.0
 ba40 y   3.969164044
 hn0.5     8  2 1.6
 h 0.5
1. i=0: 3. i=2: 
  
 x x  h 0  0.5  0.5 x x  h 1.0  0.5  1.5
  10  32
  0.3 0.5  0.31.5
 y1 y 0  h  f x 1, y 1  3  0.5   1.2  y 1  7 e  y3 y 2  h  f x 3, y 3  3.969164044  0.5   1.2  y 3  7 e 
  0.3 0.5  0.31.5
  3 3.5e  3.969164044 3.5e
 y   3.757798698 y3   3.875539109
  1 1.6  1.6
 6. i=5: 25 
 Phương pháp Euler ẩn tàng 
 x x  h 2.5  0.5  3.0
  65
  0.3 3.0
 y6 y 5  h  f x 6, y 6  3.297512707  0.5   1.2  y 6  7 e 
  0.3 3.0
  3.297512707 3.5e
 4. i=3: y6   2.950316572
  1.6
 7. i=6: 
 x43 x  h 1.5  0.5  2.0
 y y  h  f x, y  3.875539109  0.5   1.2  y  7 e0.3 2.0 
 4 3 4 4 4  
 x76 x  h 3.0  0.5  3.5
 3.875539109 3.5e0.3 2.0 
  0.3 3.5
 y4   3.622737397 y y  h  f x, y  2.950316572  0.5   1.2  y  7 e
 1.6  7 6 7 7  7 
 
 2.950316572 3.5e0.3 3.5
 y   2.609436684
  7
 5. i=4:  1.6
 8. i=7: 
 
 x54 x  h 2.0  0.5  2.5 
 x87 x  h 3.5  0.5  4.0
 0.3 2.5 
y5 y 4  h  f x 5, y 5  3.622737397  0.5   1.2  y 5  7 e   0.3 4.0
 y8 y 7  h  f x 8, y 8  2.609436684  0.5   1.2  y 8  7 e 
 0.3 2.5
 3.622737397 3.5e  0.3 4.0
 y5   3.297512707  2.609436684 3.5e
 1.6 y8   2.289760266
  1.6
 Phương pháp Euler ẩn tàng 26 
 69
  xx70 43
y x  e5  e 10 
 99 Phương pháp 
 Euler tường 
 minh (h=0.5) 
 Lời giải 
 chính xác 
 Phương pháp 
 Euler ẩn tàng 
 (h=0.5) 
 Phương pháp Taylor bậc cao 27 
 Triển khai y(xi+1) trong dãy Taylor quanh điểm xi: 
 121 1kkkk 1   1
y xi1   y x i  hy x i  h y  x i   h y x i  h y  i  (10) 
 2!kk !  1 !
 Trong đó ξi Є [xi, xi+1], h= xi+1– xi 
 
 1 1 1
y x  y x  h y x  hy  x   hkk1 ykk  x  h y 1  
 i1 i i2! ikk ! i  1 ! i
 y f x, y
 yi1 i  ii
 pk x i, y i 
yi1  y i  h  p k x i, y i  (11) 
 Trong đó: 
 1 1 1
p x,,,,, y  f x y  hf x y  h21 f  x y   hk  fk 1  x y  (12) 
 kiiii2! ii 3! iik ! ii
 Phương pháp Taylor bậc hai 28 
xii1  x h
y y  h  p x, y 
 i1 i k i i (13) 
 1 1 1
p x,,,,, y  f x y  hf x y  h21 f  x y   hk  fk 1  x y 
 kiiii2! ii 3! iik ! ii
- Phương pháp Euler chính là khi k=1: p1  xi,, y i  f x i y i  i
- Phương pháp Taylor bậc hai k=2: 
 1
 pxy2  i,,,,, i  fxy i i  hgxyfxy   i i i i 
 1  2
p2  x,,, y  f x y hf x y 
 2  yi12  y i  h  p x i, y i 
fxy ,,,,,,  gxyy  gxyfxy  
   xii1  x h
 i từ 0 đến n-1 (14) 
 Phương pháp Taylor bậc hai 29 
 dy 0.3x
  0.3x p x, y  0.84 y  4.375 e i
  f x, y   1.2 y  7 e 2  i i i
 dx
  y y  h  p x, y 
  i12 i i i
 yx0  3; 0   4
 xii1  x h
 hn0.5   8 1. i=0: 
 0.3 0
 p2 x 0, y 0    0.84  3  4.375 e  1.855
 0.3x
f x, y   1.2 y  2.1 e y1 3  0.5  1.855  3.9275
 0.3xx 0.3 x 0  0.5  0.5
  1.2  1.2y  7 e  2.1 e 1
 0.3x
 1.44ye 10.5 2. i=1: 
 1
 0.3 0.5
p2  x,,, y  f x y hf x y p x, y  0.84  3.9275  4.375 e  0.466497396
 2 2 1 1 
 0.5 y2 3.9275  0.5  0.466497396  4.160748698
  1.2y  7 e0.3xx  1.44 y  10.5 e 0.3 
 2 x2 0.5  0.5  1.0
  0.84ye  4.375 0.3x
Phương pháp Taylor bậc hai 30 
 0.31.0
3. i=2: p2 x 2, y 2    0.84  4.160748698  4.375 e   0.25394919
 y3 4.160748698  0.5   0.25394919  4.033774103
 x3 1.0  0.5  1.5
4. i=3: 0.31.5
 p2 x 3, y 3    0.84  4.033774103  4.375 e   0.598747083
 y4 4.033774103  0.5   0.598747083  3.734400561
 x4 1.5  0.5  2.0
5. i=4: 0.3 2.0
 p2 x 4, y 4    0.84  3.734400561  4.375 e   0.735845563
 y5 3.734400561  0.5   0.735845563  3.366477780
 x5 2.0  0.5  2.5
Phương pháp Taylor bậc hai 31 
6. i=5: 0.3 2.5
 p2 x 5, y 5    0.84  3.366477780  4.375 e   0.761237667
 y6 3.366477780  0.5   0.761237667  2.985858946
 x6 2.5 0.5 3.0
7. i=6: 0.3 3.0
 p2 x 6, y 6    0.84  2.985858946  4.375 e   0.729379253
 y7 2.985858946  0.5   0.729379253  2.621169319
 x7 3.0  0.5  3.5
8. i=7: 0.3 3.5
 p2 x 7, y 7    0.84  2.621169319  4.375 e   0.670804575
 y8 2.621169319  0.5   0.670804575  2.285767031
 x8 3.5  0.5  4.0
 Phương pháp Taylor bậc hai 32 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp Euler 
 tường minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp Taylor 
 bậc 2 (h=0.5) 
 Phương pháp Euler 
 ẩn tàng (h=0.5) 
 Phương pháp Runge-Kutta bậc 2 (RK2) 33 
 dy
 y  fxyya ,;;    yxaxbx    
 dx 00 n
x1 x 0  h; x 2  x 0  2 h ; ; xn  x 0  nh
 Đây là một hệ phương trình 4 ẩn 
 (a , a , b , c ) nhưng chỉ có 3 
 yi1  y i  h   x i, y i  1 2 1 11
 phương trình. Nếu một trong số 
 các giá trị là hằng số thì 3 giá trị 
 (15) yi1 y i  h  a 1 k 1, i  a 2 k 2, i  (RK2) còn lại sẽ có thể được tính. Vì 
 vậy chúng ta có một vài phiên 
 bản của phương pháp RK2: 
 k1,i f x i, y i 
 (16)  - Phương pháp Euler Cải tiến 
 k f x  b h, y  c k h
  2,i i 1 i 11 1, i  - Phương pháp Heun 
 - Phương pháp Ralston 
 11
 (17) a a 1; a b  ; a c 
 1 2 2 122 2 11
Phương pháp Runge-Kutta bậc 2 (RK2) 34 
 
 k f x, y
 a1  0 1,i i i 
  
 17 1 1 1
 a1,   b   k  f x  h y  k h
 2 1 2,i i i 1, i (18) 
 2 2 2
 1 y y  h  k
 c   i1 i 2, i
  11 2
 xii1  x h
 11 (19) 
 yi1  yhfx i   i  hy,, i  hfxy   i i 
 22
 Phương pháp Runge-Kutta bậc 2 (RK2) 35 
dy
 f x, y   1.2 y  7 e0.3x xx0.5
dx ii1
 0.5
 0.5 0.3xi
yx0  3; 0   4; y y 0.5   1.2 y    1.2 y  7 e0.3xi  7 e 2
 i1 i i i 
 2
hn0.5   8
 x x h
 ii1 xx0.5
 11  ii1
 y yhfx    hy,,  hfxy 
 i1 i i i i i   0.3x 0.25
 22 0.3xi  i 
 yii1 0.58 y  1.05 e  3.5 e
1. i=0: 2. i=1: 
x1 0  0.5  0.5 x2 0.5  0.5  1.0
 0.3 0 0.3 0 0.25  0.3 0.5 0.3 0.5 0.25
y1 0.58  3  1.05 e  3.5 e  3.937102202 y2 0.58  3.937102202  1.05 e  3.5 e
 
   4.174582668
 Phương pháp Runge-Kutta bậc 2 (RK2) 36 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp Euler 
 tường minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp Euler 
 cải tiến (h=0.5) 
 Phương pháp Taylor 
 bậc 2 (h=0.5) 
 Phương pháp Euler 
 ẩn tàng (h=0.5) 
Phương pháp Runge-Kutta bậc 2 (RK2) 37 
  1 
 a 
  1 k1,i f x i, y i 
 2 
 1 17  
 a2  b 1 1,  k 2,i  f x i  h y i  k 1, i h
 2 (20) 
 c 1
 11 1
 yi1 y i  h  k 1, i  k 2, i 
   2
 xii1  x h
 h (21) 
 yi1  y i   fxy i,,, i  fxhyhfxy i  i    i i 
 2 
 Phương pháp Runge-Kutta bậc 2 (RK2) 38 
  Euler
 h f xi,, y i  f x i11 y i 
y y   fxy ,,,  fxhyhfxy      y  yh  (22) 
 i11 i22 i i i i i i i i
 xi1 Euler
 yi1
 Phương pháp Runge-Kutta bậc 2 (RK2) 39 
 xx0.5
  ii1
 
 0.5 0.3xxii 0.3 0.3xi 0.5
 yi1  y i  1.2 y i  7 e   1.2 y i  0.5  1.2 y i  7 e  7 e
  2     
 xii1  x h
 h
 yi1  y i   fxy i,,, i  fxhyhfxy i  i    i i 
 2 
 xxii1 0.5
 
 0.3xi 0.3xi 0.5
 yii1 0.58 y  0.7 e  1.75 e
1. i=0: 2. i=1: 
 x2 0.5  0.5  1.0
x1 0  0.5  0.5
  0.3 0.5 0.3 0.5 0.5
 0.3 0 0.3 0 0.5 y0.58  3.946238959  0.7 e  1.75 e
y0.58  3  0.7 e  1.75 e  3.946238959  2
 1 
   4.187746066
 Phương pháp Runge-Kutta bậc 2 (RK2) 40 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp Euler 
 tường minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp Heun 
 (h=0.5) 
 Phương pháp Euler 
 cải tiến (h=0.5) 
 Phương pháp Taylor 
 bậc 2 (h=0.5) 
 Phương pháp Euler 
 ẩn tàng (h=0.5) 
Phương pháp Runge-Kutta bậc 2 (RK2) 41 
  1 
 a1  k f x, y
  3 1,i i i 
  
 217  3 3 3
a2  b 1   k 2,i  f x i  h, y i  k 1, i h
 3 4 4 4 (22) 
 3
 c  1
 11 yi1 y i  h  k 1, i  2 k 2, i 
  4  3
 xii1  x h
 h 33 (23) 
 yi1  y i   fxy i, i  2 fx i  hy , i  hfxy   i , i 
 3 4 4
 Phương pháp Runge-Kutta bậc 2 (RK2) 42 
 xxii1 0.5
 
  3
 0.3x   0.5
  0.5 3 i
 0.3xxii 0.3 4
 yi1  y i 1.2 y i 7 e  2 1.2 y i  0.5 1.2 y i 7 e  7 e
 34
  
 xx0.5
  ii1
  770.3x 0.3x 0.375
 y0.58 y  ei  e i
  ii1 60 3
1. i=0: 2. i=1: 
 x2 0.5  0.5  1.0
x1 0  0.5  0.5 
  770.3 0.5 0.3 0.5 0.375
 77 y2 0.58  3.941727143  e  e
 y0.58  3  e0.3 0  e0.3 0 0.375  3.941727143 60 3
 1 60 3 
   4.181245857
 Phương pháp Runge-Kutta bậc 2 (RK2) 43 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp Euler 
 tường minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp Ralston 
 (h=0.5) 
 Phương pháp Heun 
 (h=0.5) 
 Phương pháp Euler 
 cải tiến (h=0.5) 
 Phương pháp Taylor 
 bậc 2 (h=0.5) 
 Phương pháp Euler 
 ẩn tàng (h=0.5) 
 Phương pháp Runge-Kutta bậc 3 (RK3) 44 
 dy
 y  fxyya ,;;    yxaxbx    
 dx 00 n
x1 x 0  h; x 2  x 0  2 h ; ; xn  x 0  nh
 yi1  y i  h   x i, y i 
 (24) yi1 y i  h  a 1 k 1, i  a 2 k 2, i  a 3 k 3, i  (RK3) 
 
 k1,i f x i, y i 
 
 (25) k2,i f x i  b 1 h, y i  c 11 k 1, i h
 
 k fx  bhy,  ckhckh 
  3,i i 2 i 21 1, i 22 2, i 
 Phương pháp Runge-Kutta bậc 3 (RK3) 45 
 k1,i f x i, y i 
 
  11
 k2,i f x i  h, y i  hk 1, i
  22
  (26) 
 k3,i f x i  h,2 y i  hk 1, i  hk 2, i 
 
  h
 yi1 y i   k 1, i 4 k 2, i  k 3, i 
  6
xii1  x h
 h 1 1   1 1 
yii1  y f x ii, y  4 f x ii h , y hf x ii , y   f x iiii h , y hf x , y  2 hf  x ii h , y hf x ii , y  
 6 2 2   2 2 
 (27) 
 Phương pháp Runge-Kutta bậc 3 (RK3) 46 
 dy 0.3x
  f x, y   1.2 y  7 e
 dx
 
 y0  3; 0  x  4; h  0.5  n  8
 1. i=0: 
 0.3 0
k1,0 f x 0, y 0    1.2  3  7 e  3.4
 1 1   1  0.3 0.25
 k2,0 f x 0 h, y 0 hk 1,0   f  0.25,3  0.5 3.4  f 0.25,3.85  1.2 3.85 7 e  1.874204404
 2 2   2 
k3,0 f x 0 h, y 0 hk 1,0 2 hk 2,0   f 0.5,3  0.5 3.4 2 0.5 1.874204404  f  0.5,3.174204404
 0.3 0.5
  1.2  3.174204404  7e  2.21591055
 h 0.5
y1 y 0 k 14 k 2,0 k 3,0  3 3.4 4 1.874204404  2.21591055  4.092727347
 66
 Tương tự cho các vòng lặp sau 
 Phương pháp Runge-Kutta bậc 3 (RK3) 47 
 69
  xx70 43
y x  e5  e 10 
 99
 Phương pháp Euler 
 tường minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp RK3 cổ 
 điển (h=0.5) 
 Phương pháp Ralston 
 (h=0.5) 
 Phương pháp Heun 
 (h=0.5) 
 Phương pháp Euler 
 cải tiến (h=0.5) 
 Phương pháp Taylor 
 bậc 2 (h=0.5) 
 Phương pháp Euler 
 ẩn tàng (h=0.5) 
 Phương pháp Runge-Kutta bậc 3 (RK3) 48 
 k1,i f x i, y i 
 
  11
 k2,i f x i  h, y i  hk 1, i
  33
  (28) 
  22
 k3,i f x i  h, y i  hk 2, i
  33
  h
 yi1 y i   k 1, i  3 k 3, i 
  4
xii1  x h
 h 2 2 1 1 (29) 
yi1  y i   f x i, y i  3 f x i  h , y i  hf x i  h , y i  hf x i , y i 
 4 3 3 3 3
 Phương pháp Runge-Kutta bậc 3 (RK3) 49 
 dy 0.3x
  f x, y   1.2 y  7 e
 dx
 
 y0  3; 0  x  4; h  0.5  n  8
1. i=0: k f x, y   1.2  3  7 e0.3 0  3.4
  1,0 0 0
 1
  0.3
 1 1   0.5 0.5   1 3.4  3.4 6
 k2,0 f x 0 h, y 0 hk 1,0   f  ,3  3.4  f  ,   1.2 7 e  5.978605972
  3 3   3 3   6 6  6
  2 2   1 1   1
 k3,0 f x 0  h, y 0  hk 2,0   f  ,3   5.978605972   f  ,1.992868657
  3 3   3 3   3
 1
  0.3
   1.2  1.992868657  7e 3  3.942419538
 
  h 0.5
 y1 y 0   k 1,0 3 k 3,0   3   3.4  3  3.942419538  4.093407327
  44
 Tương tự cho các vòng lặp sau 
 Phương pháp Runge-Kutta bậc 3 (RK3) 50 
 69
  xx70 43
y x  e5  e 10  Phương pháp 
 99
  RK3-Heun (h=0.5) 
 Lời giải 
 chính xác 
 Phương pháp Runge-Kutta bậc 4 (RK4) 51 
 dy
 y  fxyya ,;;    yxaxbx    
 dx 00 n
x1 x 0  h; x 2  x 0  2 h ; ; xn  x 0  nh
 yi1  y i  h   x i, y i 
 (30) yi1 yhak i   11, i  ak 22, i  ak 33, i  ak 44, i  (RK4) 
 k1,i f x i, y i 
 
 k f x  b h, y  c k h
  2,i i 1 i 11 1, i 
 (31) 
 k3,i fx i  bhy 2, i  ckhckh 21 1, i  22 2, i 
 
 k fx  bhy,  ckhckhckh  
  4,i i 3 i 31 1, i 32 2, i 33 3, i 
Phương pháp Runge-Kutta bậc 4 (RK4) 52 
 k1,i f x i, y i 
 
  11
 k2,i f x i  h, y i  hk 1, i
  22
 
  11
 k3,i f x i  h, y i  hk 2, i (32) 
  22
 
 k4,i f x i  h, y i  hk 3, i 
  h
 yi1 y i   k 1, i 22 k 2, i  k 3, i  k 4, i 
  6
 
 xii1  x h
 Phương pháp Runge-Kutta bậc 4 (RK4) 53 
 dy 0.3x
  f x, y   1.2 y  7 e
 dx
 
 y0  3; 0  x  4; h  0.5  n  8
1. i=0: 0.3 0
 k1,0 f x 0, y 0    1.2  3  7 e  3.4
 
  11 0.3 0.25
 k2,0 f x 0 h, y 0 hk 1,0  f 0.25,3  0.25 3.4 f 0.25,3.85  1.2 3.85 7 e  1.874204404
  22
 
  11
 k3,0 f x 0  h, y 0  hk 2,0  f 0.25,3  0.25  1.874204404  f  0.25,3.468551101
  22
 
   1.2 3.468551101 7e0.3 0.25 2.331943083
 
 k4,0 f x 0  h, y 0  hk 3,0   f 0.5,3  0.5  2.331943083  f  0.5,4.165971542
  0.3 0.5
   1.2  4.165971542  7e  1.025789985
  h 0.5
 y1 y 0 k 1,02 k 2,0 2 k 3,0 k 4,0  3 3.4 2 1.874204404  2 2.331943083 1.025789985
  66
   4.069840413
 Tương tự cho các vòng lặp sau 
 Phương pháp Runge-Kutta bậc 3 (RK3) 54 
 69
  xx70 43
y x  e5  e 10  Phương pháp 
 99
  RK4 Cổ điển 
 (h=0.5) 
 Lời giải 
 chính xác 
 Sử dụng lệnh có sẵn của MATLAB 55 
 69
  xx
 Lời giải 570 10 43
 dy 0.3x y x  e  e 
  f x, y   1.2 y  7 e chính xác 99
 dx 
 y0  3; 0  x  4; h  0.5  n  8
1) Tạo file hàm số xác định hàm dy/dx = f(x,y): 
 function dydx = DiffEq(x,y) 
 dydx = -1.2*y + 7*exp(-0.3*x); 
 end 
 - Giải bằng một trong số các câu lệnh có sẵn của 
2) Tạo file script lời giải: MATLAB, ví dụ như ode45 
 - Giải bằng lời giải chính xác 
 - Nhập vào MATLAB lời giải bằng tay mà ta đã tính 
 dựa trên 1 trong số 9 phương pháp đã học 
 - So sánh kết quả giữa lời giải chính xác và 
 MATLAB 
 - So sánh kết quả giữa lời giải chính xác và lời giải 
 tay 
 04x format long; 
  56 
 h  0.5 tspan = [0:0.5:4]; % Mien cua bien doc lap:Tu a den b voi buoc h 
 y 03  y0 = 3; % Gia tri ban dau cua ham phu thuoc y 
 69 [x,yMATLAB] = ode45(@DiffEq,tspan,y0) % Su dung ham ode45 
  xx70 43
y x  e5  e 10  yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9) % Loi giai 
 99 chinh xac 
 % Nhap ket qua tinh tay theo mot trong so 9 phuong phap, vi du PP 
 Euler tuong minh 
 y_ExEuler = 
 [3;4.7;4.892477918;4.549854940;4.051640506;3.541496929;3.06988170
 6;2.650946492;2.285160719] 
 % Tinh sai so giua loi giai chinh xac va MATLAB 
 error_Exact_MATLAB = abs((yExact - yMATLAB)./yExact)*100 
 % Tinh sai so giua loi giai chinh xac va mot trong so 9 pp ma ta 
 giai tay, vi du PP Euler tuong minh 
 error_Exact_ExEuler = abs((yExact - y_ExEuler)./yExact)*100 
 % Ve do thi ham loi giai chinh xac 
 x = [0:0.01:4]; %Chia nho lai khoang x de ve do thi cho muot 
 yExact = exp((-6/5)*x).*((70/9)*exp((9/10)*x) - 43/9); 
 plot(x,yExact,'b') 
 hold on 
 scatter(tspan,yMATLAB,'k') %ve cac diem loi giai cua MATLAB 
 hold on 
 scatter(tspan,y_ExEuler,'d') %Ve cac diem loi giai cua tinh tay 
 57 
 Véctơ x Véctơ lời giải y theo câu Véctơ lời giải chính xác 
 lệnh ode45 của MATLAB 
 Phương pháp Euler 
 tường minh (h=0.5) 
Véctơ lời giải theo 1 Sai số giữa lời giải Sai số giữa lời giải 
 chính xác và lời giải chính xác và lời giải 
 trong số 9 phương Lời giải chính xác 
pháp số tính bằng tay bằng câu lệnh của tính bằng tay theo 1 
 MATLAB trong số 9 pp 
 Lời giải theo câu lệnh 
 ode45 của MATLAB 
Bài toán kỹ thuật 58 
Cho ống nước chảy vào bể nước hình trụ có bán kính Rtank. 
Cùng ngay tại thời điểm đó thì ở dưới đáy bể, nước cũng 
được thoát ra bởi một vòi ống tròn có bán kính rhole. Cho biết 
quy luật dòng chảy nước vào bể có dạng: 
 dm
 in K Kcos Ct (33) 
 dt 12
Cho biết ở thời điểm ban đầu t0=0 thì nước trong bể đang ở 
độ cao h0. Hãy tính độ cao của bể nước ở thời điểm t* (s) kể 
từ khi bắt đầu. Cho biết khối lượng riêng của nước là ρ. 
Để giản lược tính toán, ta chấp nhận giản lược sau của độ 
cao h khi tính dòng chảy ra khỏi bể: 
 hh 0.008 (34) 
Giải phương trình vi phân bằng phương pháp giải tích chính 
xác và một trong số 9 phương pháp số có trong bài học để so 
sánh. Cho bước lặp bằng 0.5. Khảo sát thời gian t Є [0;10]. 
 59 
- Dòng chảy ra ở vòi ống dưới đáy bể: 
 2
 Arhole  hole
 s
 dmout ds
- Khối lượng của nước đi qua ống độ dài s: m  A  s    A 
 out holedt hole dt (34) 
 v
- Vận tốc của nước dưới đáy bể khi nước có độ cao h: v 2 gh (35) 
 dm 22
- Dòng chảy ra ở vòi dưới đáy bể là: out   r 2 gh     r  2 g  0.008 h
 dt hole hole (36) 
 60 
- Độ biến thiên khối lượng nước trong bể: 
 - Khối lượng của nước trong bể khi có độ cao h: 
 m  Atank  h (37) 
 - Độ biến thiên nước trong bể: 
 dm dh
  R2  (38) 
 dttank dt
 - Theo định luật bảo toàn khối lượng: 
 dmdm dm dh
 in out  R22  K Kcos C  t   r 2 g 0.008 h
 dt dt dttank dt 12 hole
 2
 dh rhole KK21
  f h, t  2  0.008 2 g  h  2 cos C  t  2
   dt Rtank  R tank   R tank (39) 
 
 h t00  h
 dh 100cos 3t 100 61 
  f h, t   0.3543557534E-5  h   
  dt 997 997
 
 h00 
rhole  0.01 m ;
Rtank 1 m ;
K1 100 kg s ; 1) Giải bằng tay bằng phương pháp giải tích. Tìm hàm lời giải 
 chính xác (Slide 19) 
K2 100 kg s ; 2) Tùy từng đề yêu cầu, giải một trong số 9 phương pháp (Bấm 
 3 máy tính CASIO chứ không được dùng MATLAB hay Excel hỗ 
  997 kg m ; trợ vì để luyện tập khi đi thi cuối kz). Chú {: bước lặp bằng 
 1 0.5. Khảo sát thời gian t Є [0;10]  20 điểm 
C  3 s ; 3) Lập bảng tính tay so sánh lời giải chính xác và lời giải số theo 
t  0 (s); mẫu (Slide 22/26/32/36/40/43/47/50/54): 
0 
h0  0 (m);
t  6 (s); 
 2 4) Sử dụng Code MATLAB như theo mẫu ở Slide 56 để kiểm 
g  9.81 m s . nghiệm lại và in kết quả, vẽ đồ thị so sánh kết quả (Slide 57). 
 Phương trình vi phân thường bậc I 62 
Phương pháp Euler tường 
 minh (h=0.5) 
 Lời giải chính xác 
 Phương pháp RK3 cổ 
 điển (h=0.5) 
 Phương pháp Ralston 
 (h=0.5) 
 Phương pháp Heun 
 (h=0.5) 
 Phương pháp Euler cải 
 tiến (h=0.5) 
 Phương pháp Taylor bậc 
 2 (h=0.5) 
 Phương pháp Euler ẩn 
 tàng (h=0.5) 
            Các file đính kèm theo tài liệu này:
bai_giang_phuong_phap_so_trong_tinh_toan_co_khi_bai_7_phuong.pdf