TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).

2008

DẠY VÀ HỌC PHƯƠNG TRÌNH VI PHÂN TUYẾN TÍNH CẤP 2 HỆ SỐ HẰNG VỚI SỰ TRỢ GIÚP PHẦN MỀM TOÁN HỌC MAPLE
TEACHING AND LEARNING LINEAR EQUATIONS OF THE SECOND ORDER CONSTANT FACTOR WITH THE HELP OF MAPLE MATHEMATICAL SOFTWARE TRẦN QUỐC CHIẾN
Trường Đại học Sư phạm, Đại học Đà Nẵng

TRẦN NGỌC VIỆT
HV Cao h ọc khoá 2005 – 2008
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 tuyến tính cấp 2 hệ số hằng với điều kiện ban đầu (Bài toán Cauchy). Từ đó áp dụng giải một số bài toán dạng phương trình vi phân cấp 2. ABSTRACT This paper presents a new approach to solve differential equations of the second order constant factor with initial conditions (Cauchy problem) with THE help of program written with the Maple software. This program is then applied to some linear equations of the second order.

1. Phương trình vi phân tuyến tính cấp 2 Định nghĩa 1.1. Phương trình vi phân tuyến tính cấp 2 có dạng
y ''+ p ( x) y '+ q ( x) y = f ( x) , (1.1)

trong đó p ( x), q ( x), f ( x) là các hàm số liên tục. + Nếu f ( x) = 0 , thì (1.1) gọi là phương trình vi phân tuyến tính thuần nhất có dạng
y ''+ p ( x) y '+ q ( x) y = 0 (1.2) (1.3)

+ Nếu f ( x) ≠ 0 , thì (1.1) gọi là phương trình vi phân tuyến tính không thuần nhất có dạng hệ số hằng. Định lý 1.2. Nếu y1 ( x), y2 ( x) là 2 nghiệm độc lập tuyến tính của phương trình vi phân thuần nhất (1.2) = thì y C1 y1 ( x) + C2 y2 ( x) là nghiệm tổng quát của (1.2) , trong đó
62

y ''+ p ( x) y '+ q ( x) y = f ( x)

+ Nếu p ( x), q ( x) là các hằng số thì (1.1) gọi là phương trình vi phân tuyến tính cấp 2

1) trong đó p.2. Nghiệm tổng quát của phương trình không thuần nhất bằng tổng của nghiệm tổng quát của phương trình thuần nhất ( y ) và một nghiệm riêng nào đó (Y ) của phương trình không thuần nhất là y= y + Y . C2 là 2 hằng số tùy ý.227. Xem tài liệu tham khảo [4].eα .k + q = 0. định lý 5. Pn ( x) là đa thức bậc n + Nếu α (α ≠ k1 . Qn ( x) cùng bậc với Pn ( x) . Để giải phương trình thuần nhất (2. định lý 5. với C1 . q là 2 hằng số.e k1 . + Nếu phương trình đặc trưng có 2 nghiệm phức k1 = α + i β .1) ta thực hiện như sau: . y '+ q.2) thì tìm nghiệm riêng dưới dạng Y = Qn ( x). + Nếu α (α ≡ k1 hoặc α ≡ k2 ) là nghiệm đơn của phương trình đặc trưng (2. Phương trình không thuần nhất. k2 thì nghiệm tổng quát của phương trình thuần nhất là y C1. y = 0.Căn cứ vào các trường hợp sau để kết luận nghiệm: + Nếu phương trình đặc trưng có 2 nghiệm phân biệt k1 . Phương pháp giải phương trình vi phân tuyến tính cấp 2 hệ số hằng 2. Chứng minh. Cho phương trình không thuần nhất có dạng y ''+ p. (2. (2.eα .x). tr. q là 2 hằng số và f ( x) ≠ 0 . 2. Định lý 1. Chứng minh. với C1 . x .Giải phương trình đặc trưng: k 2 + p.9. y = f ( x) .3.e k2 . Cho phương trình thuần nhất có dạng y ''+ p. x (C1.2008 C1 . Xem tài liệu tham khảo [4].sin β x) .3) ta thực hiện như sau: Bước 1: Tìm nghiệm tổng quát của phương trình thuần nhất ( y ) thực hiện như nêu trên. = + Nếu phương trình đặc trưng có nghiệm kép k1 = k2 thì nghiệm tổng quát của phương trình thuần nhất là = y (C1 + C2 . x + C2 .TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ. với C1 . Vế phải có dạng f ( x) = Pn ( x).3. x .SỐ 5(28). ĐẠI HỌC ĐÀ NẴNG . y '+ q.220. C2 là 2 hằng số tùy ý. Bước 2: Tìm nghiệm riêng của phương trình không thuần nhất (Y ) thực hiện như sau: *Trường hợp 1.3) . Để giải phương trình không thuần nhất (2. trong đó p.e k1x .cos β x + C2 .2) . 2. k2 = α − i β thì nghiệm tổng quát của phương trình thuần nhất là y eα . C2 là = 2 hằng số tùy ý.1. k2 ) không phải là nghiệm của phương trình đặc trưng (2. x . tr. C2 là 2 hằng số tùy ý.2) thì tìm 63 (2. Phương trình thuần nhất.

Lưu ý: xâu ký tự đặt trong dấu ` `. + 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. *Trường hợp 2.β là nghiệm của phương trình đặc trưng (2. m) . Qn ( x) cùng bậc với Pn ( x) . Chương trình toán học giải phương trình vi phân tuyến tính cấp 2 hệ số hằng 3. + Hàm print(data1. Pn ( x) là những đa thức bậc m. ĐẠI HỌC ĐÀ NẴNG . > proc_eq2:=proc() # Thu tuc giai pt vi phan 64 .2.eα . x ( Pk .2) thì tìm nghiệm riêng dưới dạng Y = eα . điều kiện đầu 0 . x .1. x ( Pk .sin β x).SỐ 5(28). x ( Pm ( x) co s = β x + Pn ( x) sin β x) . trong đó Pm ( x). + Nếu α ± i.Qn ( x). 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. k = max( n. 3. y '( x0 ) > restart. k = max( n. Qn ( x) cùng bậc với Pn ( x) . Chương trình giải và vẽ đồ thị nghiệm của phương trình vi phân dạng: = y ( x0 ) y = y0 ' y ''+ p.2008 nghiệm riêng dưới dạng Y = x.TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ.2) thì tìm nghiệm riêng dưới dạng Y = x.Qn ( x).cos β x + Qk . Vế phải có dạng f ( x) eα .… ): hiển thị dữ liệu ra màn hình. y '+ q. 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. Lệnh nhập xuất dữ liệu + Hàm readstat("<prompt>"): hiện dấu nhắc <prompt> trả về dữ liệu nhập từ bàn phím.eα . + Nếu α (α ≡ k1 = k2 ) là nghiệm kép của phương trình đặc trưng (2. n và β là hằng số. m) . Bước 3: Vậy. nghiệm tổng quát của phương trình đã cho là y= y + Y .eα .2) thì tìm nghiệm riêng dưới dạng Y = x 2 . x .sin β x).β không phải là nghiệm của phương trình đặc trưng (2. y = f ( x) . 3. data2. 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). + Nếu α ± i.cos β x + Qk .

x$2)+p*diff(y(x). dactrung:=solve({ptdactrung}. print(thuannhat ). print(phuongtrinh). phuongtrinh:=dsolve({pt. print(dactrung). ptthuannhat:=diff(y(x).SỐ 5(28).ptthuannhat. with(DEtools): 65 . print(ptthuannhat). print(init_con).q. print(pt). nghiem cua phuong trinh da cho la:`). nktt:=dsolve(pt):nktt: print(`Nghiem tong quat cua phuong trinh khong thuan nhat la:`).x)+q*y(x)=0:ptthuan nhat: print(`Phuong trinh thuan nhat la:`). print(nktt).init_con}.dactrung.ptdactrung. ĐẠI HỌC ĐÀ NẴNG . ptdactrung:=k^2+p*k+q=0:ptdactrung: print(`Phuong trinh dac trung tuong ung la:`).thuannhat .x$2)+p*diff(y(x).init_con. pt:=diff(y(x).2008 local p.x)+q*y(x)=f:pt: print(`Phuong trinh vi phan tuyen tinh cap 2 la:`).TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ.{y(x)}):phuongtrinh: print(`Vay.phuongtrinh. print(ptdactrung).f.pt. print(` Dieu kien ban dau la:`).{k}):dactrung: print(`Nghiem pt dac trung la:`).nktt: global global_pt: p:=readstat("p="): q:=readstat("q="): f:=readstat("f(x)="): init_con:=readstat("DKdau="): global_pt:=pt: print(`---------------Bài Giai----------------`). thuannhat:=dsolve(ptthuannhat):thuannhat: print(`Nghiem tong quat cua phuong trinh thuan nhat la:`).

2.title=`VE THI NGHIEM CUA PT VI PHAN`). > proc_eq2(-2. # khai bao he so hang q f(x)=4*exp(x). 3. điều kiện đầu= y (0) 1. = y '(0) 2 > proc_eq2().. # khai bao ve phai ham f(x) DKdau=y(0)=1. end.linecolor=blue. { k = 1 − I } Nghiem tong quat cua phuong trinh thuan nhat la: y = _C1 e x sin( x ) + _C2 e x cos( x ) 66 . được tạo bởi lệnh save: > restart.arrows=NONE.. ĐẠI HỌC ĐÀ NẴNG .D(y)(0)=2. # khai bao he so hang p q=2.3. #Ket thuc chuong trinh 3.3. trong đó fileproc là tên file (có cả đường dẫn) chứa chương trình biên dịch.-8.y=8.m": DO + Trong file có s ử dụng chương trình thực hiện lệnh read fileproc.TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ.4*exp(x). # khai bao chu trinh p=-2.SỐ 5(28). # nhap gia tri DK ban dau ---------------Bài Giai---------------Phuong trinh vi phan tuyen tinh cap 2 la: y'' − 2 y' + 2 y = 4 e x Phuong trinh thuan nhat la: y'' − 2 y' + 2 y = 0 Phuong trinh dac trung tuong ung la: k2 − 2 k + 2 = 0 Nghiem pt dac trung la: { k = 1 + I }.10.y(0)=1.y(x).2008 DEplot(pt.{[init_con]}. Sử dụng chương trình Ví dụ: Giải và vẽ đồ thị nghiệm của phương trình vi phân sau y ''− 2 y '+ 2 y = 4e x .stepsize=0.4.m". > read "\\thu_tuc.D(y)(0)=2). 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_eq2 "\\thu_tuc.10.

[2] Phạm Huy Điển.SỐ 5(28).2008 Nghiem tong quat cua phuong trinh khong thuan nhat la: y = e x sin( x ) _C2 + e x cos( x ) _C1 + 4 e x Dieu kien ban dau la: y( 0 ) = 1. Hướng dẫn thực hành tính toán trên chương trình MAPLE V. Hà Nội. Tạ Duy Phượng (1998). Đinh Thế Lụ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. ĐH ĐN. NXB Giáo dục. ĐẠI HỌC ĐÀ NẴNG . nghiem cua phuong trinh da cho la: y = e x sin( x ) − 3 e x cos( x ) + 4 e x 4. 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. Giáo trình Phần mềm toán học. TÀI LIỆU THAM KHẢO [1] Trần Quốc Chiến (2008).TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ. 67 . D( y )( 0 ) = 2 Vay. 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 tuyến tính cấp 2 hệ số hằng bằng chương trình toán học.

NXB ĐHQG HN. Nguyễn Hồ Quỳnh (2001).S. ĐẠI HỌC ĐÀ NẴNG . symmetries and linear transformations. Faculty of Mathematics.A." European Journal of Applied Mathematics (2003). [4] Nguyễn Đình Trí.pdf. [7] J. Giúp ôn tập tốt môn Toán cao cấp. Tống Đình Quỳ. Von Bulow supervised by E.fr/algo/seminars/sem01-02/weil.SỐ 5(28). Kolokolnikov. "Equivalence Methods for Second Order Linear Differential Equations. Hà Nội. 68 . Weil." Master's thesis. Hà Nội. [6] E. Mai Văn Được(2001). available at http://pauillac. [5] K. Cheb-Terrab and T.TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ. Cheb-Terrab. Toán học cao cấp. NXB Giáo dục.S. Nguyễn Đăng Tuấn. "Recent Algorithms for Solving Second-Order Differential Equations" (2002). 14:231-246.inria. "First-order ordinary differential equations.2008 [3] Lê Ngọc Lăng. University of Waterloo (2000). Tạ Văn Đĩnh.

Sign up to vote on this title
UsefulNot useful