intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Phương pháp số trong công nghệ hóa học - Chương 3 - Tuần 9 và 10

Chia sẻ: Nguyễn Thành Chung | Ngày: | Loại File: PPT | Số trang:44

101
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài toán Côsi : là bài toán dạng phương trình vi phân với điều kiện bổ sung (điều kiện ban đầu) đã cho tại không quá một điểm. Bài toán biên: Bài toán giải phương trình vi phân với điều kiện bổ sung được cho tại nhiều hơn 1 điểm.

Chủ đề:
Lưu

Nội dung Text: Phương pháp số trong công nghệ hóa học - Chương 3 - Tuần 9 và 10

  1. Tuần 9­10 PHƯƠNG PHÁP SỐ TRONG CÔNG NGHỆ HÓA  HỌC Mã học phần: CH3454 TS. Nguyễn Đặng Bình Thành BM:Máy & TBCN Hóa chất   Numerical Methods in Chemical Engineering  
  2. Chương 3 Phương trình và hệ phương trình vi phân Mở đầu. Các bài toán thường gặp có thể 2 lo ại: * Bài toán Côsi : là bài toán dạng phương trình vi phân với điều kiện bổ sung (điều kiện ban đầu) đã cho tại không quá một điểm. Ví dụ: Cho phương trình vi phân cấp 1: y’ = 2x + 1; (a) - Nghiệm tổng quát : y = x2 + x + C; (b) C - hằng số tích phân, phụ thuộc điều kiện ban đầu - Mỗi giá trị của C 1 nghiệm xác định. - Xác định C cần biết thêm 1 điều kiện ban đầu, ví dụ y(x=1) = 2; (c) (b) C = 0; Nghiệm của (a) là y = x2 + x thoả mãn (a) và (c). Bài toán tìm hàm số y(x) thoả mãn p/t vi phân (a) và đi ều ki ện ban đầu (c) bài toán Côsi.
  3. Chương 3 Phương trình và hệ phương trình vi phân Bài toán Côsi đối với phương trình vi phân cấp 1: - Cho khoảng [x0, X] - Tìm hàm số y = y(x) xác định trên [x0, X] thoả mãn: y’ = f(x,y); x0 ≤ x ≤ X (1) y(x0) = η ; (2) Trong đó f(x, y) – hàm đã biết; η - số thực cho trước ( 2 ) - điều kiện Côsi hay điều kiện ban đầu.
  4. Chương 3 Phương trình và hệ phương trình vi phân * Bài toán biên. Bài toán giải phương trình vi phân với điều kiện bổ sung đ ược cho tại nhiều hơn 1 điểm. - Cho khoảng [a, b]; - Tìm hàm y = y(x) trên [a, b] thoả mãn: y’ + p(x)y’ +q(x,y) = f(x); a ≤ x ≤ b (3) với điều kiện y(a) = α; y(b) = β (4) Trong nhiều trường hợp giải gần đúng .
  5. Chương 3 Phương trình và hệ phương trình vi phân Giải bài toán Côsi. Phương pháp chuỗi Taylo. y’ = f(x, y); x0 ≤ x ≤ X y(x0) = η ; Khai triển nghiệm y(x) tại x = x0: y ' ( x0 ) y" ( x0 ) y ( k ) ( x0 ) y ( x) = y ( x0 ) + ( x − x0 ) + ( x − x0 ) 2 + ⋅ ⋅ ⋅ + ( x − x0 ) k + ⋅ ⋅ ⋅ ( 5 ) 1! 2! k! y ' ( x0 ) = f ( x0 , y ( x0 )) = f ( x0 ,η ); (6) ∂f ∂f y" = ( y ' )' = f ( x, y ( x) ) ' = ( x, y ( x) ) + ( x, y ( x) ) ⋅ y ' ( x); ∂x ∂y ∂f ∂f y" ( x0 ) = ( x0 ,η ) + ( x0 ,η ) ⋅ f ( x0 ,η ); (7) ∂x ∂y Tương tự y’” y(3)(x0) chuỗi ( 5 ).
  6. Chương 3 Phương trình và hệ phương trình vi phân Đã CM được rằng: Với x − x0 đủ bé, chuỗi ( 5 ) nghiệm của ( 1 ), ( 2 ) tổng Sn(x) của n số hạng đầu của ( 5 ) nghiệm x ấp x ỉ c ủa ( 1 ) , ( 2 ); n càng lớn độ chính xác càng cao. y ' ( x0 ) y" ( x0 ) y ( k ) ( x0 ) y ( x) = y ( x0 ) + ( x − x0 ) + ( x − x0 ) 2 + ⋅ ⋅ ⋅ + ( x − x0 ) k + ⋅ ⋅ ⋅ ( 5 ) 1! 2! k! y’ = f(x,y); x0 ≤ x ≤ X (1) y(x0) = η ; (2)
  7. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler - Là phương pháp số; - Xác định từng giá trị của y(x) theo giá trị cụ thể của x bảng các giá trị x và y(x) tương ứng. Nội dung: - Chia [x0, X] n đoạn bằng các nút x i cách đều. ( X − x0 ) xi = x0 + ih; i = 0, 1, 2, . . ., n; h = ; n xi Lưới sai phân trên [x0, X] xi – nút của lưới; h - bước của lưới: h = const; - y(x) nghiệm đúng của (1), (2) y’ = f(x,y); x0 ≤ x ≤ X (1) y(x0) = η ; (2)
  8. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler Thành lập công thức tính: - y(xi) – giá trị đúng của y(x) tại xi; - yi – giá trị gần đúng tính được của y(xi); - Giả sử đã biết ui, cần tính ui+1 tại xi+1. - Khai triển Taylor tại xi; h đủ nhỏ bỏ qua các số hạng cuối. y ( x) = y ( xi ) + y′( xi )( x − xi ); (8) y ( xi +1 ) = y ( xi ) + y′( xi )( xi +1 − xi ); ( xi +1 − xi ) = h; y′( xi ) = f ( xi , y ( xi ) ) ; y ( xi +1 ) = y ( xi ) + h. f ( xi , y ( xi ) ) ; (8 a) - biết yi yi +1 = yi + h. f ( xi , yi ) ; (9)
  9. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler y’ = f(x,y); x0 ≤ x ≤ X (1) y(x0) = η ; (2) - Điều kiện ban đầu y0 = η y1 = y0 + h. f ( x0 , y0 ) ; y2 = y1 + h. f ( x1 , y1 ) ; ................. yi +1 = yi + h. f ( xi , yi ) ; xi +1 = xi + ih Nhận xét: - Đơn giản, không phải giải p/trình nào, thuận tiện lập trình giải trên máy tính - Độ chính xác không cao.
  10. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler - Đánh giá sai số: Sau khi tính được u tại xi với bước h: u(xi,h) tính u(xi, h/2) nghiệm sai s ố :  h  h y xi ,  − y ( xi ) ≈ y ( xi , h) − y xi , ; (10)  2  2
  11. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler Các bước tính: );Cho y’ = f(x, y x0 ≤ x ≤ X ; y(x0) = η ; - Ấn định số khoảng chia n; - Tính h = (x – x0)/n ; - Tính xi = x0 + ih; - Đặt y0 = η - Tính yi+1 = yi + h.f(xi,yi) với i = 0, 1, 2, . . ., n ; - Đặt y(xi, h) = yi; thay h = h/2 tính lại; - Đặt y(xi,h/2) = yi; y(xi, h/2) ~ y(xi)  h  h - Sai số: y xi ,  − y ( xi ) ≈ y ( xi , h) − y xi , ;  2  2
  12. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler Chương trình  2x  y' = y − Program Euler1;  y Uses crt;  y (0) = 1 Var  x0,x,y0,y,h:real; n,i,j,k:interger; Function F(x,y:real):real; Begin F:=y-(2*x/y); End; {Chương trình chính} BEGIN clrscr; {Nhập x0,xc,y0,n} …
  13. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler Chương trình  2x  y' = y − Program Euler1;  y …  y (0) = 1 h:=(xc-x0)/n;  x:=x0; y:=y0; For i:=1 to n do Begin x:=x+i*h; y:=y+h*(F(x,y); yf[i]:=y; End; {In kết quả} …
  14. Chương 3 Phương trình và hệ phương trình vi phân 3.1 Giải phương trình vi phân bằng phương pháp Euler Chương trình  2x  y' = y − Program Euler1;  y …  y (0) = 1 For i:=1 to n do  writeln (‘y[‘,i,’] = ‘,yf[i]:8:4); readln; END.
  15. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp hình  thang Phương pháp Ơle có độ chính xác không cao. Thay (9) yi +1 = yi + h. f ( xi , yi ) ; (9) h [ ] yi +1 = yi + f ( xi , yi ) + f ( xi +1 , yi*+1 ) ; 2 (11) u*i+1 trong (11) được tính theo công thức Ơle: yi*+1 = yi + h. f ( xi , yi ) ; Đã chứng minh được phương pháp này có độ chính xác cấp 2: yi − y ( xi ) ; = 0(h 2 ).
  16. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp hình  thang h [ yi +1 = yi + f ( xi , yi ) + f ( xi +1 , yi*+1 ) ; 2 ] (11) Để tính nghiệm (11) chính xác hơn khi đã biết u i, có thể dùng phép lặp đơn: yi(+1) = yi + hf ( xi , yi ); 0 (12) h [ ] yi +1 = yi + f ( xi , yi ) + f ( xi +1 , yi(+1−1) ) ; (k ) 2 k Quá trình lặp dừng lại ở bước k khi yi(+1) − yi(+1−1) ≤ ε ; k k ε – sai số cho phép. (13)
  17. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp  Runge­Kutta Bậc 2: 1 yi +1 = yi + (k1 + k 2 ); (14) 2 trong đó k1 = h. f ( xi , yi ); (15) k 2 = h. f ( xi + h, yi + k1 );
  18. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp  Runge­Kutta Bậc 3: 1 (16) yi +1 = yi + (k1 + 4k 2 + k3 ); 6 trong đó k1 = h. f ( xi , yi ); h k1 (17) k 2 = h. f ( xi + , yi + ); 2 2 k3 = h. f ( xi + h, yi − k1 + 2k 2 );
  19. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp  Runge­Kutta Bậc 4: 1 (16) yi +1 = yi + (k1 + 2k 2 + 2k3 + k 4 ); 6 trong đó k1 = h. f ( xi , yi ); h k1 k 2 = h. f ( xi + , yi + ); 2 2 (17) h k2 k3 = h. f ( xi + , yi + ); 2 2 k 4 = h. f ( xi + h, yi + k3 );
  20. Chương 3 Phương trình và hệ phương trình vi phân 3.2 Giải phương trình vi phân bằng phương pháp  Runge­Kutta Chương trình  2x  y' = y − Program RunKut4;  y Uses crt;  y (0) = 1 Var  x0,x,y0,y,h,k1,k2,k3,k4:real; n,i,j,k:interger; Function F(x,y:real):real; Begin F:=y-(2*x/y); End; {Chương trình chính} BEGIN clrscr; {Nhập x0,xc,y0,n} …
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2