You are on page 1of 81

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 8:
Hệ phương trình vi phân thường bậc I và
Phương trình vi phân bậc cao
Thời lượng: 3 tiết
2
Nội dung bài học

7
phương
pháp
3
Hệ Phương trình vi phân thường bậc I

Hệ phương trình vi phân thường bậc I có dạng:


 dy1
 dx  f1  x, y1 , y2 , , yn  ; y1  x0   y01

 dy2  f  x, y , y , , y  ; y2  x0   y02
2 1 2 n
 dx (1)


 dyn  f x, y , y , , y ;
 dx n 1 2 n yn  x0   y0 n
Dạng véctơ:
 y1  x    f1  x, y T  
   

 y 
d
y  f  x , y T
  y2  x  
y  x  
 2

f  x, y   
T
f x , y T
  (2)
 dx ; ; 
y  x0   y 0    
  y  x   T 
 n   f n  x, y  
4
So sánh phát biểu của PTVP và Hệ PTVP thường bậc I

 dy d
 dx  y  f  x, y  ;  dx y  y  f  ;
x , y T

 
 y  a   y0 ; y  a   y 0 ;
 
 x0  a  x  b  xn  x0  a  x  b  xN
 

Hầu hết các phương pháp dùng để giải phương


trình vi phân thường bậc I đều có thể áp dụng
để giải hệ PTVP bậc I, chỉ với định dạng Véctơ.
5
Phương pháp Euler tường minh
i từ 0 đến N-1

i  f  xi , yi   φi  f  xi , y i 
T

 
 yi 1  yi  h  i  y i 1  y i  h  φi ; (3)
x  x  h x  x  h
 i 1 i  i 1 i

1 i i 
 y1  xi    f x , y T

   
 2  i   2  i i  
 T

 ; f  xi , y i   
y x f x , y
yi   T

   
 y  x   T 
 n i   f n  xi , y i  
6
Phương pháp Euler tường minh

 dy1
 y1  0   3  y1,0
1
 dx  y1   2 y1  y2  x
2
(4)

 Với điều kiện ban đầu:  1
 dy2  y  y  y  2 x (5)  y2  0    y2,0
 dx 2 1 2  5
b  a 30
Cho biết: h  0.25  N    12
h 0.25
Dạng Véctơ:

 y 
d
y  f  x , y   1  
  
 f  x , y T
 
 


1
  2

 ; f  x, y   
y x y y x
; y  x  
1
 dx T
  2 1 2

y  x0   y 0  y2  x    f 2  x, y    y1  y2  2 x 
T


7

1
- Từ (4):  
4  y 2  y1
  y1  x 2
 6
2
dy2 1
- Đạo hàm hai vế của (6):  6    y2  y1  y1  2 x 7
dx 2

1  1 2
- Thế (6) và (7) vào (5):  5  y1  y1  2 x  y1   y1  y1  x   2 x
2  2 
3 1
 y1  
y1  y1  x 2 (8)
2 2
3 1
- Tìm nghiệm chung của phương trình (8): y1  y1  y1  0 (9)
2 2
3 1
 Phương trình đặc trưng:    0
2
(10)
2 2
8
 17 3    17 3 
  x    x 
3 17 3 17 (11)
10   1    ; 2     Y1  x   C1e  4 
 C2 e  4 
4 4 4 4
- Tìm nghiệm riêng của phương trình (9), sẽ có dạng:
 
 y1  x   2 Ax  B
y1  x   Ax  Bx  C  
2

 y   x   2 A
 1
- Vậy:

  
3 1
 
9  2 A   2 Ax  B  Ax 2
 Bx  C  x 2

2 2
 A
  1  A  2
A  B  3B C   2 
  x2   3A   x   2 A     x2     B  12
2  2  2 2  3 A  B    2 A  3B  C   0 C  44
 2  2 2 
9
- Vậy lời giải đầy đủ của hàm y1(x) là:
 17 3    17 3 
  x    x 
y1  x   Y1  x   y1  x   y1  x   C1e  4 
 C2 e  4 
 2 x 2  12 x  44
(12)

- Đi tìm y2(x): Ta đạo hàm 2 vế của (12)


 17 3    17 3 
dy1 17  3   x 
17  3   x 
12    y1  x    C1  e  4 
  C2  e  4 
 4 x  12 (13)
dx 4 4
- Thế (13) vào (6):
 17  3 

17 3 
 x 
17  3
  17 3 
  x  
 6   y2  x     C1  e
4 
  C2  e  4 
 4 x  12 
 4 4 
 
 C  17 3 
 x 
C2
  17 3 
  x  
  1 e 
 e  
 x 2  6 x  22   x 2
4 4

2 2 
 
 17 3    17 3  10
17  1   x 
17  1   x 
 y2  x    C1  e 


 C2  e
 
 2 x 2  10 x  34 (14)
4 4

4 4
Vậy:
  17 3 
  x 
  17 3 
  x 
 y1  x   C1e 4 
 C e  4 
 2 x 2
 12 x  44
 2
  17 3    17 3 
(15)
 17  1   x 
17  1   x 
y
 2  x    C 1  e  4 
  C 2  e  4 
 2 x 2
 10 x  34
4 4

- Để tìm C1 và C2 ta dựa vào các điều kiện ban đầu:


 47 919 17
 y1  0   3 C1  C 2  44  3 C1  
   2 170 (16)
 1   17  1 17  1 1
 y2  0     C1   C2  34  C  47  919 17
 5  4 4 5  2 2 170
11
Như vậy lời giải chính xác của hệ phương trình là:

  17 3 
 47 919 17   4   47 919 17   4  x 
  x 
  17 3 

 y1  x      e     e  2 x 2
 12 x  44
    
 2 170   2 170 
  17 3    17 3 
 17  1  47 919 17   4    x 
17  1  47 919 17   4  x 
 y2  x        e       e  2 x 2  10 x  34
 4  2 170  4  2 170 

(17)

 y1  x   45.78902394e 0.2807764065 x   1.21097606e 1.780776406 x   2 x 2  12 x  44


 (18)
 2  
 0.2807764065 x   1.780776406 x 
y x  35.7509895  e  1.550989567  e  2 x 2
 10 x  34
12
Phương pháp Euler tường minh
1. i=0:

 1 1 2
 f1  x0 , y T0    1 y  y  x 2    3   0  1.3
   0  2 
φ 0  f  x0 , y 0   
5
T
  2 1,0 2,0
    
 f 2  x0 , y 0    y1,0  y2,0  2 x0  3  1  2  0  2.8 
T
   
 5
 y1,0   f  x ,
 1 0 0    y T
   3 
1.3 2.675
y1  y 0  h  φ 0     h      1   0.25    
 y2,0   f 2  x0 , y 0    5  2.8  0.9 
T

x1  x0  h  0  0.25  0.25
13
Phương pháp Euler tường minh

2. i=1:

 f1  x1 , y1T    1 y  y  x 2   1  2.675  0.9  0.252  0.375


   1   
φ1  f  x1 , y1   
T
 2
1,1 2,1
 2  
 f 2  x1 , y1    y1,1  y2,1  2 x1  2.675  0.9  2  0.25  1.275 
T
 

 1 1 1   2.675

 1,1 
y  f x , y T
 0.375 2.58125
y 2  y1  h  φ1     h       0.25     
 2,1 
y  f 2  x1 , y1    0.9  1.275   1.21875 
T

x2  x1  h  0.25  0.25  0.5


14
Phương pháp Euler tường minh

3. i=2:

 f1  x2 , y T2    1 y  y  x 2   1  2.58125  1.21875  0.52  0.178125


   2  
φ 2  f  x2 , y T2    
  2
1,2 2,2

  2  
 f 2  x2 , y 2    y1,2  y2,2  2 x2  2.58125  1.21875  2  0.5  0.3625 
T
 

 1 2 2   2.58125
 1,2 
y  f x , y T
 0.178125 2.62578125
y 3  y 2  h  φ2     h      0.25    
 y2,2   f 2  x2 , y 2   1.21875  0.3625  1.309375 
T

x3  x2  h  0.5  0.25  0.75

Tiếp tục cho đến bước số 12: i=11


15
16
Phương pháp RK2-Euler cải tiến 17

i từ 0 đến N-1
k1,i  f  xi , yi  

K 1,i  f  xi , y i 
T



 k  f x  h, y  k h
1 1    1  1  
T

 2,i  i 1,i  K 2,i  f  xi  h,  y i  hK1   (19)


  2
i
2   2  2  
 
y  y  hk 
 i 1 i 2,i
y i 1  y i  h  K 2,i
 xi 1  xi  h x  x  h
 i 1 i

 y1  xi    f1  xi , y iT  
   
 y2  xi    2  i i  
 Phương pháp RK2-Euler cải
T

f  xi , y i   
f x , y
yi   ;
T
 tiến còn gọi là RK2 điểm giữa
   
 y  x   T 
 n i   n  i i  
f x , y
Phương pháp RK2-Euler cải tiến 18

1. i=0:   1 
 1
  3 
1 2
0 
  y1,0  y2,0  x0   2
2
  1.3
K1,0  f  x0 , y 0    2
5
 
T

  y1,0  y2,0  2 x0  3  1  2  0  2.8 
    
 5

  1  1  
T  1  3  1 1.3 
T

K 2,0  f  x0  h,  y 0  hK1,0    f  0   0.25,      0.25    


  2  2    2   0.2  2  2.8  
 

  f  0.125, 2.8375, 0.55 

  1 2
   2.8375  0.55  0.125  0.853125
  2  
 2.8375  0.55  2  0.125   2.0375 

 3  0.853125 2.78671875
y1  y 0  h  K 2,0     0.25    
 0.2  2.0375  0.709375 
 x  x  h  0  0.25  0.25
 1 0
Phương pháp RK2-Euler cải tiến 19

2. i=1:
  1 2  1 2
K  f x , y T   2 1,1    1    2.78671875  0.709375  0.25  0.621484375
1 1 
y y x
 2 
2,1
 1,1 
          1.57734375 
y y
 1,1 2,1 2 x1   2.78671875 0.709375 2 0.25 

  1  1 
T
  1  2.78671875 1 0.621484375 
T

K 2,1  f  x1  h,  y1  hK1,1    f  0.25   0.25,      0.25    


  2  2    2  0.709375  2 1.57734375  


 f  0.375, 2.709033203, 0.906542968 

  1 2
    2.709033203  0.906542968  0.375  0.307348633
  2  
 2.709033203  0.906542968  2  0.375  1.052490235 

y  y  h  K  2.78671875  0.25  0.307348633  2.709881592 
 2 1 2,1      
 0.709375  1.052490235  0.972497558 
 x2  x1  h  0.25  0.25  0.5
Phương pháp RK2-Euler cải tiến 20

3. i=2:
  1 2  1 2
K  f x , y T   2 1,2    2   2.709881592  0.972497558  0.5  0.132443238
2 2 
y y x
 2 
2,2
 1,2 
           0.737384034 
y
 1,2 y 2,2 2 x 2   2.709881592 0.972497558 2 0.5 

  1  1 
T
  1  2.709881592  1 0.132443238 
T

K 2,2  f  x2  h,  y 2  hK1,2    f  0.5   0.25,      0.25    


  2  2    2  0.972497558  2 0.737384034  


 f  0.625, 2.693326187,1.064670562 

  1 2
    2.693326187  1.064670562  0.625  0.108632468
  2  
 2.693326187  1.064670562  2  0.625  0.378655625

y  y  h  K  2.709881592   0.25  0.108632468  2.737039709 
 3 2 2,2      
 0.972497558  0.378655625 1.067161464 
 x3  x2  h  0.5  0.25  0.75
21
22
Phương pháp RK2-Heun 23

i từ 0 đến N-1
k1,i  f  xi , yi  

K 1,i  f  xi , y i 
T


k2,i  f  xi  h, yi  k1,i h 





K  f xi  h,  y i  hK1,i 
 2,i
T
 (20)
 yi 1  yi  h   k1,i  k2,i  y  y  1 h   K  K 
1
 2  i 1 i
2
1,i 2,i

 xi 1  xi  h x  x  h
 i 1 i

 y1  xi    f1  xi , y iT  
   
 y2  xi    2  i i  
 T

f  xi , y i   
f x , y
yi   ;
T

   
 y  x   T 
 n i   f n  xi , y i  
Phương pháp RK2-Heun 24

  1 1 2
1. i=0:
  1 2
  3  0 
    0  2  1.3
K1,0  f  x0 , y 0    2
y y x 5
 
T 1,0 2,0

  y1,0  y2,0  2 x0  3   2  0  
1 2.8 
    
 5

  1.3 
 
T
 3 
K 2,0  f x0  h,  y 0  hK1,0   f  0  0.25,     0.25    
T

   0.2  2.8  


  f  0.25, 2.675, 0.9 

  1 2
  2.675  0.9  0.25  0.375
  2  
 2.675  0.9  2  0.25  1.275 

 3  0.25  1.3 0.375  2.790625
y1  y 0    K1,0  K 2,0     
h
       
 2 0.2  2  2.8  1.275   0.709375 

 x1  x0  h  0  0.25  0.25
Phương pháp RK2-Heun 25

2. i=1:
  1 2  1 2
K  f x , y T   2 1,1    1        0.6234375
1 1 
y y x 2.790625 0.709375 0.25
 2 
2,1
 1,1 
          1.58125 
 y1,1 y 2,1 2 x 1   2.790625 0.709375 2 0.25 

 0.6234375 
 
T
  2.790625
K 2,1  f x1  h,  y1  hK1,1   f  0.25  0.25,    
T
  0.25  
   0.709375  1.58125  


 f  0.5, 2.634765625,1.1046875 

  1 2
    2.634765625  1.1046875  0.5  0.037304687 
  2  
 2.634765625  1.1046875  2  0.5   0.530078125 

y  y  h  K  K  2.790625  0.25   0.6234375  0.037304687    2.717358398
 2 1  1,1 2,1         

2  0.709375  2 1.58125   0.530078125   0.973291015 
 x2  x1  h  0.25  0.25  0.5
Phương pháp RK2-Heun 26

3. i=2:
  1 2  1 2
K  f x , y T   2 1,2    2       0.135388183
2 2 
y y x 2.717358398 0.973291015 0.5
 2 
2,2
 1,2 
  y1,2  y2,2  2 x2  2.717358398  0.973291015  2  0.5   0.744067382 
 

 0.135388183 
 
T
  2.717358398
K 2,2  f x2  h,  y 2  hK1,2   f  0.5  0.25,    
T
  0.25  
   0.973291015  0.744067382  


 f  0.75, 2.683511352,1.159307861

  1 2
    2.683511352  1.159307861  0.75  0.380052184 
  2  
 2.683511352  1.159307861  2  0.75   0.024203491 

y  y  h  K  K  2.717358398  0.25   0.135388183  0.380052184    2.747941398
 2 1  1,1 2,1         

2  0.973291015  2  0.744067382   0.024203491   1.069324874 
 x2  x1  h  0.5  0.25  0.75
27
28
Phương pháp RK2-Ralston 29

i từ 0 đến N-1
k1,i  f  xi , yi  

K 1,i  f  xi , y i 
T


 k  f  x  h, y  k h 
3 3   3  3  
T

 2,i  i 1,i  K 2,i  f  xi  h,  y i  hK1,i  


 4
i
4   4  4   (21)
   
 y  y  1 h  k  2k 
 i 1 i
3
 1, i 2, i  y i 1  y i  h   K1,i  2K 2,i 
1
  3
 xi 1  xi  h  xi 1  xi  h

 y1  xi    f1  xi , y iT  
   
 y2  xi    2 i i  
  T

f  xi , y i   
f x , y
yi   ;
T

   
 y  x   T 
 n i   f n  xi , y i  
Phương pháp RK2-Ralston 30

1. i=0:   1 1 2
  1     3  0 
 y1,0  y2,0  x0   2  1.3
2

K1,0  f  x0 , y 0    2
5
 
T

  y1,0  y2,0  2 x0  3   2  0  
1 2.8 
    
 5

  3  3  
T  3  3  3 1.3 
T

K 2,0  f  x0  h,  y 0  hK1,0    f  0   0.25,      0.25    


  4  4    4   0.2  4  2.8  
 

  f  0.1875, 2.75625, 0.725 

  1 2
  2.75625  0.725  0.1875  0.61796875
  2  
 2.75625  0.725  2  0.1875   1.65625 

 3  0.25  1.3 0.61796875  2.788671875
y1  y 0    K1,0  2K 2,0     
h
   2    
 3 0.2  3  2.8  1.65625   0.709375 

 x1  x0  h  0  0.25  0.25
Phương pháp RK2-Ralston 31

2. i=1:

  1 2  1 2
K  f x , y T   2 1,1    1        0.6224609737 
1 1 
y y x 2.788671875 0.709375 0.25
 2 
2,1
 1,1 
  y1,1  y2,1  2 x1  2.788671875  0.709375  2  0.25   1.579296875 
 

  3  3 
T
  3  2.788671875 3 0.6224609737  
T

K 2,1  f  x1  h,  y1  hK1,1    f  0.25   0.25,      0.25    


  4  4    4  0.709375  4 1.579296875  


 f  0.4375, 2.671960442,1.005493164 

  1 2
    2.671960442  1.005493164  0.4375  0.139080807 
  2  
 2.671960442  1.005493164  2  0.4375   0.791467278 

y  y  h  K  2K  2.788671875  0.25   0.6224609737   2 0.139080807    2.713619993
 2 1  1,1 2,1         

3  0.709375  3 1.579296875   0.791467278   0.972894285 
 x2  x1  h  0.25  0.25  0.5
Phương pháp RK2-Ralston 32

3. i=2:

  1 2  1 2
K  f x , y T   2 1,2    2       0.133915679 
2 2 
y y x 2.713619993 0.972894285 0.5
 2 
2,2
 1,2 
  y1,2  y2,2  2 x2  2.713619993  0.972894285  2  0.5   0.740725708 
 

  3  3 
T
  3  2.713619993 3 0.133915679  
T

K 2,2  f  x2  h,  y 2  hK1,2    f  0.5   0.25,      0.25    


  4  4    4  0.972894285 4 0.740725708   


  f  0.6875, 2.688510803,1.111780355 

  1 2
    2.688510803  1.111780355  0.6875  0.240181203
  2  
 2.688510803  1.111780355  2  0.6875   0.201730448 

 2.713619993 0.25  0.133915679  0.240181203   2.742490554
 2,2 
h
y
 3  y 2   K 1,2  2 K         2     

3  0.972894285  3  0.740725708   0.201730448   1.068243169 
 x3  x2  h  0.5  0.25  0.75
33
34
Phương pháp RK3 – Cổ điển 35

i từ 0 đến N-1
K1,i  f  xi , y iT 
k1,i  f  xi , yi  
   1  1 
T

k  f  x  1 h, y  1 hk  K 2,i  f  xi  h,  y i  hK1,i  
 
 2,i  i i 1,i    2  2  
 2 2  (22)
 
 3,i

k  f ix  h , yi  hk1,i  2 hk 2,i    3,i

K  f  xi  h ,  y
 i  h K 1,i  2 h K 
2,i  
T
;

 yi 1  yi    k1,i  4k2,i  k3,i 


h 
  K1,i  4K 2,i  K 3,i 
h
 y
 i 1  y 
6 i
6
x  x  h 
 i 1 i
 xi 1  xi  h


 y1  xi   

f1  x i , y i 
T


 
 y2  xi    f 2  xi , y i  
T

yi    ; f  xi , y i   
T

   
 y  x   T 
 n i   n  i i  
f x , y
Phương pháp RK3 – Cổ điển 36

 1 1 2
1. i=0:  1 2   3   0
 y  y2,0  x0   2  1.3
K1,0  f  x0 , y 0T    2 1,0
5
   
1
 y1,0  y2,0  2 x0  3   2  0   2.8 
   
 5
 1  1 
T
  1  3  1  1.3  
T

K 2,0  f  x0  h,  y 0  hK1,0    f  0   0.25,      0.25    
         
 2 2  
2  0.2 2 2.8

 f  0.125, 2.8375, 0.55 
 1 2
  2.8375  0.55  0.125  0.853125
 2  
2.8375  0.55  2  0.125   2.0375 

 
 
T
 3  1.3 0.853125
 f  0  0.25,     0.25   
T
K 3,0  f x0  h,  y 0  hK1,0  2hK 2,0    2  0.25   
  
0.2  2.8   2.0375  
 
 f  0.25, 2.8984375, 0.51875 
 1 2
  2.8984375  0.51875  0.25  0.86796875
 2  
2.8984375  0.51875  2  0.25  1.8796875 

3  0.25  1.3 0.853125 0.86796875  2.767480469 


  K1,0  4K 2,0  K 3,0     
h
y1  y 0     4      
6  
0.2 6  2.8   2.0375  1.8796875   0.7345703125
x1  x0  h  0  0.25  0.25
Phương pháp RK3 – Cổ điển 37

2. i=1:
 1 2  1 2
 y1,1  y2,1  x1    2.767480469  0.7345703125  0.25  0.586669922 
K1,1  f  x1 , y    2
1
T
 2  
 y1,1  y2,1  2 x1  2.767480469  0.7345703125  2  0.25  1.532910156 
 
 1  1 
T
  1   2.767480469  1  0.586669922  
T

 

K 2,1  f  x1  h,  y1  hK1,1    f 0.25   0.25,      0.25       f  0.375, 2.6941467288, 0.926184082 
 2  2    2  0.7345703125 2 1.532910156   

 1 2
  2.6941467288  0.926184082  0.375  0.280264283
 2  
2.6941467288  0.926184082  2  0.375  1.017962647 

 0.280264283 
 
T
 2.767480469  0.586669922 
K 3,1  f x1  h,  y1  hK1,1  2hK 2,1   f  0.25  0.25,    
T
  0.25     2  0.25  
  0.7345703125 1.532910156  1.017962647   

 f  0.5, 2.774015808, 0.860324097 
 1 2
  2.774015808  0.860324097  0.5  0.276683807 
 2  
2.774015808  0.860324097  2  0.5   0.913691711 

2.767480469  0.25  0.586669922  0.280264283 0.276683807   2.684796683


  K1,1  4K 2,1  K 3,1   
h
y 2  y1        4      
6  0.7345703125  6 1.53 2910156  1.017962647   0.913691711   1.006172498 
x2  x1  h  0.25  0.25  0.5
38
39
Phương pháp RK3 – Heun 40

K1,i  f  xi , y iT 
i từ 0 đến N-1 k1,i  f  xi , yi  
   1  1 
T

k  f  x  1 h, y  1 hk  K 2,i  f  xi  h,  y i  hK1,i  
 
 2,i  i i 1,i    3  3  
 3 3 
 
  2 2    2  2  
T

k3,i  f  xi  h, yi  hk2,i   K 3,i  f  xi  h,  y i  hK 2,i   ; (23)


  3 3    3  3  
 
 yi 1  yi    k1,i  3k3,i 
h
y i 1  y i    K1,i  3K 3,i 
h
 4  4
 xi 1  xi  h  xi 1  xi  h
 

1 i i 
 y1  xi    f x , y T

   
 y2  xi   
  i 
T

 ; f  xi , y i   
f x , y
yi   T 2 i

   
 y  x   T 
 n i   n  i i  
f x , y
Phương pháp RK3 – Heun 41

 1 1 2
1. i=0:  1 2
 y  y2,0  x0   2
  3   0
 1.3
 f  x0 , y 0T    2 1,0
5
K1,0 
   
1
 y1,0  y2,0  2 x0  3   2  0   2.8 
   
 5
 1  1 
T
  1  3  1  1.3  
T
  0.25 
K 2,0  f  x0  h,  y 0  hK1,0 
   f  0   0.25,      0.25     f  , 2.8916666667, 0.4333333333 
 3  3    3   0.2  3  2.8    3 
 
 1  0.25  
2

  2.8916666667  0.4333333333     1.005555556 


 2  3  
   
2.8916666667  0.4333333333  2  0.25  2.291666667 
 3 

 2  2h 
T
  2  3  2  0.25 1.005555556 
T
  0.5 
K 3,0  f  x0  h,  y 0 

K 2,0    f  0   0.25,        f  , 2.8324074073, 0.5819444446 
 3  3    3  
0.2 3  2.291666667    3 
 
 1  0.5  
2

  2.8324074073  0.5819444446     0.8064814802 


 2  3  
   
2.8324074073  0.5819444446  2  0.5  1.917129629 
 3 
3  0.25  1.3 0.8064814802   2.7675347225
  K1,0  3K 3,0     
h
y1  y 0     3     
4  
0.2 4  2.8  1.917129629   0.7344618054 
x1  x0  h  0  0.25  0.25
Phương pháp RK3 – Heun 42

2. i=1:
 1 2  1 2
 y1,1  y2,1  x1    2.7675347225  0.7344618054  0.25  0.586805556 
K1,1  f  x1 , y1    2
T
 2  
 y1,1  y2,1  2 x1  2.7675347225  0.7344618054  2  0.25   1.533072917 
 
 1   
T   2.7675347225 1 0.586805556    1
T

  f  , 2.7186342595, 0.8622178818 
1 1
K 2,1  f  x1  h,  y1  hK1,1    f  0.25   0.25,      0.25    
 3     1.533072917    3 
 3

3  0.7344618054  3
 1 1 
2

  2.7186342595  0.8622178818     0.3859881369 


 3  
 2   
2.7186342595  0.8622178818  2  1  1.189749711 
 3 

 2  2h 
T
  2  2.7675347225 2  0.25 0.3859881369    5
T

K 3,1  f  x1  h,  y1 

K 2,1    f  0.25   0.25,         f  , 2.7032033663, 0.9327534239 
 3  3    3  0.7344618054  3 1.189749711     12 

 1  5 
2

  2.7032033663  0.9327534239     0.2452371479 


  12   
 2   
 5   0.9371166087 
 2.7032033663  0.9327534239  2  
12
2.7675347225 0.25  0.586805556  0.2452371479   2.68487741 
  K1,1  3K 3,1   
h
y 2  y1        3     
4  0.7344618054  4 1.533072917   0.9371166087   1.0059882268
x2  x1  h  0.25  0.25  0.5
43
44
Phương pháp RK4 Cổ điển 45
K1,i  f  xi , y iT 
k1,i  f  xi , yi  
i từ 0 đến N-1    1  1 
T

k  f  x  1 h, y  1 hk  K 2,i  f  xi  h,  y i  hK1,i  
 
 2,i  i i 1,i    2  2  
 2 2 
 

k  f x  h, y  hk1 1    1  1 
T

 3,i  i 2,i  K 3,i  f  xi  h,  y i  hK 2,i  
  2
i
2    2  2   (24) ;
 
 
 
k
 4,i

 f xi  h , yi  hk 3

K  f x  h,  y  hK T
 4,i i  i 3,i  
 yi 1  yi    k1,i  2k2,i  2k3,i  k4,i  
h
y i 1  y i    K1,i  2K 2,i  2K 3,i  K 4,i 
h
 6
 xi 1  xi  h  6
 xi 1  xi  h

 y1  xi   

f1  xi , y i 
T


 
 y2  xi   
  i 
T

 ; f  xi , y i   
f x , y
yi   T 2 i

   
 y  x   T 
 n i   f n  xi , y i  
Phương pháp RK4 Cổ điển 46

1. i=0:
 1 1 
 1 2
   3   02 
 y  y2,0  x0   2  1.3
 f  x0 , y 0T    2 1,0
5
K1,0   
 y1,0  y2,0  2 x0  3   2  0  2.8 
1
   
 5
   T
  1 
1  1 
T
1  3  1 1.3    2.8375  0.55  0.1252  0.853125
K 2,0  f  x0  h,  y 0  hK1,0    f  0   0.25,      0.25      f  0.125, 2.8375, 0.55    2  
 2     0.2  2  2.8    
 2  
2     2.0375
2.8375  0.55  2  0.125 
   T
  1 
1  1 
T
1  3  1 0.853125    2.893359375  0.4546875  0.1252 
K 3,0  f  x0  h,  y 0  hK 2,0    f  0   0.25,      0.25      f  0.125, 2.893359375, 0.4546875    2 
 2     0.2  2   
2 2  2.0375 
    2.893359375  0.4546875  2  0.125 
0.976367187 
 
2.188671875 
   1 
 
T
 3  0.976367187     2.7559082033  0.7471679687  0.252 
 f  0  0.25,     0.25     f  0.25, 2.7559082033, 0.7471679687    2
T
K 4,0  f x0  h,  y 0  hK 3,0   
   0.2   2.188671875   2.7559082033  0.7471679687  2  0.25 
 
0.568286132 
 
1.508740234 
3  0.25  1.3 0.853125 0.976367187   0.568286132    2.7696970622
  K1,0  2K 2,0  2K 3,0  K 4,0     
h
y1  y 0     2   2     
6 0.2  6  2.8  2.0375  2.188671875  1.508740234   0.7317118327 
x1  x0  h  0  0.25  0.25
Phương pháp RK4 Cổ điển 47

 1 2  1 2
 y1,1  y2,1  x1    2.7696970622  0.7317118327  0.25  0.590636698
K1,1  f  x1 , y    2
1
T
 2  
 y1,1  y2,1  2 x1  2.769697062  0.7317118327  2  0.25  1.537985229 
 
 1  1  
T  1  2.7696970622  1 0.590636698 
T

K 2,1  f  x1  h,  y1  hK1,1    f  0.25   0.25,  


     0.25      f  0.375, 2.695867475, 0.9239599863
 2  2    2  0.7317118327  2 1.537985229  

 1 2
  2.695867475  0.9239599863  0.375  0.283348751
 2  
2.695867475  0.9239599863  2  0.375   1.021907489 

 1  1 
T
  1  2.7696970622  1 0.283348751 
T

K 3,1  f  x1  h,  y1  hK 2,1 
   f  0.25   0.25,      0.25      f  0.375, 2.7342784683, 0.8594502688 
 2  2    2   0.7317118327  2 1.021907489  

 1 2
  2.7342784683  0.8594502688  0.375  0.367063965
 2   
2.7342784683  0.8594502688  2  0.375  1.124828199 
 0.367063965 
 
T
 2.7696970622 
K 4,1  f x1  h,  y1  hK 3,1   f  0.25  0.25,      f  0.5, 2.677931071,1.0129188825 
T
  0.25  
   0.7317118327  1. 124828199  

 1 2
  2.677931071  1.0129188825  0.5  0.076046653
 2   
2.677931071  1.0129188825  2  0.5  0.665012189 

2.7696970622  0.25  0.590636698 0.283348751 0.367063965  0.076046653   2.6877175296


y 2  y1    K1,1  2K 2,1  2K 3,1  K 4,1   
h
    2   2     
6  0.7317118327  6 1.537985229  1.021907489  1.124828199   0.665012189   1.0023980325 
x2  x1  h  0.5  0.25  0.75
48
49
50
So sánh sai số giữa các phương pháp

Euler RK2-Euler
RK2-Heun RK2-Ralston RK3-Cổ điển RK3-Heun RK4-Cổ điển
tường mình cải tiến
51
So sánh sai số giữa các phương pháp

Euler RK2-Euler
RK2-Heun RK2-Ralston RK3-Cổ điển RK3-Heun RK4-Cổ điển
tường mình cải tiến
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 52

Phát biểu:

d2y  dy 
 2  f  x, y ,   y  x0   y0
 dx  dx  với điều kiện ban đầu:  (25)
 y  x0   y0
 y  f  x, y, y 
x0  a  x  b  xN
ba
N
h
x1  x0  h; x2  x0  2h; ; xN  x0  N  h
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 53

Đưa bài toán về hệ hai phương trình vi phân


  dy1
 y1   y2  f1  x, y1 , y2 
 y  y1  dx
Đặt:  
 y   y2  y  dy2  f  x, y , y   f  x, y , y 
 2 dx 1 2 2 1 2

 dy1
 dx  y2  y1  x0   y0
 ;  (26)
 dy2  f  x, y , y   y2  x0   y0
 dx 1 2
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 54

Ví dụ:  dy1
 dx  y2
d2 y dy 
 2  0.2  2 y  3sin x  y  y1  dy2
 dx dx    0.2 y2  2 y1  3sin x
 y  0   3; y  0   1.5  y   y2  dx
  y1  0   3; y2  0   1.5

 d
y  dx y  f  x, y       f  x , y T
  y 
  1   
; f  x, y   
y x
; y  x  
1
 
T
  2

3 
y  x0   y 0     y2  x    f 2  x, y   0.2 y2  2 y1  3sin x 
T

 1.5
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 55

Phát biểu:
 y  x0   y0

dny  dy d 2 y d y 
n 1
 y  x0   y0
 n  f  x, y, , 2 , ,  n 1  
 dx  dx dx dx  Với n điều kiện ban đầu:  y  x0   y0
  n 
 y  f  x, y, y, y, , y
n 1
 
 y  n 1  x   y  n 1
 0 0

x0  a  x  b  xN (27)
ba
N
h
x1  x0  h; x2  x0  2h; ; xN  x0  N  h
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 56

Đưa bài toán về hệ n phương trình vi phân


Đặt:
 dy1
 dx  y2
  dy1   y1  x0   y0
 y  y1  y1  dx  y2  f1  x, y1 , y2 , , yn   dy2  y 

 y   y2

 y  dy2  y  f  x, y , y , , y   dx 3
 y2  x0   y0
  
 y  y3   2 dx 3 2 1 2 n
 ;  y3  x0   y0
   dy 
   n 1  yn 
 y  n 1   y  dyn  f x, y , y , , y  f x, y , y ,  dx  y  x   y  n 1
yn
 n dx  1 2 n n , yn   n 0
1 2
 dyn 0

  f  x, y1 , y2 , , yn 
 dx

(28)
Phương trình vi phân bậc cao: Bài toán giá trị ban đầu 57

Ví dụ:  dy1
 dx  y2
d3y dy d2y  y  y1 
 3  2x  3y  4   x  2   dy2  y

 dx dx dx  y   y2  dx
3

 y  0   3; y  0   2; y  0   7  y  y  dy3


   2 x  3 y1  4 y2  x  y3
3

 dx
 y1  0   3; y2  0   2; y3  0   7
 d
 y  y  f  x, y     
 y1  x  
T
dx f x , y  y2 
 
1
    T   
  3  ; y    2  
x  y  x  ; f x , y T
   2
f x , y  
  3 y 
y  x0   y 0  2      2 x  3 y  4 y  x  y 
  3  
y x 
 f  x , y T
 

 1 2 3
7  3
  
Hệ Phương trình vi phân bậc cao: Bài toán giá trị ban đầu
 d 2 y  dy dz 
  2  g1  x, y, , z , 
  dx  dx dx   y  x0   y0
 d 2 z 
 dy
  2  g 2  x, y , , z , 
dz   y  x0   y0
với điều kiện ban đầu: 
  z  x0   z0
  dx dx dx 
  y  g x, y, y, z , z 
1   z x  z
   0 0
  z   g 2  x, y, y, z , z  

x0  a  x  b  xN (29)
ba
N
h
x1  x0  h; x2  x0  2h; ; xN  x0  N  h 58
Hệ Phương trình vi phân bậc cao: Bài toán giá trị ban đầu
Đưa bài toán về hệ 4 phương trình vi phân

Đặt:   dy1
 y1  dx  y2  f1  x, y1 , y2 , y3 , y4 
 dy1
 dx  y2
 y  y1    y1  x0   y0
 y  dy2  g  x, y , y , y , y   f  x, y , y , y , y   dy2
 y  y  g1  x, y1 , y2 , y3 , y4   y x  y
  2 dx  dx  2 0
1 1 2 3 4 2 1 2 3 4

2

0
 ;
 z  y3  y  dy3  y  f  x, y , y , y , y   dy3  y3  y3  x0   z0
 z   y4  3 dx 3 3 1 2 3 4
 dx y x  z
  dy  4 0 0
dy
 y4  4  g 2  x, y1 , y2 , y3 , y4   f 4  x, y1 , y2 , y3 , y4   4  g 2  x, y1 , y2 , y3 , y4 
 dx  dx
(30)
Tương tự { tưởng cho những hệ phương trình vi phân bậc cao
hơn, nhiều hàm (y, z, v.v…) hơn
59
60
Bài toán kỹ thuật
y
Cho hệ Lò xo (Spring) với độ cứng K, vật nặng với khối
lượng m (Mass) – Giảm chấn (Damper) với hệ số giảm
chấn C (gọi tắt là hệ SMD) một bậc tự do được tác
dụng bởi một lực cưỡng bức F(t).
m
Hãy xây dựng phương trình dao động của vật m và
hãy giải nó bằng các phương pháp số để tìm quy luật
của chuyển vị và vận tốc của vật khối lượng m.
Điều kiện ban đầu: y(0)=0, y’(0)=0
Khảo sát với t Є [0; 1], với bước h=0.1
61
Bài toán kỹ thuật

- Phương trình chuyển động của vật nặng m theo thời gian t:
d2y dy
m  2  C   K  y  F t  (31)
dt dt
d2y dy
- Tìm nghiệm chung của phương trình (31): m  2  C   K  y  0 (32)
dt dt

 Phương trình đặc trưng: m2  C   K  0 (33)

C  C 2  4mK C C 2  4mK
 33  1,2    (34)
2m 2m 2m
62
a) Trường hợp 1: Nếu C2 – 4mK = 0
 K   K 
 t   t 
K
C  4mK  1  2   Y  t   C1e  
 C2te   (35)
2 m m

b) Trường hợp 2: Nếu C2 – 4mK > 0  λ1 và λ2 là các số thực

C C 2  4mK
 
34  1,2         Y  1
t  C e     t
 C 2 e     t
(36)
2m 2m

c) Trường hợp 3: Nếu C2 – 4mK < 0  λ1 và λ2 là các số phức

C C 2  4mK
 34   1,2         i  Y  t   C1e t cos   t   C2e t sin   t 
2m 2m
(37)
63
- Tìm nghiệm riêng của phương trình (31):
a) Trường hợp 1: F(t)=F0·eω·t Nghiệm riêng sẽ có dạng:

 
  
t
y t  A e
y  t   Ae  
t
  31  m  A 2et  C  Aet  K  Aet  F0et
 y  t   A 2et

 A  m 2  C  K   F0
F0
 A
m 2  C  K
F0
 y t    et
(38)
m 2  C  K
64
b) Trường hợp 2: F(t) = A1t2 + A2t + A3 Nghiệm riêng sẽ có dạng:
 
 y  t   2 B1t  B2
y  t   B1t  B2t  B3  
2

 y  t   2 B
 1

  31  m  2 B1  C   2 B1t  B2   K   B1t 2  B2t  B3   A1t 2  A2t  A3


  K  B1  t 2   2  C  B1  K  B2  t   2  m  B1  C  B2  K  B3 
 A1
B
 1 K
 K  B1  A1 
  A2 2CA1
 2  C  B1  K  B2  A2   B2   2
2  m  B  C  B  K  B  A  K K
 1 2 3 3
 A3 CA2  2mA1 2C 2 A1
 B3   
 K K 2
K3
A1 2  A2 2CA1   A3 CA2  2mA1 2C 2 A1 
 y t   t    2  t      (39)
  
2 3
K K K K K K 
65
c) Trường hợp 3: F(t)=F0sin(ωt) hoặc F(t)=F0cos(ωt) Nghiệm riêng sẽ có dạng:
 
 y  t    A sin t   B cos t 
y  t   A cos t   B sin t   
 y  t    A 2 cos t   B 2 sin t 

 F0 cos t 
  31  m   A cos t   B sin t    C   A sin t   B cos t    K  A cos t   B sin t    
2 2

 F0 sin t 
 F0 cos t 
   mA  CB  KA  cos t    mB  CA  KB  sin t   
2 2

 F0 sin t 
 F0  K  m 2 
 A 
 

 K  m   C 2 2
2 2

Nếu F(t)=F0cos(ωt)
  K  m 2   A  C  B  F0  F0C
   B 
 C  A   K  m 2   B  0     
2 2
 
2 2
 
 K m C
  (40)
  
  K  m 2  A  C  B  0  A   F0C


   
 C  A  K  m 2  B  F 
   K  m   C 2 2
2 2

0
 Nếu F(t)=F0sin(ωt)
 B  F0  K  m 2


   K  m  
2 2
 C 
2 2
66
- Vậy nghiệm đầy đủ của phương trình (31):

y t   Y t   y t   Còn chứa các hằng số C1 và C2

- Để tìm C1 và C2 ta dựa vào các điều kiện ban đầu:

 y  t0   y0 C1  y  t 
   Lời giải chính xác
 y  t0   y0 C2  y  t 
- Lời giải số:
d2 y C dy K F t 
 2    y
 31   dt m dt m m (41)
 y  0   0; y  0   0

67
- Chuyển (41) về hệ phương trình vi phân thường bậc I
 dy1
d2 y F t   dt  y2
C dy K 
 2    y  y  y1  dy2 C K F t 
 dt m dt m m      y2   y1 
 y  0   0; y  0   0  y   y2  dt m m m
  y1  0   0; y2  0   0


 d
y  dt y  f  t , y       y2 
 y1  t  
T
  1f t , y   
   ; y t     ; f t, y   
T
  C F t  
 y2  t    f 2  t , y     y2   y1 
K
y  t0   y 0   
0

T

  0   m m m 
  
0

Giải bằng các phương pháp số tương tự như ví dụ


68
Bài toán kỹ thuật

y Cho dầm Công-xon (ngàm) chiều dài L với


độ cứng uốn EIz, chịu tải trọng lực P đặt
vào đầu tự do như hình vẽ.

O Hãy xây dựng phương trình chuyển vị (độ


võng y) của dầm và hãy giải nó bằng các
x phương pháp số để tìm quy luật của độ
võng và góc xoay của dầm.
Điều kiện ban đầu: y(0)=0, y’(0)=0
Khảo sát với x Є [0; L], với bước h=L/10
69
- Theo kiến thức của môn “Sức bền vật liệu”, ta có:
d2y
dx 2 Mz
1. Phương trình chuyển vị của dầm: 3
 (42)
  dy  2  2 EI z
1    
  dx  
2. Trong đó biểu thức của nội lực mômen uốn có dạng: M z  P  x  L (43)

a) Lời giải chính xác:


Nếu để phương trình như ở dạng (42) chúng ta không thể có được lời giải
chính xác ở dạng giải tích. Do đó chúng ta phải giản lược với (dy/dx)≈0

2
d y P  y  x  
P
  x 3
 3 Lx 2
 - độ võng
 42   2  x  L  6 EI z

dx EI z   x   y  x   P   x 2  2 Lx  - góc xoay
 2 EI z
b) Lời giải số: 70

Khi thực hiện lời giải số, ta có thể xét phương trình (42) mà không cần giản
lược thành phần (dy/dx):
 dy1
  y2
 2 dx

3
d y P   dy 
2
 2
 y  y 
       
3
dy P
      1   y2 
   x  L
1

2 2
1 x L 
2
 dx
2
EI z   dx    y   y2 dx EI  
 z
  y  0   0; y  0   0
 y  0   0; y  0   0
  1 2

 d
y  dx y  f  x, y 
 1  
   y2 
 y1  x  
T
 f x , y 
   ; y  x    ; f  x, y   
T
  P 3

 y2  x    f 2  x, y    EI  1   y2     x  L  
 
y  x0   y 0   
2 2
0 T

  0   z 
  0

Giải bằng các phương pháp số tương tự như ví dụ


P  10  kN  ; EI z  104  kN.m 2  ; L  1  m  71

Phương pháp Euler tường minh:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 72

Phương pháp RK2 - Euler cải tiến:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 73

Phương pháp RK2 – Heun:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 74

Phương pháp RK2 – Ralston:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 75

Phương pháp RK3 – Cổ điển:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 76

Phương pháp RK3 – Heun:



P1
0
kN
;EI
z4
1
0 
k
N.
m2

;L
1m 77

Phương pháp RK4 – Cổ điển:


78
Giải hệ PTVP với câu lệnh MATLAB và so kết quả
 dy1 
1
 y1  0   3  y1,0
 dx  y   y  y  x 2
1
2
1 2

 ; 1
dy
 2  y  y  y  2 x  y2  0    y2,0
 dx 2 1 2  5
b  a 30
h  0.25  N    12
h 0.25

function dydx = DiffEq(x,y)


dydx = [(-1/2)*y(1) + y(2) + x^2
y(1) - y(2) - 2*x];
end
format long;
 y1  x   45.78902394e
 0.2807764065 x 
tspan = [0:0.25:3]; % Mien cua bien doc lap:Tu a den b voi buoc h   1.21097606e 1.780776406 x   2 x 2  12 x  44
y0 = 3; % Gia tri ban dau cua ham phu thuoc y 
 y2  x   35.7509895  e
 0.2807764065 x 
 1.550989567  e
1.780776406 x 
y_0 = 1/5; % Gia tri ban dau cua dao ham phu thuoc y'   2 x 2  10 x  34
[x,yMATLAB] = ode45(@DiffEq,tspan,[y0 y_0]) % Su dung ham ode45
yExact = 45.78902394*exp(.2807764065.*x)+1.21097606*exp(-1.780776406*x)-2.*x.^2-12.*x-44 % Loi giai chinh xac cua ham y
y_Exact = -1.550989567*exp(-1.780776406.*x)+35.75098957*exp(.2807764065*x)-2.*x.^2-10.*x-34 % Loi giai chinh xac cua dao ham y'
% Nhap ket qua tinh tay theo mot trong so 9 phuong phap, vi du PP Euler tuong minh
yExEuler =
[3;2.675;2.581250;2.62578125;2.765527344;2.985705566;3.287864685;3.683298683;4.189440703;4.8279138;5.623504507;6.603652255;7.79822
9113]
y_ExEuler =
[0.2;0.9;1.21875;1.309375;1.263476562;1.138989258;0.975668335;0.8037174225;0.6486127375;0.533819729;0.4823432468;0.5176335618;0.66
4138235]
% Tinh sai so giua loi giai chinh xac va MATLAB
error_Exact_MATLAB_y = abs((yExact - yMATLAB(:,1))./yExact)*100
error_Exact_MATLAB_y_ = abs((y_Exact - yMATLAB(:,2))./y_Exact)*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_y = abs((yExact - yExEuler)./yExact)*100
error_Exact_ExEuler_y_ = abs((y_Exact - y_ExEuler)./y_Exact)*100
% Ve do thi ham loi giai chinh xac
x = [0:0.01:3];
yExact = 45.78902394*exp(.2807764065.*x)+1.21097606*exp(-1.780776406*x)-2.*x.^2-12.*x-44;
y_Exact = -1.550989567*exp(-1.780776406.*x)+35.75098957*exp(.2807764065*x)-2.*x.^2-10.*x-34;
axes('fontsize',14)
plot(x,yExact,'linewidth',1.5)
hold on
plot(x,y_Exact,'linewidth',1.5,'Color' ,'red')
hold on
scatter(tspan,yMATLAB(:,1),'k') %ve cac diem loi giai cua MATLAB cho ham y
hold on
scatter(tspan,yMATLAB(:,2),'k') %ve cac diem loi giai cua MATLAB cho ham y'
hold on
scatter(tspan,yExEuler,'d','filled') %Ve cac diem loi giai cua tinh tay cho ham y
hold on
scatter(tspan,y_ExEuler,'d','filled') %Ve cac diem loi giai cua tinh tay cho ham y'
79
80

y  x

y  x 
81
Bài tập về nhà

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 61-66)
2) Biến đổi về hệ phương trình vi phân thường bậc I. Tùy từng
đề yêu cầu, giải hệ bằng một trong số 7 phương pháp (Bấm
máy tính CASIO chứ không được dùng MATLAB hay Excel hỗ
trợ vì để luyện tập khi đi thi cuối kz). Chú {: bước lặp bằng
0.1. Khảo sát thời gian t Є [0;1]  10 điểm
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
mẫu (Slide 15/21/27/33/38/43/48):

4) Sử dụng Code MATLAB như theo mẫu ở Slide 78-79 để kiểm


nghiệm lại và in kết quả, vẽ đồ thị so sánh kết quả (Slide 80).

You might also like