You are on page 1of 13

MÔ HÌNH HÓA MÔI TRƯỜNG

TS. Trịnh Thành


Viện Khoa học và Công nghệ Môi trường,
ĐHBK Hà Nội

3/29/2022 Env. Modeling, Dr. Trinh Thanh 1


2.5. Hệ phương trình vi phân
Đặt bài toán
 dy1
 dt = f 1 (t , y1 , y 2 ,..., y n )

 dy 2 = f 2 (t , y1 , y 2 ,..., y n )
 dt


 t [t0 , T ]
 dyi = f i (t , y1 , y 2 ,..., y n )
 dt


 dy n
 dt = f n (t , y1 , y 2 ,..., y n )

y1 (t0 ), y2 (t0 ),..., yn (t0 )


3/29/2022 Env. Modeling, Dr. Trinh Thanh 2
2.5. Hệ phương trình vi phân
Đặt bài toán
dy y0 = y(t0 )
= f (t , y )
dt
 dy1 
 y1 (t )   dt 
   f1 (t , y ) 
 y (t )  dy2   f (t , y ) 
y (t ) =  2  
dy
=  dt  f (t , y ) =  2 
   
  dt    
 yn (t )    f n (t , y )
 dyn 
 dt 
 
3/29/2022 Env. Modeling, Dr. Trinh Thanh 3
2.5. Hệ phương trình vi phân
Đặt bài toán
z (t ) = z(t , z, z , z ,..., z
( n) ' " ( n −1)
)
 z (t0 ) = z0

 z ' (t0 ) = z0
'


 (i )
 z (t 0 ) = z (i )
0

 ( n −1)
 z (t0 ) = z0( n −1)
3/29/2022 Env. Modeling, Dr. Trinh Thanh 4
2.5. Hệ phương trình vi phân
Đặt bài toán
 dy1
 z (t ) = y1 (t )  dt = y2
 ' 
 z (t ) = y2 (t )  dy2 = y
,

  dt 3

 
 z ( n − 2) (t ) = y (t ) 
 dy
 n −1
 n −1 = yn
 z ( n −1) (t ) = yn (t )  dt
 dyn
 = z (t , y1 , y2 ,......., yn )
 dt
3/29/2022 Env. Modeling, Dr. Trinh Thanh 5
2.5. Hệ phương trình vi phân
Phương pháp RK tổng quát
q
y i +1
= y + h Ak f [tik , y ]
i ik

k =1

2 3
dy h h
y i +1 = y i + h[ ]t i + y ( 2) t i + + y (3) t i + ...
dt 2! 3!

3/29/2022 Env. Modeling, Dr. Trinh Thanh 6


2.5. Hệ phương trình vi phân
Minh họa phương pháp RK11
i +1
y = y + hf (ti , y )
i i

2.7
2.5
2.3
2.1 y
1.9 y tinh
y

1.7
sai so
1.5
1.3
1.1
0.9
-0.1 0.1 0.3 0.5 0.7 0.9 1.1
t

3/29/2022 Env. Modeling, Dr. Trinh Thanh 7


2.5. Hệ phương trình vi phân
Độ chính xác của phương pháp RK11

8.0
7.0
6.0
y1 calcul
5.0
y2 calcul
4.0
y

y1 thuc
3.0
y2 thuc
2.0
1.0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
x

3/29/2022 Env. Modeling, Dr. Trinh Thanh 8


2.5. Hệ phương trình vi phân
Nguyên tắc phương pháp Euler ẩn
i +1 i +1
y = y + hf (ti +1, y )
i

i +1
i +1
y [k ] = y i
y [k + 1]

 y [k + 1] − y [k ]  
i +1 i +1

3/29/2022 Env. Modeling, Dr. Trinh Thanh 9


2.5. Hệ phương trình vi phân
Thuật toán RK44
 K1 = hi f (t i , y i )

 K = h f [( t + hi ), ( y i + K1 )]
 2 i i
2 2

 hi i K2
 K 3 = hi f [( ti + ), ( y + )]
 2 2
 K 4 = hi f [( ti + hi ), ( y i + K 3 )]

 y i +1 = y i + K1 + 2 K 2 + 2 K 3 + K 4
 6
3/29/2022 Env. Modeling, Dr. Trinh Thanh 10
2.5. Hệ phương trình vi phân
Ví dụ tính theo RK44 – Đề bài

 dy1
 dt = y1 
 y1 = 1
0

 t = 0  0 [0,1], h = 0,2
 dy 
 y 2 = 1
 dt
2
= 2 y 2

3/29/2022 Env. Modeling, Dr. Trinh Thanh 11


2.5. Hệ phương trình vi phân
Minh họa bước 1 tính theo RK44
t=0 y1 = 1 y2 = 1

t y1 y2 K(1) K(2)
K1 0,0000 1,0000 1,0000 0,2000 0,4000
K2 0,1000 1,1000 1,2000 0,2200 0,4800
K3 0,1000 1,1100 1,2400 0,2220 0,4960
K4 0,2000 1,2220 1,4960 0,2444 0,5984

t = 0,2 y1 = 1,2214 y2 = 1,4917

3/29/2022 Env. Modeling, Dr. Trinh Thanh 12


2.5. Hệ phương trình vi phân
Kết quả tính theo RK44
Tổng hợp các kết quả tính toán và so sánh với các kết quả thực:
y

t y1 = et y2 thuc = e2t
2
0,0000 1,0000 1,0000 1,0000 1,0000
0,2000 1,2214 1,2214 1,4917 1,4918
0,4000 1,4918 1,4918 2,2253 2,2255
0,6000 1,8221 1,8221 3,3195 3,3201
0,8000 2,2255 2,2255 4,9518 4,9530
1,0000 2,7183 2,7183 7,3868 7,3891

3/29/2022 Env. Modeling, Dr. Trinh Thanh 13

You might also like