Bài Giảng Phương Pháp Số TRong CNHH
Trang 1PHƯƠ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
Trang 2MỞ ĐẦU
Phương pháp số được dùng để phân tích và giải gần đúng các bài toán với sai số nằm
trong giới hạn cho phép.
…bởi vì hầu hết các bài toán khoa học kỹ
thuật đều không có các lời giải chính xác.
Phương pháp số thường được bắt đầu từ việc xây dựng mô hình, lựa chọn thuật toán, và
Trang 3MỞ ĐẦU
Phương pháp số có vai trò quan trọng trong nhiều lĩnh vực như: Thiên văn học, nông nghiệp, kiến trúc, …
Và tất nhiên rất quan trọng trong kỹ thuật.
Trang 4MỞ ĐẦU
Phương pháp số trong Kỹ thuật hóa học:
Mô tả bằng toán học các quá trình và và thiết
bị trong công nghệ hóa học.
Tính toán thiết kế các quá trình và thiết bị
hoạt động trong lĩnh vực kỹ thuật hóa học.
Tính toán tối ưu hóa các điều kiện làm việc và kết cấu các thiết bị hóa chất.
Xác định các hằng số thực nghiệm bằng
phương pháp hồi quy.
Trang 5NỘI DUNG
Chương 1 Các phương pháp giải phương trình và hệ phương trình.
Chương 2 Phương pháp tính tích phân
Chương 3 Phương trình và hệ phương trình
vi phân
Chương 4 Tối ưu hóa
Trang 61.1.1 Giải hệ phương trình tuyến tính bằng phương
pháp Gauss và phương pháp nghịch đảo ma trận
1.1.2 Ứng dụng để tính toán cân bằng vật chất của hệ
Trang 8NỘI DUNG
Chương 2 Phương pháp tính tích phân
2.1 Tính tích phân xác định bằng phương pháp hình thang
2.2 Tính tích phân xác định bằng phương pháp Simpson
2.3 Ứng dụng
2.3.1 Tính toán tháp chưng luyện
2.3.2 Tính toán tháp hấp thụ
Trang 10NỘI DUNG
Chương 4 Tối ưu hóa
4.1 Tìm cực trị hàm một biến: phương pháp điểm vàng, phương pháp gradien
4.2 Tìm cực trị hàm nhiều biến: phương pháp
gradien, phương pháp đơn hình
4.3 Cực trị có ràng buộc: phương pháp hàm phạt
Trang 11TÀI LIỆU THAM KHẢO
[1] Sổ tay quá trình và công nghệ hóa chất T1, 2, NXB KHKT, 2004
[2] Nguyễn Bin Các quá trình và thiết bị công nghệ hóa chất T1, 2, 3, NXB KHKT, 2001
Trang 12Ngôn ngữ lập trình
Có nhiều ngôn ngữ lập trình có thể ứng dụng để tính toán các quá
trình công nghệ hóa học:
Matlab; C; C++; Visual Basic; Delphi;
Pascal; …
Các phầm mềm ứng dụng khác trong công nghệ hóa học: Aspen Plus;
gProms; …
Trang 13Ngôn ngữ lập trình
Tìm hiểu bản chất của quá trình và các ứng dụng các thuật toán
Do đó: Pascal được sử dụng chính trong môn học này!
Trang 14Nhắc lại các kiến thức về lập trình Pascal
Cấu trúc chương trình
Trang 15Nhắc lại các kiến thức về lập trình Pascal
Chương trình chính (Begin …End.)
Chú ý: Cần phải tuân thủ nghiêm ngặt trình tự!
Trang 16Nhắc lại kiến thức về lập trình Pascal
Khai báo theo kiểu
Trang 17Nhắc lại kiến thức về lập trình Pascal
Khai báo theo kiểu
Trang 18Nhắc lại kiến thức về lập trình Pascal
Khai báo theo kiểu
Trang 19Nhắc lại kiến thức về lập trình Pascal
Các loại chương trình con
Dùng chương trình con khi cần thực hiện một đoạn chương trình lặp đi lặp lại nhiều lần
Do đó: khi cần đến những đoạn chương trình như vậy thì chỉ cần gọi tên chương trình con đó
Thuận lợi:
-Chương trình chính đơn giản
-Mức độ khái quát hóa chương trình cao
-Dễ kiểm tra lỗi cho toàn bộ chương trình
-Thuận lợi cho người sử dụng
Trang 20Nhắc lại kiến thức về lập trình Pascal
Các loại chương trình con
Trong Pascal có hai loại chương trình con:
-Hàm (function)
Hàm chỉ trả lại một kiểu dữ liệu và một giá trị duy
nhất
-Thủ tục (procedure)
Thủ tục có thể trả lại nhiều kiểu dữ liệu khác nhau và
có thể trả lại nhiều giá trị
Trang 21Nhắc lại kiến thức về lập trình Pascal
Các loại chương trình con
Đằng sau “End” của chương trình con dùng dấu
“;” thay vì dấu “.” trong chương trình chính
Trang 22Nhắc lại kiến thức về lập trình Pascal
Các loại chương trình con
Trang 23Nhắc lại kiến thức về lập trình Pascal
Các loại chương trình con
-Thủ tục (procedure) có tham trị và tham biến hình thức
Trang 24Ví dụ áp dụng
Ví dụ 1
Cho dãy số thực x1, x2,…,xn
a) Hãy tính tổng S của dãy số trên
b) Tìm giá trị nhỏ nhất của dãy
Thuật toán?
a) Tính tổngi:=0;S:=0;
i:=i + 1; S:=S + x[i];
b) Tìm giá trị nhỏ nhấti:=1;
xmin:= một số rất lớn???
Nếu x[i] <= xmin thì xmin:=x[i];
i:=i+1;
Có cần chương trình con???
Trang 29Ví dụ áp dụng
Ví dụ 2
yi = 2xi2 + 3xi – 7
Thuật toán?
a) Tính tổngi:=0;S:=0;
i:=i + 1; y[i]:=…;
S:=S + y[i];
b) Tìm giá trị nhỏ nhấti:=1;
Trang 34Bài tập!!!
1) Thực hiện lại ví dụ 1 và ví dụ 2 bằng chương trình Pascal
2) Cho dãy số thực tăng dần x1, x2,…,xn
và một số thực xs.
Hãy xác định vị trí của xs trong dãy số trên, biết x1 < xs <xn