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)
+ 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                               y ''+ p ( x) y '+ q ( x) y =
                                                              f ( x)                     (1.3)
+ 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
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) = C1 y1 ( x) + C2 y2 ( x) là nghiệm tổng quát của (1.2) , trong đó
                 thì y


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

C1 , C2 là 2 hằng số tùy ý.
Chứng minh. Xem tài liệu tham khảo [4], định lý 5.3, tr.220.
Định lý 1.3. 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 .
Chứng minh. Xem tài liệu tham khảo [4], định lý 5.9, tr.227.
2. 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.1. Phương trình thuần nhất. Cho phương trình thuần nhất có dạng
                                        y ''+ p. y '+ q. y =
                                                           0,                               (2.1)
trong đó p, q là 2 hằng số.
Để giải phương trình thuần nhất (2.1) ta thực hiện như sau:
- Giải phương trình đặc trưng:           k 2 + p.k + q =,
                                                        0                                   (2.2)
- 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 , k2 thì nghiệm tổng quát của
phương trình thuần nhất là y C1.e k1 . x + C2 .e k2 . x , với C1 , C2 là 2 hằng số tùy ý.
                      =
+ 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à = (C1 + C2 .x).e k1x , với C1 , C2 là 2 hằng số tùy ý.
                    y
+ Nếu phương trình đặc trưng có 2 nghiệm phức k1 =i β , k2 =i β thì nghiệm
                                                 α+        α−
tổng quát của phương trình thuần nhất là y eα . x (C1.cos β x + C2 .sin β x) , với C1 , C2 là
                              =
2 hằng số tùy ý.
2.2. Phương trình không thuần nhất.
Cho phương trình không thuần nhất có dạng y ''+ p. y '+ q. y = ) ,
                                                             f (x                           (2.3)
trong đó p, q là 2 hằng số và f ( x) ≠ 0 .
Để giải phương trình không thuần nhất (2.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.
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. Vế phải có dạng f ( x) = Pn ( x).eα . x , Pn ( x) là đa thức bậc n
+ Nếu α (α ≠ k1 , k2 ) không phải là nghiệm của phương trình đặc trưng (2.2) thì tìm
nghiệm riêng dưới dạng Y = Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) .
+ Nếu α (α ≡ k1 hoặc α ≡ k2 ) là nghiệm đơn của phương trình đặc trưng (2.2) thì tìm

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

nghiệm riêng dưới dạng Y = x.Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) .
+ Nếu α (α ≡ k1 =) là nghiệm kép của phương trình đặc trưng (2.2) thì tìm nghiệm
                k2
riêng dưới dạng Y = x 2 .Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) .

*Trường hợp 2. Vế phải có dạng f ( x) eα . x ( Pm ( x) co s x + Pn ( x) sin β x) ,
                    =                                     β

trong đó Pm ( x), Pn ( x) là những đa thức bậc m, n và β là hằng số.

+ Nếu α ± i.β không phải là nghiệm của phương trình đặc trưng (2.2) thì tìm nghiệm
riêng dưới dạng Y = eα . x ( Pk .cos β x + Qk .sin β x), k = max( n, m) .
+ Nếu α ± i.β là nghiệm của phương trình đặc trưng (2.2) thì tìm nghiệm riêng dưới
dạng Y x.eα . x ( Pk .cos β x + Qk .sin β x), k max( n, m) .
     =                                        =

Bước 3: Vậy, nghiệm tổng quát của phương trình đã cho là y= y + Y .

3. 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.1. 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.
+ 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 và vẽ đồ thị nghiệm của phương trình vi phân dạng:
y ''+ p. y '+ q. y = ) , điều kiện đầu y ( x0 ) y0 , y '( x0 ) y0 '
                   f (x             = =
> restart;
> proc_eq2:=proc() # Thu tuc giai pt vi phan

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

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

DEplot(pt,y(x),-8..10,{[init_con]},y=-
8..10,arrows=NONE,stepsize=0.3,linecolor=blue,title=`VE                            DO
THI NGHIEM CUA PT VI PHAN`);
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_eq2 "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";
> proc_eq2(-2,2,4*exp(x),y(0)=1,D(y)(0)=2);
3.4. 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 = , điều kiện đầu= 1, y '(0) 2
                 4e x             y (0) =
> proc_eq2(); # khai bao chu trinh
p=-2; # khai bao he so hang p
q=2; # khai bao he so hang q
f(x)=4*exp(x); # khai bao ve phai ham f(x)
DKdau=y(0)=1,D(y)(0)=2; # 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 }, { k = 1 − I }
                  Nghiem tong quat cua phuong trinh thuan nhat la:
                          y = _C1 e x sin( x ) + _C2 e x cos( x )
66
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - 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, D( y )( 0 ) = 2
                      Vay, nghiem cua phuong trinh da cho la:
                           y = e x sin( x ) − 3 e x cos( x ) + 4 e x




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 tuyến tính cấp 2
hệ số hằng 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.


                              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.

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

[3] Lê Ngọc Lăng, Tống Đình Quỳ, Nguyễn Đăng Tuấn, Mai Văn Được(2001), Giúp
    ôn tập tốt môn Toán cao cấp, NXB ĐHQG HN, Hà Nội.
[4] Nguyễn Đình Trí, Tạ Văn Đĩnh, Nguyễn Hồ Quỳnh (2001), Toán học cao cấp,
    NXB Giáo dục, Hà Nội.
[5] 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).
[6] 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.
[7] J.A. Weil, "Recent Algorithms for Solving Second-Order Differential Equations"
    (2002), available at http://pauillac.inria.fr/algo/seminars/sem01-02/weil.pdf.




68

Phuong trinh vi phan

  • 1.
    TẠP CHÍ KHOAHỌ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) + 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 y ''+ p ( x) y '+ q ( x) y = f ( x) (1.3) + 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 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) = C1 y1 ( x) + C2 y2 ( x) là nghiệm tổng quát của (1.2) , trong đó thì y 62
  • 2.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).2008 C1 , C2 là 2 hằng số tùy ý. Chứng minh. Xem tài liệu tham khảo [4], định lý 5.3, tr.220. Định lý 1.3. 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 . Chứng minh. Xem tài liệu tham khảo [4], định lý 5.9, tr.227. 2. 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.1. Phương trình thuần nhất. Cho phương trình thuần nhất có dạng y ''+ p. y '+ q. y = 0, (2.1) trong đó p, q là 2 hằng số. Để giải phương trình thuần nhất (2.1) ta thực hiện như sau: - Giải phương trình đặc trưng: k 2 + p.k + q =, 0 (2.2) - 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 , k2 thì nghiệm tổng quát của phương trình thuần nhất là y C1.e k1 . x + C2 .e k2 . x , với C1 , C2 là 2 hằng số tùy ý. = + 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à = (C1 + C2 .x).e k1x , với C1 , C2 là 2 hằng số tùy ý. y + Nếu phương trình đặc trưng có 2 nghiệm phức k1 =i β , k2 =i β thì nghiệm α+ α− tổng quát của phương trình thuần nhất là y eα . x (C1.cos β x + C2 .sin β x) , với C1 , C2 là = 2 hằng số tùy ý. 2.2. Phương trình không thuần nhất. Cho phương trình không thuần nhất có dạng y ''+ p. y '+ q. y = ) , f (x (2.3) trong đó p, q là 2 hằng số và f ( x) ≠ 0 . Để giải phương trình không thuần nhất (2.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. 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. Vế phải có dạng f ( x) = Pn ( x).eα . x , Pn ( x) là đa thức bậc n + Nếu α (α ≠ k1 , k2 ) không phải là nghiệm của phương trình đặc trưng (2.2) thì tìm nghiệm riêng dưới dạng Y = Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) . + Nếu α (α ≡ k1 hoặc α ≡ k2 ) là nghiệm đơn của phương trình đặc trưng (2.2) thì tìm 63
  • 3.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).2008 nghiệm riêng dưới dạng Y = x.Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) . + Nếu α (α ≡ k1 =) là nghiệm kép của phương trình đặc trưng (2.2) thì tìm nghiệm k2 riêng dưới dạng Y = x 2 .Qn ( x).eα . x , Qn ( x) cùng bậc với Pn ( x) . *Trường hợp 2. Vế phải có dạng f ( x) eα . x ( Pm ( x) co s x + Pn ( x) sin β x) , = β trong đó Pm ( x), Pn ( x) là những đa thức bậc m, n và β là hằng số. + Nếu α ± i.β không phải là nghiệm của phương trình đặc trưng (2.2) thì tìm nghiệm riêng dưới dạng Y = eα . x ( Pk .cos β x + Qk .sin β x), k = max( n, m) . + Nếu α ± i.β là nghiệm của phương trình đặc trưng (2.2) thì tìm nghiệm riêng dưới dạng Y x.eα . x ( Pk .cos β x + Qk .sin β x), k max( n, m) . = = Bước 3: Vậy, nghiệm tổng quát của phương trình đã cho là y= y + Y . 3. 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.1. 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. + 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 và vẽ đồ thị nghiệm của phương trình vi phân dạng: y ''+ p. y '+ q. y = ) , điều kiện đầu y ( x0 ) y0 , y '( x0 ) y0 ' f (x = = > restart; > proc_eq2:=proc() # Thu tuc giai pt vi phan 64
  • 4.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).2008 local p,q,f,init_con,pt,ptthuannhat,ptdactrung,dactrung,thuannhat ,phuongtrinh,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----------------`); pt:=diff(y(x),x$2)+p*diff(y(x),x)+q*y(x)=f:pt: print(`Phuong trinh vi phan tuyen tinh cap 2 la:`); print(pt); ptthuannhat:=diff(y(x),x$2)+p*diff(y(x),x)+q*y(x)=0:ptthuan nhat: print(`Phuong trinh thuan nhat la:`); print(ptthuannhat); ptdactrung:=k^2+p*k+q=0:ptdactrung: print(`Phuong trinh dac trung tuong ung la:`); print(ptdactrung); dactrung:=solve({ptdactrung},{k}):dactrung: print(`Nghiem pt dac trung la:`); print(dactrung); thuannhat:=dsolve(ptthuannhat):thuannhat: print(`Nghiem tong quat cua phuong trinh thuan nhat la:`); print(thuannhat ); nktt:=dsolve(pt):nktt: print(`Nghiem tong quat cua phuong trinh khong thuan nhat la:`); print(nktt); print(` Dieu kien ban dau la:`); print(init_con); phuongtrinh:=dsolve({pt,init_con},{y(x)}):phuongtrinh: print(`Vay, nghiem cua phuong trinh da cho la:`); print(phuongtrinh); with(DEtools): 65
  • 5.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).2008 DEplot(pt,y(x),-8..10,{[init_con]},y=- 8..10,arrows=NONE,stepsize=0.3,linecolor=blue,title=`VE DO THI NGHIEM CUA PT VI PHAN`); 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_eq2 "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"; > proc_eq2(-2,2,4*exp(x),y(0)=1,D(y)(0)=2); 3.4. 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 = , điều kiện đầu= 1, y '(0) 2 4e x y (0) = > proc_eq2(); # khai bao chu trinh p=-2; # khai bao he so hang p q=2; # khai bao he so hang q f(x)=4*exp(x); # khai bao ve phai ham f(x) DKdau=y(0)=1,D(y)(0)=2; # 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 }, { k = 1 − I } Nghiem tong quat cua phuong trinh thuan nhat la: y = _C1 e x sin( x ) + _C2 e x cos( x ) 66
  • 6.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - 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, D( y )( 0 ) = 2 Vay, nghiem cua phuong trinh da cho la: y = e x sin( x ) − 3 e x cos( x ) + 4 e x 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 tuyến tính cấp 2 hệ số hằng 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. 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. 67
  • 7.
    TẠP CHÍ KHOAHỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(28).2008 [3] Lê Ngọc Lăng, Tống Đình Quỳ, Nguyễn Đăng Tuấn, Mai Văn Được(2001), Giúp ôn tập tốt môn Toán cao cấp, NXB ĐHQG HN, Hà Nội. [4] Nguyễn Đình Trí, Tạ Văn Đĩnh, Nguyễn Hồ Quỳnh (2001), Toán học cao cấp, NXB Giáo dục, Hà Nội. [5] 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). [6] 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. [7] J.A. Weil, "Recent Algorithms for Solving Second-Order Differential Equations" (2002), available at http://pauillac.inria.fr/algo/seminars/sem01-02/weil.pdf. 68