PHƯƠNG PHÁP RUNGE-KUTTA Để đánh giá sai số của phương pháp ta dùng phương pháp phân đôi tại 1 điểm.[r]
(1)TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU KHOA HOÁ HỌC VÀ CNTP TIN HỌC TRONG HOÁ HỌC GV: ThS Nguyễn Quốc Hải (2) CHƯƠNG 5: GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH VI PHÂN (3) I ĐẶT VẤN ĐÊ Khảo sát động học phản ứng dạng: A k1 k-1 R k2 S k-2 Có hằng số tốc độ bằng k1 = 0,8.10-3 1/s; k-1=k2=k-2=0,3.10-3 1/s Hãy xây dựng đồ thị mối quan hệ CA, CR, CS phụ thuộc vào thời gian τ biết τ=0 thì: CR = CS = 0, CA0=100 dvnd (4) Phương trình động học của các phản ứng phương trình được mô tả bằng hệ phương trình vi phân sau: Để khảo sát sự biến đổi nồng độ các chất theo thời gian, tức là xác định quan hệ: CA=f1(τ); CR=f2(τ); CS=f3(τ); Ta tiến hành giải hê PT trên với ĐK: τ=0 thì : CR = CS = 0, CA0=100 dvnd (5) DẪN NHIỆT QUA VÁCH TRU Đường kính d1 = 2r1 , ngoài d2 = 2r2 , = const Nhiệt độ BM vách t1 và t2 không đổi , Cần tìm: -Phân bố nhiệt độ vách + -Dòng nhiệt dẫn qua Vì L d , nhiệt độ chỉ thay đổi theo phương bán kính, TNĐ chiều MĐN là những mặt trụ đồng trục với ống PTVP có dạng: Điều kiện Biên d t dt 0 r dr dr r r1 t t1 r r2 t t (6) I ĐẶT VẤN ĐÊ Phương trình Vi phân công nghệ hoá học và thực phẩm thường được giải với các điều kiện bổ sung gồm dạng: - Bài toán Côsi(Cauchy) Tìm hàm y=y(x) thoả mãn PT y’=f(x,y) với ĐK: X Є[a,b]; y(x0)=y0 - Bài toán biên PTVP cấp trở lên với ĐK bổ sung từ điểm trở lên Tìm hàm y=y(x) thoả mãn PT y’’+p(x)y’+q(x)y=f(x) với ĐK: X Є[a,b] thì có y(a)=A, y(b)=B (7) II CÁC PP GIẢI BÀI TOÁN CÔSI - Bài toán Côsi(Cauchy) Cho phương trình vi phân cấp y’=f(x,y) Khoảng biến thiên của biến x Є [x0 ,xn ] với bước h Với Điều kiện đầu là y(x0) = y0 Tìm y=y(x) hay tính gần đúng y1,y2….yn tại các điểm x1,x2…xn (8) PHƯƠNG PHÁP RUNGE-KUTTA Theo Phương pháp Runge Kutta thì giá trị gần đúng yi+1 tại xi+1=xi+h được tính sau: yi+1=yi+h*Φ(xi,yi) Với Φ(xi,yi)= Trong đó: K1=f(xi,yi) K2=f(xi+h/2,yi+K1*h/2) K3=f(xi+h/2,yi+K2*h/2) K4=f(xi+h,yi+K3*h) (9) PHƯƠNG PHÁP RUNGE-KUTTA Để đánh giá sai số của phương pháp ta dùng phương pháp phân đôi tại điểm - Tính lại bài toán với bước h/2 và so sánh các giá trị nhận được ở cùng giá trị x thoả mãn Max│yih/2-yih│<ε (10) VÍ DU Giải phương trình vi phân thường theo phương pháp runge-kutta y'=0,25y2+x2 ; với x Є [0,1]; bước h=0,1; y(0)=-1, ε=0,0001 (11) VÍ DU Cột A: nhập giá trị x: từ đến 0,5 với bước h=0,1 - A5: nhập giá trị - A6: nhập hàm = A5+$B$3 Sau đó chọn ô A6 và thực hiện lệnh copy (kéo) đến vị trí A25 (x=1) (12) VÍ DU Cột B: nhập hàm tính y theo yi+1=yi+h*Φ(xi,yi) - B5: nhập giá trị -1 (y(0)=-1) - B6: nhập hàm = B5+$B$3*G3 Sau đó chọn ô B6 và thực hiện lệnh copy (kéo) đến vị trí B25 (13) VÍ DU Cột C: nhập hàm tính K1 theo K1=f(xi,yi) - C5: nhập hàm = 0,25*B5^2+A5^2 Sau đó chọn ô C5 và thực hiện lệnh copy (kéo) đến vị trí C25 (14) VÍ DU Cột D: nhập hàm tính K1 theo K2=f(xi+h/2,yi+K1*h/2) - D5: nhập hàm =0,25*(B5+C5*$B$3/2)^2+(A5+$B$3/2)^2 - Sau đó chọn ô D5 và thực hiện lệnh copy (kéo) đến vị trí D25 (15) VÍ DU Cột E: nhập hàm tính K1 theo K3=f(xi+h/2,yi+K2*h/2) - E5: nhập hàm =0,25*(B5+D5*$B$3/2)^2+(A5+$B$3/2)^2 - Sau đó chọn ô E5 và thực hiện lệnh copy (kéo) đến vị trí E25 (16) VÍ DU Cột F: nhập hàm tính K1 theo K4=f(xi+h,yi+K3*h) - F5: nhập hàm =0,25*(B5+E5*$B$3)^2+(A5+$B$3)^2 - Sau đó chọn ô F5 và thực hiện lệnh copy (kéo) đến vị trí F25 (17) VÍ DU Cột G: nhập hàm tính K1 theo Φ(xi,yi)= - G5: nhập hàm =(C5+2*D5+2*E5+F5)/6 - Sau đó chọn ô G và thực hiện lệnh copy (kéo) đến vị trí G25 (18) VÍ DU Cột G: nhập hàm tính K1 theo Φ(xi,yi)= - G5: nhập hàm =(C5+2*D5+2*E5+F5)/6 - Sau đó chọn ô G và thực hiện lệnh copy (kéo) đến vị trí G25 (19) KẾT QUẢ (20) BÀI TOÁN CÔSI VỚI HỆ PHƯƠNG TRÌNH VI PHÂN Cho hệ phương trình vi phân cấp y’=f1(x,y,z) z’=f2(x,y,z) Khoảng biến thiên của biến x Є [x0 ,xn ] với bước h Với Điều kiện đầu là y(x0) = y0 z(x0)=z0 Tìm y=y(x) và z=z(x) hay tính gần đúng y1,y2….yn ; z1,z2,…zn tại các điểm x1,x2…xn (21) BÀI TOÁN CÔSI VỚI HỆ PHƯƠNG TRÌNH VI PHÂN Nghiệm gần đúng của hệ xác định bằng phương pháp Runge-Kutta có dạng: (22) BÀI TOÁN CÔSI VỚI HỆ PHƯƠNG TRÌNH VI PHÂN Với K1 K2 K3 K4 L1 L2 L3 L4 được xác sau: K1=f1(xi,yi,zi); L1=f2(xi,yi,zi) K2=f1(xi +h/2,yi +K1*h/2, zi +L1*h/2); L2=f2(xi +h/2,yi +K1*h/2, zi +L1*h/2) K3=f1(xi +h/2,yi +K2*h/2, zi +L2*h/2); L3=f2(xi +h/2,yi +K2*h/2, zi +L2*h/2) K4=f1(xi +h,yi +K3*h, zi +L3*h); L4=f2(xi +h,yi +K3*h, zi +L3*h) Với i=0→n-1 (23) BÀI TOÁN CÔSI VỚI PHƯƠNG TRÌNH VI PHÂN BẬC Với điều kiện đầu: y(x0)=y0 và y’(x0)=z0 Đặt bài toán trở thành: Với điều kiện đầu: y(x0)=y0 và z(x0)=z0 (24) VÍ DU Giải phương trình vi phân bậc theo phương pháp runge-kutta y’’+; với x Є [1,1.5]; bước h=0,1; y(1)=0.77,y’(1)=-0,5 , ε=0,0001 Đặt z= suy z’= ta được hệ: z’= y’=z Với điều kiện đầu là: y(1)=0.77; z(1)=-0.5 (25) (26)