intTypePromotion=1

Báo khoa học: 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

Chia sẻ: VAN DE JONE | Ngày: | Loại File: DOC | Số trang:8

0
107
lượt xem
9
download

Báo khoa học: 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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Báo khoa học: 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

  1. 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ứ 1
  2. 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 y '+ p ( x). y = q( x). y α (2.1) với p ( x), q( x) là các hàm liên tục của x (hoặc là hằng số), α ≠ 0,α ≠ 1 được gọi là phương trình Bec-nu-li. Cách giải. +Nếu y = 0 với α > 0 ⇒ y ' = 0 , phương trình đã cho thỏa mãn nên y = 0 là 1 nghiệm của phương trình Bec-nu-li với α > 0 . +Nếu y ≠ 0 , chia 2 vế của (2.1) cho y ta được α y −α . y '+ p( x). y 1−α = q ( x) (2.2) 2
  3. Đặt z = y ⇒ z ' = (1 − α ) y y ' 1−α −α 1 Phương trình (2.2) trở thành z '+ p( x).z = q( x) (2.3) 1−α ⇔ z '+(1 − α ). p( x) z = (1 − α ).q( x) (2.4), đây là phương trình tuyến tính cấp 1 đối với z . Sau khi tìm được nghiệm tổng quát của phương trình (2.4) đưa về biến y , 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 x y '+ y=x y 1 − x2 Giải. Ta có α = 1 2 , đặt z = y 1−α = y 2 = y 1 x 1 ⇒ z '+ z = x , đây là phương trình tuyến tính cấp 1 đối với z 2(1 − x ) 2 2 1 ⇒ z = ( x 2 − 1) + C1 4 x 2 − 1 3 1 x2 ⇒ y+ − − C1 4 x 2 − 1 = 0, 3 3 là nghiệm tổng quát của phương trình. Nghiệm y = 0 cũng là nghiệm 1 của phương trình đã cho (vì 0 < α = < 1 ). 2 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 3
  4. + 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: y '+ p ( x). y = q( x). y α > 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: 4
  5. 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:`); 5
  6. 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 x y '+ y=x y 1 − x2 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 6
  7. Bài giải chi tiết như sau -------------Bai Giai----------------- Phuong trinh Becnuli co dang la:  d y( x )  + x y( x ) =x y( x )   dx   1 −x2   Dat la: z = y( x ) Phuong trinh tuyen tinh cap 1 co dang la:  d z( x )  +1 x z( x ) = x   dx   2 1 −x2 2   Phuong trinh thuan nhat la:  d z( x )  +1 x z( x ) =0    dx   2 1 −x2  Nghiem tong quat cua phuong trinh thuan nhat la: ( 1 /4 ) ( 1/ 4 ) z( x ) =_C1 ( x −1 ) ( x +1 ) Nghiem tong quat cua phuong trinh tuyen tinh cap 1 la: ( x −1 ) ( x +1 ) ( 1 /4 ) ( 1/ 4 ) z( x ) = +_C1 ( x −1 ) ( x +1 ) 3 Vay, nghiem tong quat cua phuong trinh da cho la: 1 x2 ( 1/4 ) ( 1/ 4 ) y( x ) + − −_C1 ( x −1 ) ( x +1 ) =0 3 3 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 7
  8. 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 http://pauillac.inria.fr/algo/seminars/sem01- 02/weil.pdf. 8
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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