Tải bản đầy đủ (.pdf) (8 trang)

DẠY VÀ HỌC PHƯƠNG TRÌNH VI PHÂN TUYẾN TÍNH CẤP 1 HỆ SỐ HẰNG VỚI SỰ TRỢ GIÚP PHẦN MỀM TOÁN HỌC MAPLE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (252.48 KB, 8 trang )

ĐẠI HỌC ĐÔNG Á
2014
33
DẠY VÀ HỌC PHƯƠNG TRÌNH VI PHÂN
TUYẾN TÍNH CẤP 1 HỆ SỐ HẰNG VỚI SỰ TRỢ
GIÚP PHẦN MỀM TỐN HỌC MAPLE
 ThS. Trần Ngọc Việt
Khoa Cơ bản - Trường CĐ - GTVT II
TĨM TẮT
Mục tiêu của bài báo này là viết chương trình tốn học bằng phần mềm
MAPLE để phân tích q trình áp dụng phương trình vi phân tuyến tính
cp 1. Điều quan trọng hơn hết là phải biết vận dụng các kiến thức đó để giải
quyết các bài tốn, các tình huống cụ thể. Từ đó áp dụng giải một số bài tốn
phương trình vi phân dạng nâng cao hơn. Như vậy mới gọi là nắm vững và
hiểu thu đáo mơn học, đồng thời đưa những thành tựu nổi bật của cơng nghệ
thơng tin để hỗ trợ việc đổi mới phương pháp dạy và học theo chủ trương của
Bộ Giáo dục và Đào tạo.
Từ khóa - Phần mềm tốn học Maple, phương trình vi phân, điều kiện
ban đầu.
ABSTRACT
This paper presents a new approach to linear differential equations
of the first order constant factor with the help of a program written in the
Maple math software. It is important that we should know how to apply such
knowledge to solving mathematical problems and dealing with practical
situations. Accordingly, this can be applied to the solution to solve differential
equations. In this way, the subjects are thoroughly mastered so that great IT
achievements in support of the teaching and learning innovation issued by
the Ministry of Education and Training can be recorded.
Key word - Maple math software, differential equations, initial conditions.
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


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 tố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 [4].
ẹAẽI HOẽC ẹONG A
2014
34
Cựng vi nhng thnh tu tuyt vi trong lnh vc cụng ngh thụng tin, ngi ta ó
xõy dng c nhng phn mm cú tớnh u vit m nh nú vic gii toỏn c thc hin
d dng bng nhng cõu lnh tht n gin, ch khụng phi lp trỡnh phc tp nh trc.
Nhiu phn mm h tr tớnh toỏn nh: Maple, Mathematica, Matlab, S dng phn
mm toỏn hc trong dy v hc phng trỡnh vi phõn c hỡnh thnh vi mc ớch tỡm
hiu v phng phỏp, phõn tớch quỏ trỡnh gii bi toỏn phng trỡnh vi phõn bng chng
trỡnh toỏn hc. Bc u tỡm hiu mt s phn mm toỏn hc cú kh nng h tr ging
dy v gii toỏn. Bi vit i sõu tỡm hiu v phn mm Maple v s dng nú trong vic
dy v hc phng trỡnh vi phõn bc i hc - cao ng.
2. Phng trỡnh vi phõn tuyn tớnh cp 1
2.1. nh ngha
Phng trỡnh vi phõn cp 1 cú dng:

y'+ p(x).y = q(x)
(2.1)
Vi p(x), q(x) l cỏc hm liờn tc, c gi l phng trỡnh vi phõn tuyn tớnh cp 1.
Nu
q(x) = 0

thỡ (2.1) gi l phng trỡnh vi phõn tuyn tớnh cp 1 thun nht.
Nu
q(x) 0

thỡ (2.1) gi l phng trỡnh vi phõn tuyn tớnh cp 1 khụng
thun nht.

2.2. Nghim tng quỏt, nghim riờng
Nghim tng quỏt ca phng trỡnh vi phõn cp 1 l hm
y = f(x,C)
ph thuc
hng s C tựy ý v tha món cỏc iu kin:
- Tha món phng trỡnh vi phõn vi mi giỏ tr c th ca C .
- Nu cú iu kin u
0
0
x=x
y=y
thỡ cú th tỡm giỏ tr C = C
0
hm

0
(x,C )
tha món iu kin u.
Rừ rng im (x
0
, y
0
) phi nm trong min tha món cỏc iu kin tn ti v duy
nht nghim.
T r o n g q u ỏ t r ỡ n h t ỡ m n g h i m t n g q u ỏ t t h n g h a y g p b i u t h c d n g :

(x,y,C) = 0
( 2 . 2 )
Nu gii c y t phng trỡnh (2.2), ta nhn c nghim tng quỏt. Nu cú
trng hp nghim tng quỏt dng n, biu thc ú c gi l tớch phõn tng quỏt ca

phng trỡnh vi phõn.
ĐẠI HỌC ĐÔNG Á
2014
35
Nghiệm riêng của phương trình vi phân cấp 1 là bất kỳ hàm
φ
0
(x,C )
nhận được
từ nghiệm tổng qt
= φy (x,C)
nếu cho C một giá trị xác định C
0
.
2.3. Định lý [4]
Nếu
y
là nghiệm tổng qt của phương trình thuần nhất tương ứng và Y là một
nghiệm
riêng của phương trình khơng thuần nhất thì nghiệm tổng qt của phương trình
đã cho là
y=y+Y
.
2.4. Định lý [3]
Cho phương trình vi phân cấp 1.
y'= f(x,y)
Hàm liên tục f(x,y) trong một miền D nào đó của mặt phẳng Oxy và giả sử (x
0
, y
0

)
là một điểm nào đó của D. Khi đó trong một lân cận nào đó của điểm x = x
0
, tồn tại ít
nhất một nghiệm y = y(x) của phương trình, lấy giá trị y
0
khi x = x
0
.
Nếu ngồi ra


f
(x,y)
y
, cũng liên tục trong miền D thì nghiệm ấy là duy nhất.
Điều kiện y = y
0
khi x = x
0
được gọi là điều kiện ban đầu và thường được viết là:
0
0
x=x
y=y
Bài tốn tìm nghiệm của phương trình trên thỏa mãn điều kiện ban đầu đó được gọi
là bài tốn Cauchy của phương trình.
2.5. Cách giải
Giải phương trình (2.1) bằng cách thực hiện các bước như sau:
Bước 1: Tìm nghiệm

y
tổng qt của phương trình thuần nhất tương ứng.
Bước 2: Tìm nghiệm riêng Y nào đó của phương trình khơng thuần nhất bằng cách
biến đổi nghiệm tổng qt
y
ở trên về dạng
y = C.u(x)
với C là hằng số tùy ý, lúc đó ta
lấy nghiệm riêng Y của phương trình khơng thuần nhất dưới dạng Y = C(x).u(x) với
C(x) là hàm theo x chưa biết. Để tìm C(x) ta tìm Y', rồi thay Y, Y' vào phương trình
khơng thuần nhất, tìm được C
(x)
Bước 3: Lập nghiệm tổng qt của phương trình đã cho là
y=y+Y
.
3. Chương trình tốn học - phương trình vi phân tuyến tính cấp 1 điều kiện đầu
3.1. Lệnh nhập xut dữ liệu và vẽ đồ thị
Hàm readstat("<prompt>"): Hiện dấu nhắc <prompt> trả về dữ liệu nhập từ bàn phím.
ÑAÏI HOÏC ÑOÂNG AÙ
2014
36
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 ` `.
Hàm plot(f,x=a b, y=c d): Vẽ đồ thị trong không gian 2 chiều của hàm số 1 biến
y = f(x).
Hàm plot3d(expr,x=a b, y=c d): Vẽ đồ thị trong không gian 3 chiều của các mặt
2 chiều.
Hàm DEplot của thư viện plots cho phép vẽ họ đường cong tích phân, vẽ đồ thị
nghiệm của phương trình vi phân.
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 trong thủ
tục đó và 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;
restrart
proc_eqttcap1:=proc()#Thu tuc giai pt tuyen tinh cap 1 co DK
localp,q,init_con,pt,ptthuannhat,ptthuannhat1,thuannhat,ketqua
nktt:
globalglobal_pt;
p:=readstat("p(x)=");
q:=readstat("q(x)=");
init_con:=readstar("DK_dau=");
global_pt:=pt;
ÑAÏI HOÏC ÑOÂNG AÙ
2014
37
print( Bài giải );
pt:=diff(y(x),x)+p*y(x)=q:pt;
print( phương trình vi phân tuyến tính cấp 1 có dạng: );
print( pt );
ptthuannhat:=diff(y(x),x)+p*y(x)=0:pttrinhthuannhat;
print( phương trình thuần nhất là: );
print( ptthuannhat );

ptthuannhat1:=(dy/y)+p*dx=0:pttrinhthuannhat1;
print( 'suy ra:' );
print( ptthuannhat1 );
thuannhat:=dsolve(ptthuannhat): thuannhat:
print( Nghiệm tổng quát của phương trình thuần nhất là: );
print( thuannhat);
nktt := dsolve(pt): nktt;
print( Nghiệm tổng quát của phương trình không thuần nhất là: );
print( nktt);
print( Điều kiện ban đầu là: );
print( init_con );
ketqua := dsolve({pt, init_con}, {y(x)}): ketqua:
print( Vậy nghiệm của phương trình đã cho là: );
print( ketqua);
with(DEtools) ;
DEplot(pt,y(x),x=-2 15,{[init_con]},scene = [x,y],stepsize=0.1,arrows = None,
y=-2 6, linecolor = blue, title = VẼ ĐỒ THỊ NGHIỆM CỦA PHƯƠNG TRÌNH
VI PHÂN);
end;
#ket thuc chương trinh
ÑAÏI HOÏC ÑOÂNG AÙ
2014
38
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_eqttcap1 "\\ptvpcap1.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 "\\ptvpcap1.m";

>proc_eqttcap1(1, cos(x), y(0)=2);
3.4. S dụng chương trình
Giải và vẽ đồ thị nghiệm của phương trình vi phân tuyến tính cấp 1 dạng:
y'+ p(x).y = q(x)
, điều kiện đầu y(x
0
) = y
0
Ví dụ: Giải phương trình vi phân y'+y = cos(x), điều kiện đầu y(0) = 2
Nhập các tham số cho chương trình phương trình vi phân tuyến tính cấp 1 như sau:
>proc_eqttcap1(); #khai bao chu trinh PTVP Tuyen Tinh Cap 1 dieu kien ban dau
p(x)=1; #khai bao ham p(x)
q(x)=cos(x); #khai bao ham q(x)
DK_dau=y(0)=2; #khai bao Dieu Kien Dau
Bài giải chi tiết như sau:
Bài giải
Phương trình vi phân tuyến tính cấp 1 có dạng:
d
y(x)+ y(x) = cos(x)
dx
Phương trình thuần nhất là:
d
y(x)+ y(x) = 0
dx
Suy ra:
dy
+dx = 0
y
ĐẠI HỌC ĐÔNG Á
2014

39
Nghiệm tổng qt của phương trình thuần nhất là:
x−
y(x) = _Cle
Nghiệm tổng qt của phương trình khơng thuần nhất là:
11
cos(x) sin( ) _
22
x−
++y(x) = x Cle
Điều kiện ban đầu là:
y(0) = 2
Vậy nghiệm của phương trình đã cho là:
1 13
cos(x) sin( )
2 22
x−
++y(x) = x e
4. Kết luận
Bài viết đã trình bày các bước cơ bản giải bài tốn phương trình vi phân tuyến tính
cấp 1 điều kiện ban đầu và đặc biệt chương trình dễ dàng biểu diễn vẽ đồ thị nghiệm
của phương trình vi phân so với phương pháp giải tự luận thường gặp bằng một thủ tục
của Maple 12. 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 hồn chỉnh. Hy vọng qua chương trình tốn học trên
sẽ giúp cho người học có thêm phương pháp và tư duy mới về các dạng phương trình vi
phân cấp 1 và 2.
ẹAẽI HOẽC ẹONG A
2014
40

TI LIU THAM KHO
[1]. Trn Quc Chin (2008), Giỏo trỡnh Phn mm toỏn hc, i hc Nng.
[2]. Phm Huy in, inh Th Lc, T Duy Phng (1998), Hng dn thc hnh tớnh
toỏn trờn chng trỡnh MAPLE V, NXB Giỏo dc, H Ni.
[3]. Nguyn ỡnh Trớ, T Vn nh, Nguyn H Qunh (2001), Toỏn cao cp, NXB Giỏo
dc, H Ni.
[4]. Trn Bỡnh (2005), Gii tớch II+III, NXB Khoa hc v K thut, H Ni.
[5]. K.Von Bulow supervised by E.S. Cheb-Terrab (2000), "Equivalence Methods for
Second Order Linear Differential Equations" Master's thesis, Faculty of Mathematics,
University of Waterloo.
[6]. E.S. Cheb-Terrab and T. Kolokolnikov (2003), "First-order ordinary differential
equations, symmetries and linear transformations", European Journal of Applied
Mathematics , 14:231-246.
[7]. J.A. Weil, "Recent Algorithms for Solving Second-Order Differential Equations"
(2002), available at

×