Phương trình vi phân xuất hiện trên cơ sở phát triển của khoa học, kĩ thuật và những yêu cầu đòi hỏi thực tế. Đã có những tài liệu, giáo trình đề cập đến những bài toán cơ học, vật lý dẫn đến sự nghiên cứu các phương trình vi phân tương ứng. Cùng với những thành tựu tuyệt vời trong lĩnh vực công nghệ thông tin, người ta đã xây dựng được những phần mềm có tính vạn năng mà nhờ nó việc giải toán được thực hiện dễ dàng bằng những câu lệnh thật đơn giản, chứ không phải lập trình phức tạp như trước. Nhiều phần mềm hỗ trợ tính toán ưu việt phải kể đến như: Maple, Mathematica, Mathcad, Matlab, Algebrator, Ứng dụng và phát triển công nghệ thông tin ở nước ta theo chỉ thị số 58-CT/TW, ngày 17-10-2000 của Bộ Chính trị đã nêu: “ Về đẩy mạnh ứng dụng và phát triển công nghệ thông tin phục vụ sự nghiệp công nghiệp hoá, hiện đại hoá ”. Với mục đích tìm hiểu về phương pháp, phân tích quá trình giải bài toán phương trình vi phân bằng chương trình toán học. Bài báo đi sâu tìm hiểu về phần mềm Maple và sử dụng nó trong việc dạy và học phương trình vi phân, được minh họa các ý tưởng giải phương trình vi phân qua phần mềm Maple. Maple là phần mềm do một nhóm các nhà khoa học của Canada thuộc trường đại học Waterloo làm ra với mục đích giải quyết mọi công việc liên quan đến tính toán.
8 trang |
Chia sẻ: superlens | Lượt xem: 1861 | Lượt tải: 3
Bạn đang xem nội dung tài liệu Dạy và học phương trình vi phân bec-Nu-li với sự trợ giúp phần mềm toán học maple, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
DẠY VÀ HỌC PHƯƠNG TRÌNH VI PHÂN BEC-NU-LI VỚI SỰ TRỢ GIÚP PHẦN MỀM TOÁN HỌC MAPLE
TEACHING AND LEARNING BERNOULLI EQUATIONS WITH THE HELP OF MAPLE MATHEMATICAL SOFTWARE
NCS. TRẦN NGỌC VIỆT
TÓM TẮT
Mục tiêu của bài báo này là viết chương trình toán học bằng phần mềm MAPLE để phân tích quá trình giải phương trình vi phân Bec-nu-li (Bài toán Bec-nu-li). Từ đó áp dụng giải một số bài toán dạng phương trình vi phân cấp 1 và cấp 2.
ABSTRACT
This paper presents a new approach to solve Bernoulli differential equations (Bernoulli problem) with the help of program written with the Maple software. This program is then applied to some linear equations of the first order and the second order.
Key word: Bernoulli problem, differential equations, linear equations.
1. Đặt vấn đề
Phương trình vi phân xuất hiện trên cơ sở phát triển của khoa học, kĩ thuật và những yêu cầu đòi hỏi thực tế. Đã có những tài liệu, giáo trình đề cập đến những bài toán cơ học, vật lý dẫn đến sự nghiên cứu các phương trình vi phân tương ứng. Cùng với những thành tựu tuyệt vời trong lĩnh vực công nghệ thông tin, người ta đã xây dựng được những phần mềm có tính vạn năng mà nhờ nó việc giải toán được thực hiện dễ dàng bằng những câu lệnh thật đơn giản, chứ không phải lập trình phức tạp như trước. Nhiều phần mềm hỗ trợ tính toán ưu việt phải kể đến như: Maple, Mathematica, Mathcad, Matlab, Algebrator, Ứng dụng và phát triển công nghệ thông tin ở nước ta theo chỉ thị số 58-CT/TW, ngày 17-10-2000 của Bộ Chính trị đã nêu: “ Về đẩy mạnh ứng dụng và phát triển công nghệ thông tin phục vụ sự nghiệp công nghiệp hoá, hiện đại hoá ”. Với mục đích tìm hiểu về phương pháp, phân tích quá trình giải bài toán phương trình vi phân bằng chương trình toán học. Bài báo đi sâu tìm hiểu về phần mềm Maple và sử dụng nó trong việc dạy và học phương trình vi phân, được minh họa các ý tưởng giải phương trình vi phân qua phần mềm Maple. Maple là phần mềm do một nhóm các nhà khoa học của Canada thuộc trường đại học Waterloo làm ra với mục đích giải quyết mọi công việc liên quan đến tính toán.
2. Phương trình Bec-nu-li
Định nghĩa. Phương trình vi phân cấp 1 có dạng
(2.1)
với là các hàm liên tục của (hoặc là hằng số), được gọi là phương trình Bec-nu-li.
Cách giải.
+Nếu với , phương trình đã cho thỏa mãn nên là 1 nghiệm của phương trình Bec-nu-li với .
+Nếu , chia 2 vế của (2.1) cho ta được
(2.2)
Đặt
Phương trình (2.2) trở thành (2.3)
(2.4), đây là phương trình tuyến tính cấp 1 đối với . Sau khi tìm được nghiệm tổng quát của phương trình (2.4) đưa về biến , ta được nghiệm tổng quát của phương trình Bec-nu-li.
Ví dụ. Giải phương trình vi phân
Giải. Ta có
, đặt
, đây là phương trình tuyến tính cấp 1 đối với
là nghiệm tổng quát của phương trình. Nghiệm cũng là nghiệm của phương trình đã cho (vì ).
3. Chương trình toán học giải phương trình vi phân Bec-nu-li
3.1. Lệnh nhập xuất dữ liệu
+ Hàm readstat(""): hiện dấu nhắc trả về dữ liệu nhập từ bàn phím.
+ Hàm print(data1, data2, ): hiển thị dữ liệu ra màn hình.
Lưu ý: xâu ký tự đặt trong dấu ` `.
3.2. Xây dựng thủ tục trong Maple
+ Maple là một ngôn ngữ lập trình hướng thủ tục (procedure). Chế độ thủ tục được thực hiện bằng cách đóng gói một dãy các lệnh xử lí cùng một công việc vào một thủ tục duy nhất, sau đó chỉ cần gọi thủ tục này và Maple tự động thực hiện các lệnh có trong chu trình đó một cách tuần tự và sau đó trả lại kết quả cuối cùng.
+ Khai báo thủ tục như sau:
Procedure_name:=proc(parameter_sequence)
[local local_sequence]
[global global_sequence]
[options options_sequence]
statements_sequence
end;
Chương trình giải phương trình vi phân dạng:
> restart:
> proc_eqbecnuli:=proc()# Thu tuc giai pt Bec-nu-li
local p,q,alpha,ptBecnuli,Datz,pttt1,ptthuannhat,thuannhat,kq,ketqua:
global global_ptBecnuli:
p:=readstat("p(x)="):
q:=readstat("q(x)="):
alpha:=readstat("alpha="):
global_ptBecnuli:=ptBecnuli:
ptBecnuli:=diff(y(x),x)+p*y(x)=q*y(x)^alpha:ptBecnuli:
print(`-------------Bai Giai-----------`);
print(`Phuong trinh Becnuli co dang la:`);
print(ptBecnuli);
Datz:=z=y(x)^(1-alpha):Datz:
print(`Dat la:`);
print(Datz);
pttt1:=diff(z(x),x)+(1-alpha)*p*z(x)=(1-alpha)*q:pttt1:
print(`Phuong trinh tuyen tinh cap 1 co dang la:`);
print(pttt1);
ptthuannhat:=diff(z(x),x)+(1-alpha)*p*z(x)=0:ptthuannhat:
print(`Phuong trinh thuan nhat la:`);
print(ptthuannhat);
thuannhat:=dsolve(ptthuannhat):thuannhat:
print(`Nghiem tong quat cua phuong trinh thuan nhat la:`);
print(thuannhat);
kq:=dsolve(pttt1):kq:
print(`Nghiem tong quat cua phuong trinh tuyen tinh cap 1 la:`);
print(kq);
ketqua:=dsolve(ptBecnuli):ketqua:
print(`Vay, nghiem tong quat cua phuong trinh da cho la:`);
print(ketqua);
end;
# Ket thuc chuong trinh
3.3. Lưu và nạp chương trình
+ Maple cho phép lưu chương trình để sử dụng một cách thuận tiện như sau:
> save proc_eqbecnuli(); "\\thu_tuc.m":
+ Trong file có sử dụng chương trình thực hiện lệnh read fileproc, trong đó fileproc là tên file (có cả đường dẫn) chứa chương trình biên dịch, được tạo bởi lệnh save:
> restart;
> read "\\thu_tuc.m";
3.4. Sử dụng chương trình
Ví dụ. Giải phương trình vi phân
Nhập các tham số cho chương trình phương trình Bec-nu-li như sau
> proc_eqbecnuli(); #khai bao chu trinh Phuong Trinh Bec-nu-li
p(x)=x/(1-x^2); #khai bao ham p(x)
q(x)= x; #khai bao ham q(x)
alpha=1/2; #khai bao so alpha
Bài giải chi tiết như sau
4. Kết luận
Bài báo này đã trình bày các bước cơ bản phương trình vi phân Bec-nu-li bằng chương trình toán học. Kinh nghiệm cho thấy là nếu viết một chương trình phức tạp thì trước hết ta viết và chạy từng lệnh một để xem kết quả thế nào, khi thấy kết quả tốt ta nhóm các lệnh trên thành một chương trình hoàn chỉnh. Chương trình toán học có khả năng hỗ trợ giảng dạy và giải toán, nên bài báo cũng đi sâu tìm hiểu về phần mềm Maple và sử dụng nó trong việc dạy và học phương trình vi phân.
TÀI LIỆU THAM KHẢO
[1] Trần Quốc Chiến (2008), Giáo trình Phần mềm toán học, ĐH ĐN.
[2] Phạm Huy Điển, Đinh Thế Lục, Tạ Duy Phượng (1998), Hướng dẫn thực hành tính toán trên chương trình MAPLE V, NXB Giáo dục, Hà Nội.
[3] K. Von Bulow supervised by E.S. Cheb-Terrab. "Equivalence Methods for Second Order Linear Differential Equations." Master's thesis, Faculty of Mathematics, University of Waterloo (2000).
[4] E.S. Cheb-Terrab and T. Kolokolnikov. "First-order ordinary differential equations, symmetries and linear transformations." European Journal of Applied Mathematics (2003), 14:231-246.
[5] J.A. Weil, "Recent Algorithms for Solving Second-Order Differential Equations" (2002), available at