Khóa luận tốt nghiệpSVTH: Bùi Huyền Trang BÙI HUYỀN TRANG GIẢI GẦN ĐÚNG MỘT SỔ LỚP PHƯƠNG TRÌNH VI PHÂN THƯỜNG VÀ ỨNG DỤNG MAPLE TRONG TÍNH TOÁN KHÓA LUÂN TỐT NGHIÊP ĐAI HOC Chuyên ngành
Trang 1Khóa luận tốt nghiệp
SVTH: Bùi Huyền Trang
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Trang 2Khóa luận tốt nghiệp
SVTH: Bùi Huyền Trang
BÙI HUYỀN TRANG
GIẢI GẦN ĐÚNG MỘT SỔ LỚP PHƯƠNG TRÌNH VI PHÂN THƯỜNG VÀ ỨNG DỤNG MAPLE TRONG TÍNH TOÁN
KHÓA LUÂN TỐT NGHIÊP ĐAI HOC
Chuyên ngành: Giải tích
Người hướng dẫn khoa học:
PGS.TS KHUẤT VĂN NINH
HÀ NỘI 2014 LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy cô giáo trong tổ Giải tích đã tạo điều kiệngiúp đỡ và đóng góp ý kiến cho em trong suốt thòi gian học tập và nghiên cứu tại
trường Đặc biệt, em bày tỏ lòng biết ơn sâu sắc đến thầy Khuất Văn Ninh - người
đã trực tiếp hướng dẫn, giúp đỡ tận tình để em có thể hoàn thành khóa luận này
Hà Nội, tháng 5 năm 2014 Sinh YỈên thưc hiên
Trang 3Khóa luận tốt nghiệp
SVTH: Bùi Huyền Trang
Bùi Huyền Trang
LỜI CAM ĐOAN
Khóa luận này được hoàn hành dưói sự hướng dẫn tận tình của PGS.TS Khuất Văn Ninh cùng vói sự cố gắng của bản thân Trong quá trình nghiên cứu em
đã kế thừa những thành quả nghiên cứu của các nhà khoa học, các nhà nghiên cứu với sự trân trọng và biết ơn
Em xin cam đoan những kết quả trong khóa luận này là kết quả nghiên cứu của bản thân, không trùng với khóa luận của tác giả nào
Hà Nội, tháng 5 năm 2014 Sinh viên thưc hiên
Bùi Huyền Trang
MỤC LỤC
Chương 1 CÁC KIẾN THỨC CHUẨN BỊ 4
1.1 Sai số 4
1.1.1 Sổ gần đúng, sai số tuyệt đối và sai sổ tương đổi 4
1.1.2 Sai số tính toán 5
1.1.3 Bài toán ngược của sai số 7
1.2 Khái quát về phương trình vi phân 8
1.2.1 Định nghĩa 8
1.2.2 Bài toán Cauchy đối với phương trình vi phân thường cấp 1 8
Trang 4Khóa luận tốt nghiệp
SVTH: Bùi Huyền Trang
1.2.3 Một số định lý 9
Chương 2 CÁC PHƯƠNG PHÁP GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN THƯỜNG 11
2.1 Một số phương pháp giải tích 11
2.1.1 Phương pháp chuỗi hàm 11
2.1.2 Phương pháp hệ sổ bất định 14
2.1.3 Phương pháp xấp xỉ liên tiếp 16
2.2 Một số phương pháp số 18
2.2.1 Các phương pháp Euler 19
2.2.2 Phương pháp Runge - Kutta 24
Chương 3 ỨNG DỤNG MAPLE TRONG TÍNH TOÁN 26
3.1 Giói thiệu về phần mềm Maple 26
3.2 Một số ứng dụng của Maple trong việc giải phương trình vi phân 27
KẾT LUẬN 42
TÀI LIỆU THAM KHẢO 43
Trang 5Khóa luận tốt nghiệp
LỜI NÓI ĐÀU
Toán học là môn học khoa học gắn liền với thực tiễn Sự phát triển của Toán họcđược đánh dấu bỏi những ứng dụng của nó vào việc giải quyết các bài toán thực tiễn Trong lĩnh vực Toán ứng dụng thường gặp rất nhiều bài toán liên quan đến phương trình vi phân thường Vì vậy việc nghiên cứu phương trình vi phân thường đóng vai trò rất quan trọng trong lí thuyết Toán học Chúng ta biết rằng chỉ có một số ít các phương trình vi phân thường là có thể tìm được nghiệm chính xác, trong khi đó phần lớn các phương trình vi phân nảy sinh từ các bài toán thực tiễn đều không tìm được nghiệm chính xác Do vậy, một vấn đề đặt ra là tìm cách để xác định nghiệm gần đúng của phương trình vi phân Xuất phát từ nhu cầu đó, các nhà Toán học đã tìm ra nhiều phương pháp để giải gần đúng phương trình vi phân thường
Dưới góc độ của một sinh viên sư phạm chuyên ngành Toán và trong phạm vi của một khóa luận tốt nghiệp em xin mạnh dạn trình bày hiểu biết của mình về vấn đề :
“Giải gần đúng một số lớp phương trình vi phân thường và ứng dụng Maple trong tính toán”
Khóa luận gồm 3 chương:
Chương 1: Các kiến thức chuẩn bị
Chương 2: Các phương pháp giải gần đúng phương trình vi phân thường
Chương 3: ứng dụng của Maple trong tính toán
Tuy đã có nhiều cố gắng, song do thời gian và năng lực còn hạn chế nên khóa luận của em chắc chắn còn nhiều thiếu sót, rất mong nhận được sự đóng góp ý kiến của quý thầy cô và các bạn để khóa luận được hoàn thiện hơn
Em xin chân thành cảm ơn!
Chương 1 CÁC KIẾN THỨC CHUẨN BỊ
1.1 Sai số
1.1.1 Số gần đúng, sai số tuyệt đối và sai số tương đối
a, Khái niệm về số gần đúng Sai số tuyệt đối và sai số tương đối
Trang 6Khóa luận tốt nghiệp
Trong tính toán thông thường người ta không biết số đúng <2° mà chỉ biết
các số gần đúng của nó là a Sai số được gọi là gần đúng của a, độ lệch h = a°-a được gọi là sai số thực của a Vì không biết a° nên không biết h Tuy nhiên, ta có thể xác định được một số dương Aa > \h\ sao cho a—Aa<a ữ <a+Aa SốAa bé nhất
mà ta có thể xác định được gọi là sai số
tuyêt đối của a Tỷ số s = — đươc goi là sai số tương đối của« ,Aa có cùng
\a\
thứ nguyên với a, còn Sa là số không có thứ nguyên và được biểu diễn bằng
0/ 0/
/0 ’ /00 5 • • •
b, Sự thu gọn các số, sai số thu gọn.
Giả sử« được biểu diễn dưới dạng số thập phân
a = {P p W +P p _ 1 W1 1(F-’)
trong đó (i = p,p-\, ,p-q) là các số nguyên dương tò 0 đến 9.
Chẳng hạn a = 123,45 = 1.102 +2.101 +3.10° +4.101 +5.10'2
Thu gọn a là vứt bỏ đi một số hạng bên phải trong biểu diễn của a để được
một số gần đúngữ gọn hơn nhưng vẫn đảm bảo độ chính xác cần thiết Quy ước nếuchữ số đầu tiên bỏ đi tính từ bên trái qua có giá trị >5 thì khi thu gọn ta tăng thêm vào chữ số cuối cùng giữ lại một đơn vị, nếu < 5 thì giữ nguyên Trường họp chữ số
bỏ đi đúng bằng 5 và các chữ số tiếp theo toàn là chữ số 0 thì chữ số cuối cùng giữ lại để nguyên nếu có là số chẵn và tăng thêm một đơn yị nếu là số lẻ (tính toán với
số chẵn thuận lợi hơn)
Trang 7Khóa luận tốt nghiệp
1.1.2 Sai số tính toán
Giả sử cần tính giá trị của một hàm y° = /Oq0,*°)trong đó chỉ biết các
giá trị gần đúng x ỉ ,x 2 , ,x n vói các sai số tương ứng ầXi ( hay ỔX Ị ) (i = l,n) Sai số của giá trị y = f(x l ,x 2 , ,xn) được gọi là sai số tính toán Giả sử / là một hàm khả vi, liên tục
theo các biến Xị Khi đó:
\ y \ t í
Trang 8Khóa luận tốt nghiệp
Trang 9Công thức (3) đôi khi có thể viết Sy - Aln _y (4)
tổng đai số có giá tri nhỏ thì sai số tương đối Aổ = trở nên rất lớn ( vì
Sai số tương đối của một tích bằng tổng các sai số tương đối của từng thành phần
c, Sai số của thương: y = —
Trang 10Ạv È /.
i=\
< 0,003;
• Nếu a> 1 (phép lũy thừa) thì ổy>ổx , do đó độ chính xác giảm
• Nếu 0<a<ì thì ta có phép khai căn, khi đó ổy<ổx hay độ chính xác tăng.
• Nếu a = — 1 ta có phép nghịch đảo, khi đó ốy = ốx nghĩa là độ chính xác
không đổi
1.1.3 Bài toán ngược của sai số
Giả sử cần tính y = f (x 1 ,x 2 , ,x n )vói các sai số cần có là Ay<£.
Hãy xác định sai số cần thiết phải đạt của các đối số Xị.
Nguyên lý ảnh hưởng đều: Giả sử f ' x AXị = consí ụ = l,nj Khi đó
Trang 11^- = nr 1 = \2fi =>AA = -ậi- < 0,001; dh
• Phương trình vi phân thường cấp 1 là phương trình biểu diễn dưới dạng
Sau này trong các phương pháp giải tích ta chỉ cần nghiên cứu các phương trình vi phân thường cấp 1 với bài toán Cauchy
1.2.2 Bài toán Cauchy đối với phương trình vi phân thường cấp 1
* Xét bài toán (1-2)
trong đó x(t) là hàm một biến xác định trên [0,r]
Được gọi là bài toán Cauchy đối với phương trình vi phân thường cấp 1 Lớp bài toán Cauchy có thể giải được bằng các phép cầu phương rất hẹp do vậy thông thường để giải các bài toán (1-2) ta phải sử dụng các phương pháp giải gần đúng (tích phân gần đúng)
Tuy nhiên, trước khi sử dụng các phương pháp tích phân gần đúng ta cần biếtbài toán (1-2) có tồn tại nghiệm hay không và tính duy nhất của nghiệm Vì nếu
Trang 12thiếu điều kiện duy nhất thì ta không xác định được đâu là nghiệm cần tìm.
Nếu f(t, x ) là hàm liên tục trên hình chữ nhật R (r>0cố định) và f (t , x ) thỏa
mãn điều kiện Lipsit theo biến X trên hình chữ nhật R, tức là ị f (t, x )—f
(t, y )ị <N\ x —y \ trong đó N là hằng số (gọi là hằng Lipsit) thì nghiệm
của bài toán (1 - 2) xác định là duy nhất
> Từ hai định lý trên ta có định lý sau:
c, Định lỷ 3 (định lý tồn tại và duy nhất nghiệm)
Xét bài toán (1-2)
Hàm /(í,x) xác định trong R (r > 0 cố định) thỏa mãn hai điều kiện:
(1) : / (í, x) liên tục trên R và do R đóng và bị chặn nên:
Trang 13Chương 2 CÁC PHƯƠNG PHÁP GIẢI GẦN ĐÚNG
PHƯƠNG TRÌNH VI PHÂN THƯỜNG 2.1 Một số phương pháp giải tích
Là phương pháp tìm nghiệm dưới dạng biểu thức, tức là ta đi xây dựng
dãy hàm y n { x ), x & [a b\ sao cho Jn(;c) 4/0), x &[ a, b] Trong đó, J*(X)
là nghiệm của phương trình
Trang 15Từ phương trình y” + xy' =e~ ỵ2 -> y" = e-*-xy'
Lấy đạo hàm hai vế của phương trình y" = e x - xy' đến bậc 8 ta được:
Trang 16a, Nội dung phương pháp
Xét bài toán Cauchy đối với phương trình tuyến tính cấp 2
Lấy đạo hàm y \ y " theo (9) ta có
y' = £ n.a n x H ~ l & y"= ị^nỌĩ-l) a n x nl
Trang 17Thay a 0 , vào (10) thì ta được a2
Thay a 0 , ữ,, «2 vào phương trình tiếp theo của (10) thì ta được a3 Làm tương tự như
vậy ta được aA,
+) về nguyên tắc ta xác định được tất cả các a , nhưng trong thựctiễn ta
chỉ lấy một tổng riêng của chuỗi (9) Khi đó ta xác địnhđược nghiệm xấp xỉ củaphương trình vi phân
N
Chang hạn, lấy y N O) = X a n x " khi đó y N O) ~ j(x)
*=0
Nhân xét: Có thể chứng minh được rằng nếu chuỗi lũy thừa trong (8) có bán kính
hội tụ bằng R thì chuỗi lũy thừa trong công thức (9) cũng có bán kính hội
tụ bằng R Và công thức (9) sau khi xác định a n thì nó là nghiệm của bài toán
Trang 18y '(*) = a x + 2 a 2 x + 3 a 3 x 2 + 4 a 4 x 3
+ y "(*) = 2 a 2 + 6 a 3 x +12 a4x 2
+
Thay vào phương trình (11) ta được
<2, + (2a2 + 2a2 + a0).x + (6a3 + 3a3 +
a3)x2 + ^+ (4«2 + a^x + (9a3 + a^x 2 +.
Từ điều kiện ban đầu ta xác định được
X
2
J t 4
Vây nghiêm xâp xỉ của phương trình là v(jt) = 1 -1
1
-464
2.1.3 Phương pháp xấp xỉ liên tiếp
a, Nội dung phương pháp
Xét bài toán Cauchy (1-2)
Trang 19Giả sử lim;ynO:) = /00 thì 3>*0) là nghiệm của bài
toán (1)
n—>00
Trong lí thuyết phương trình vi phân
thường đã chứng minh rằng: nếu hàm /(X, y )
thỏa mãn điều kiện Lipsit theo biến y
\ f(x , y ỉ )-f (x , y 2 )\ < N
= consí
Trang 20< M N
trong hình chữ nhật D với JD = |(jc,y)e/?2:|A:-jc0|<ữ,|j-j0|<Z7| thì hàm
y (je) hội tụ tói nghiệm y(jc) của phương trình (1) trên đoạn [x , x +h \ ,h >0 là một số
dương nào đó và hàm y0(jc) tùy ý cho trước
Sai số giữa y n (x ) và /(jc)được đánh giá bỏi công thức sau :
Trang 213x2 3 X 2 2 x 2 -ll 5
y 3 (x ) — —- + jtsinjt—^jcsin2jc+(l—— )cosjcH -——cos2jc + -^
2.2 Một số phưong pháp số
Phương pháp số là phương pháp tìm nghiệm của phương trình dưới dạng bảng
số, tức là ta chỉ cần tìm các giá trị y «_y(x;) ;i = 0 , n ; x i E \_a,b~\.
Đoạn \_a,b] được chia thành n phần bằng nhau x 0 =a , Xị =a + (ị -1)
V ^
Suy ra y 3 (x) = + X sin X—^ X sin 2x+(1—^-) cos X + ^ cos2x+
Trang 23Từ (1) và (16) ta có fi * /ó,., y t ) ; Ji+1 - = fi
h Suy ray M - y + h fị ,i = 0, n
Trang 24y0đã biết từ điều kiện (2).
Phương pháp tìm nghiệm dưới dạng bảng số theo công thức (18) được gọi là phương pháp Euler
(* )
Ỷ nshĩa hình hoc
Kí hiệu Mị = (Xị , yt) trong đó y,- được xác định theo công thức (18)
- Nối các điểm M 0 vói M1, M ì vói M 2 , ,M n _ 1 YỚi M n thì ta được đường
gấp khúc, kí hiệu G =[M0,M1,
- Đường gấp khúc G được gọi là đường gấp khúc Euler
Giả sử V là nghiệm của bài toán (1-2) và có đồ thị là đường cong (C) thì dáng điệu
của đường gấp khúc G gần đúng với dáng điệu của đường cong (C)
Khi h càng nhỏ thì đường gấp khúc Euler càng gần với đồ thị của nghiệm.
Ta chia đoạn ịa,b] thành 10 phần bằng nhau : h = 0,1 Taklhiệu:
f(x l t y l ) = \-^ L -0,5yf , ầ.y, = hfự,,y,) ;i = ÕÕÕ
X Ị Xị
Áp dụng phương pháp Euler thì y i+l = y t + A = y +hf (x ^ ị)
Kết quả được tính trong bảng sau:
Trang 26Chia đoạn [x0 -ổ, x ữ +ổ] thành n phần bằng nhau, h =—, h> 0.
c, Phương pháp Euler cải tiến thứ 2
❖ Nội dung phương
pháp Xét bài toán (1-2)
r y ' = f ( x , y )
(x, y )e D, (x0,y0)eD
y ( xo) =
Trang 27Sau đó tính y i+ \ = yi +h
-L
❖ Ví dụ Giải phương trình sau bằng phương pháp Euler cải tiến thứ 2:
Trang 285 0,2 0,218323
Trang 302.2.2 Phư<mg pháp Runge - Kutta
a, Nội dung phương pháp Xét
bài toán (1-2)
y' = f (x, y)
y (x 0 ) = y 0
Ta kí hiệu : y, là nghiệm xấp xỉ của bài toán (1) tại x n y i+1 là nghiệm xấp xỉ tại x i+1
=Xị +h Phương pháp Runge - Kutta để tính y i+1 gồm các bước sau:
Trang 310,999950,9988660,995457
0,1
0,0952430,0953570,091405
0,1
0,1904870,1907140,091405
0,995450,990570,990289
0,0914060,0880840,0880570,085301
0,0914060,1761680,1761150,085301
0,9831930,9745140,9747630,964659
0,085300,083080,083050,08131
0,085300,166160166140,08131
0,013514
0,083146
Chương 3 ỨNG DỤNG MAPLE TRONG TÍNH TOÁN
3.1 Giới thiệu về phần mềm Maple
Bài toán (1-2) ta hoàn toàn có thể giải một cách tổng quát bằng cách lập trình tạo
hàm trên Maple dựa vào thuật toán có sẵn đã nêu Nhưng vì thời gian hạn chế nên tôi
chỉ viết chương trình giải cho một số ví dụ, để thấy rằng phần mềm tính toán là công
Trang 32cụ khá dễ dàng và hiệu quả trong việc tham gia giải quyết các bài toán biên có độ tính toán phức tạp.
Tuy nhiên thế mạnh của phần mềm tính toán là nhanh chóng và hiệu quả Việc giải bài toán trên bằng tay đã là quá phức tạp, nếu viết chương trình như trên thì việc
tính toán trở nên đơn giản song lại mất thời gian Maple cho phép sử dụng những gói
công cụ chuyên dụng có sẵn để giải phương trình vi phân một cách nhanh chóng và hiệu quả, tuỳ từng dạng phương trình mà nó cho phép biểu diễn nghiệm ở dạng biểu thức, chuỗi đa thức xấp xỉ hay bảng số
Muốn giải phương trình vi phân, trước hết ta cần nạp gói công cụ chuyên dụng cho lĩnh vực này bằng câu lệnh:
[>with(DEtools):
Lệnh giải phương trình vi phân có cú pháp tổng quát là:
[>dsolve(odesys, vars, keyword);
- Với keyword: được cho dưới dạng type = series thì máy sẽ cho ta nghiệm dưới dạng chuỗi
- Vói keyword: được cho dưới dạng type = numeric thì máy sẽ vận dụng các
phương pháp số cho ta nghiệm dưới dạng một hàm tượng trưng mà ta có thể đánh giá được giá trị số của nó tại điểm bất kì nào
Trang 33- Vói keyword: được cho dưới dạng type = basic thì máy sẽ cho ta tập hàm cơ
sở mà tập nghiệm được căng trên đó (như một bao tuyến tính)
3.2 Một số ứng dụng của Maple trong việc gỉảỉ phương trình vỉ phân
Sử dụng Maple chúng ta có thể tìm được nhiều nghiệm của nhiều phương
trình vi phân thường, phương trình vi phân với điều kiện ban đầu
Tính toán trên Maple:
Bài toán 1: Giải xấp xỉ bài toán sau :
init _ con := y(0) = 1, D( j)(0) = 0
Sau khi cho thực hiện trên màn hình sẽ hiện công thức mô tả điều kiện đầu
Bước 3: Giải phương trình vi phân bằng lệch dsolve :
[>dsolve({y(0)=l,x*diff(y(x),x,x)+diff(y(x),x)+x*y)x)=0},y(x),series);
y (x) = l -ị x 2 +^ x ‘+Oự )
(Sau khi cho tìiực hiện lệnh trên màn hình sẽ hiện công thức nghiệm của phương trình
vi phân cần giải)
Kết luận: Kết quả tính toán trên Maple hoàn toàn trùng khớp với kết quả bài toán đã
sử dụng phương pháp hệ số bất định ở trên Như vậy, ta thấy được rằng: việc giải
Trang 34phương trình vi phân sẽ được đơn giản hơn khi ta sử dụng Maple vào tính toán.
Bài toán 2: Sử dụng phương pháp Euler, phương pháp Euler cải tiến và phương pháp Runge-Kutta với độ dài bước h = 0,1 và h = 0,05 để tìm nghiệm xấp xỉ của phương trình sau:
ỳ = X 2 + y 2 ; 37(0) = 0 trên đoạn X e [0; 1]
Giải
1 Tính toán trên Maple , sử dụng phương pháp Euler
Trong Maple, để tìm các giá trị y t theo công thức lặp ta có thể sử dụng mặc
định (option) remember (nhớ) Mặc định này của Maple cho phép nhớ các giá trị cũ để tính y n , mà không cần tính lại giá trị y _ v Trước tiên ta khởi động chương trình Maple
Khai báo thủ tục tính giá trị y n theo công thức Euler cải tiến:
[>y:=proc(n) option remember;
[>y(n-l)+h/2*(f(x(n-l),y(n-l))+f(x(n),y(n-l)+h*f(x(n-l)
,y(n-l))));