ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN MÔN SYMBOLIC- XÂY DỰNG CHƯƠNG
TRÌNH GIẢI PHƯƠNG TRÌNH VI PHÂN
Giảng viên hướng dẫn : PGS.TS Đỗ Văn Nhơn
Học viên thực hiện : Nguyễn Thị Ngọc Diễm
MSHV : CH1101075
Lớp : Cao học khóa 6
Tp Hồ Chí Minh, tháng 02 năm 2013
MỤC LỤC
Chương 1 TRI THỨC VỀ PHƯƠNG TRÌNH VI PHÂN
1.1 Phương trình vi phân cấp một
1.1.1 Định nghĩa
Phương trình vi phân cấp 1 có dạng:
Trong đó:
1.1.2 Phân loại bài tập
1.1.2.1 Dạng 1: Phương trình vi phân toàn phần
P(x,y)*dx+Q(x,y)*dy=0
Nếu vế trái là vi phân toàn phần của một hàm số U(x,y), nghĩa là
U(x,y)=P(x,y)*dx+Q(x,y)*dy
Điều kiện cần và đủ là:
Cách giải:
1.1.2.2 Dạng 2: Phương trình vi phân tách biến
Là phương trình vi phân có dạng : (1)
Cách giải: Lấy tích phân phương trình (1), ta có:
1 Dạng 3: Phương trình vi phân tuyến tính cấp một
(1)
Với f(x)=0 thì ta có phương trình tuyến tính thuần nhất sau:
(2)
Phương trình này có nghiệm được tìm như sau:
Chú ý là: không cần xét trường hợp |y|, vì ta dùng hằng số C để biểu
Có dạng: (trong đó p, q là hằng số)
a. Vế phải
Trong đó là đa thức bậc n, m tương ứng, là các số
thực
b. Vế phải
Trong đó là đa thức bậc n, m tương ứng, là các số
thực
1.2.2.3 Dạng 3: Phương trình vi phân cấp hai khuyết y
1.2.2.4 Dạng 4: Phương trình vi phân cấp hai khuyết x
5
Chương 2 MÔ HÌNH BÀI TOÁN VÀ THUẬT TOÁN
2.1 Mô hình bài toán
2.1.1 Cấu trúc mô hình bài toán có dạng
(F,x,y)
Trong đó:
o F là phương trình vi phân của hàm y theo biến x
2.1.2 Ví dụ
Ví dụ 1: Giải phương trình vi phân sau:
Bài toán trên được mô hình theo cấu trúc dưới đây:
o F:= dy/dx=exp(3*x+2*y)
o x:=x
o y:=y
Nội dung được lưu vào file “de1.txt” như sau:
exp(x)*(x'+1)=1,t,x)
Ví dụ 2: Giải phương trình vi phân sau:
Bài toán trên được mô hình theo cấu trúc dưới đây:
o F:= exp(x)*(x'+1)=1
o x:=t
o y:=x
Nội dung được lưu vào file “de1.txt” như sau:
7
end proc:
8
Chương 3 CÀI ĐẶT - THỬ NGHIỆM
3.1 Xây dựng package “Differential_Equation”
Package Differential_Equation được xây dựng trong Maple hỗ trợ giải các bài
toán phương trình vi phân.
Gồm các hàm chính sau:
- Các hàm:
o PTVPC1, PTVPC2 thực hiện giải các bài toán lần lượt theo loại
một và hai.
o Hàm Determinate_Goal thực hiện giải toán một cách tổng quát
không cần phân loại bài
- Biến Toàn cục (global): Sols, CanSolve
o CanSolve: cho biết bài toán giải được hay không, nếu không giải
được CanSolve cho kết quả là 0
o Sols: lưu trữ các bước giải cụ thể
- Các hàm giải cụ thể các dạng của phương trình vi phân như:
"VPToanPhan", "VPTachBien", "VPTuyenTinhCap1", "VPBernoulli",
"VPDangCapCap1", "VPCap2GiamCapDuoc", "VPCap2KhuyetX",
"VPCap2KhuyetY", "VPCap2HeSoHang", "VPKhongPhanLoai"
3.2 Cách nhập đề
3.2.1.1 Nhập đề trực tiếp
Hàm Determinate_Goal có cấu trúc sau:
>Determinate_Goal(problem::string)
Ví dụ 1: Giải phương trình vi phân sau:
> Determinate_Goal(“exp(x)*(x’+1)=1,x,y”)
Ví dụ 2: Giải phương trình vi phân sau:
>Determinate_Goal(“dy/dx=exp(3*x+2*y),x,y”)
3.2.1.2 Nhập bài toán từ file