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ânthường nảy sinh từ các bài toán thực
Trang 1LỜI CẢM ƠN
Để hoàn thành bản khóa luận tốt nghiệp này, trước hết em xin chân thànhcảm ơn các thầy cô giáo trong khoa Toán, các thầy cô trong tổ giải tích đã tạođiều kiện, giúp đỡ em trong thời gian vừa qua
Đặc biệt, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Tiến
sĩ Nguyễn Văn Hùng đã tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình
nghiên cứu khóa luận
Em xin chân thành cảm ơn
Hà Nội, ngày 20 tháng 4 năm 2013
Sinh viên
Trần Hồng Hạnh
Trang 2
LỜI CAM ĐOAN
Em xin cam đoan khóa luận là công trình nghiên cứu của riêng em
Trong khi nghiên cứu, em đã kế thừa những thành quả nghiên cứu của cácnhà khoa học, nhà nghiên cứu với sự trân trọng và biết ơn
Những kết quả nêu trong khóa luận chưa được công bố trên bất kì côngtrình nào khác
Hà Nội, ngày 20 tháng 4 năm 2013
Sinh viên
Trần Hồng Hạnh
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 4
Chương 1 CÁC KIẾN THỨC CHUẨN BỊ 6
§1: SỐ GẦN ĐÚNG VÀ SAI SỐ 6
1 Khái niệm về số gần đúng, sai số tuyệt đối, sai số tương đối 6
2 Sai số tính toán 8
3 Bài toán ngược của bài toán sai số 9
§2 SAI PHÂN 11
1 Định nghĩa và tính chất 11
2 Một số công thức nội suy sử dụng sai phân 12
§3.PHƯƠNG TRÌNH VI PHÂN THƯỜNG 14
1 Một số khái niệm 14
2 Một số phương trình vi phân đã biết cách giải 14
3 Định lí Pica – Lindolov (định lí tồn tại và duy nhất nghiệm) 16
Chương 2 MỘT SỐ PHƯƠNG PHÁP GIẢI GẦN ĐÚNG 19
PHƯƠNG TRÌNH VI PHÂN 19
§1 PHƯƠNG PHÁP EULER VÀ EULER CẢI TIẾN 19
1 Phương pháp Euler 19
2 Phương pháp Euler cải tiến 20
§2 PHƯƠNG PHÁP RUNGE – KUTTA 23
1 Trường hợp m=1 25
2 Trường hợp m= 2 25
3.Trường hợp m= 3 27
4 Trường hợp m= 4 29
5 Phương pháp Runge –Kutta có thể áp dụng để giải 1 hệ phương trình vi phân cấp 1 hay một phương trình vi phân cấp cao 32
Chương 3 BÀI TẬP ÁP DỤNG 35
KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
Trang 4
LỜI NÓI ĐẦU
Thoạt đầu, toán học được phát sinh do nhu cầu giải quyết các bài toán cónguồn gốc thực tiễn Cùng với sự phát triển của nội tại toán học và các ngànhkhoa học khác, toán học chia thành hai lĩnh vực: toán học lí thuyết và toán họcứng dụng
Trong lĩnh vực toán học ứng dụng thường gặp rất nhiều bài toán liên quantới phương trình vi phân thường Vì vậy, nghiên cứu phương trình vi phânthường đóng một vai trò 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ânthường 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 đó một số vấn đề đặt ra là tìm các phương pháp để xác định nghiệm gần đúngcủa phương trình vi phân thường
Xuất phát từ nhu cầu thực tiễn đó, các nhà toán học đã tìm ra nhiều phươngpháp để giải gần đúng phương trình vi phân thường Trong các phương pháp đó,người ta đã phân làm 2 nhóm: nhóm thứ nhất gọi là các phương pháp giải tíchcho phép tìm nghiệm gần đúng dưới dạng biểu thức giải tích, nhóm thứ hai gọi làcác phương pháp số cho phép tìm nghiệm dưới dạng bảng
Là một sinh viên khoa Toán, trong khuôn khổ một bản khóa luận, em xinđược trình bày những hiểu biết của mình về một số phương pháp số giải gầnđúng phương trình vi phân thường
Được sự hướng dẫn tận tình của tiến sĩ Nguyễn Văn Hùng cùng với lòng
nhiệt tình say mê nghiên cứu khoa học, em đã chọn đề tài: “Một số phương
Trang 5pháp giải gần đúng phương trình vi phân” Em đã đi sâu nghiên cứu 2 phương
pháp số: phương pháp Euler và Euler cải tiến, phương pháp Runge –Kutta
Nội dung bả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: Một số phương pháp giải gần đúng phương trình vi phân.Chương 3: Bài tập áp dụng
Do thời gian và năng lực có hạn nên khóa luận của em còn nhiều thiếu sót,kính mong nhận được ý kiến đóng góp của các thầy cô giáo và các bạn sinh viên
Trang 6
Chương 1 CÁC KIẾN THỨC CHUẨN BỊ
§1: SỐ GẦN ĐÚNG VÀ SAI SỐ
1 Khái niệm về số gần đúng, sai số tuyệt đối, sai số tương đối
a, Số gần đúng, sai số tuyệt đối và sai số tương đối:
Trong thực tế tính toán, ta thường không biết số đúng a* mà chỉ biết số gầnđúng của a* là a Đại lượng ∆ = a* - a được gọi là sai số thực sự của a
Do không biết a* nên ∆ cũng không biết nhưng ta có thể tìm được ∆a≥0 saocho: a * a
≤ ∆a ; (1.1)
Số ∆a nhỏ nhất thỏa mãn (1.1) được gọi là sai số tuyệt đối của a
Tỷ số δaa =a a được gọi là sai số tương đối của a.
Ví dụ 1: Giả sử a= 3,14 ; a*=
Do 3,14 < a* < 3,15=3,14+0,01 nên ∆a= 0,01
Mặt khác: 3,14 < a* < 3,142=3,14+0,002 nên ∆a= 0,002
Trong phép đo nói chung sai số tuyệt đối càng nhỏ thì càng tốt
Ví dụ 2: Đo độ dài hai đoạn thẳng AB, CD ta được a = 10 cm và b = 1 cm với ∆a
= ∆b = 0,01 Khi đó ta có δaa =
10
01 , 0
= 0,1%; δab =
1
01 , 0
= 1% hay δab = 10 δaa.Hiển nhiên rằng phép đo a chính xác hơn phép đo b mặc dù ∆a = ∆b
Vậy độ chính xác của phép đo phản ánh qua sai số tương đối
b, Sự thu gọn các số:
Một số thập phân a có dạng tổng quát như sau;
a = ± (βp 10p + βp-1 10p-1 + …+ βp-q 10p-q)
Trang 7Nếu p-q ≥ 0 thì a là số nguyên Nếu p-q = -m (m>0) thì a có phần lẻ gồm
m chữ số Nếu q = +∞ thì a là số thập phân vô hạn
Chẳng hạn:a = 478 = 4.102 + 7.101+ 8.100, ta thấy p-q = 0 nên a = 478 là sốnguyên
a = 597,36= 5.102 + 9.101 +7.100+3.10-1+6.10-2
ở đây p=2, q=4, β2=5, β1=9, β0=7, β-1=3, β-2=6, ta thấy p-q = -2 nên a = 597,36 là
số thập phân có phần lẻ gồm 2 chữ số
Thu gọn a là vứt bỏ đi một số các chữ số hàng bên phải trong biểu diễn của
a để được một số gần đúng a gọn hơn nhưng vẫn đảm bảo độ chính xác cầnthiết
Quy ước: nếu chữ số đầu tiên bỏ đi tính từ bên phải qua có giá trị lớn hơnhoặc bằng 5 thì khi thu gọn ta tăng thêm vào chữ số cuối cùng giữ lại 1 đơn vị,nếu nhỏ hơn 5 thì giữ nguyên Trong trường hợp chữ số đầu tiên 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ênnếu nó là số chẵn và tăng thêm 1 đơn vị nếu là số lẻ (tính toán với số chẵn thuậnlợi hơn)
Ví dụ 3: Thu gọn đến 2 chữ số sau dấu phẩy với các số sau:
; b= 0,085 (± 0,003) ; c= 154 (±2%)
Trang 8Trong các bảng số thường chỉ giữ lại các chữ số chắc, tức là các số mà chữ
số cuối cùng được giữ lại có bậc tương ứng sai số tuyệt đối theo quy tắc làm tròn
số (ở đây không đưa ra định nghĩa chính xác của chữ số chắc)
2 Sai số tính toán
Trong tính toán ta thường gặp 4 loai sai số sau:
+ Sai số giả thiết – Do mô hình hóa, lý tưởng hóa các bài toán thực tế Sai số nàykhông loại trừ được
+ Sai số phương pháp – Các bài toán thường gặp rất phức tạp, không thể giải đúng được mà phải sử dụng các phương pháp gần đúng Sai số này sẽ được nghiên cứu cho từng phương pháp cụ thể
+ Sai số các số liệu – Các số liệu thường thu được bằng thực nghiệm do đó có saisố
+ Sai số tính toán – Các số vốn đã có sai số, còn thêm sai số thu gọn nên khi tínhtoán sẽ xuất hiện sai số tính toán
Giả sử ta phải tính đại lượng y theo công thức y = f (x1,…,xn)
Giả sử hàm f là hàm số khả vi liên tục theo tất cả các biến xi thì:
i
i x
x
Trang 9) (
i
1
) ( ' ∆xi =∆x1 +…+ ∆xn =
Trang 10∆y= 2
2
1 2 2
1
x
x x x
Cần tính ∆xi để ∆y ≤ , ( <0) cho trước
Theo công thức tổng quát của sai số tính toán ta phải có:
Trang 12được gọi là sai phân cấp 2 của f(x) tại x.
Tương tự: ∆nf= ∆(∆n-1f) được gọi là sai phân cấp n
Giả sử f(x) được cho bằng bảng tại các giá trị cách đều của đối số: f(xi),
Nhận xét: bắt đầu từ cột 3 mỗi phần tử bằng hiệu của 2 phần tử dòng dưới
và dòng trên của cột liền trước
Chẳng hạn: ∆f-3= f-2 – f-3
b, Các tính chất:
Trang 131
) (
i C f x n i h
1
) ).
( ( ) 1 (
2 Một số công thức nội suy sử dụng sai phân
Giả sử hàm y = f(x) dưới dạng bảng yi = f(xi) tại các mốc xi cách đều:
xi+1 – xi = h = const (i≥0)Mốc nội suy được sắp xếp theo thứ tự: x0<x1<…<xn
Ta tìm đa thức nội suy dưới dạng:
Đây là công thức nội suy Newtơn tiến
Mốc nội suy sắp theo thứ tự xn>xn-1>…>x0
Trang 15§3.PHƯƠNG TRÌNH VI PHÂN THƯỜNG
1 Một số khái niệm
Phương trình vi phân thường bậc n là một hệ thức có dạng:
F(x,y,y’,y”,…,y(n)) =0 ; (1.4)Trong đó: x là biến độc lập, y là hàm số cần tìm
y’,y”,…,y(n) là các đạo hàm của hàm số y (y là hàm số của x)
Cấp của phương trình là đạo hàm cấp cao nhất có mặt trong phương trình.Hàm số y = (x) được gọi là nghiệm của phương trình (1.4) nếu thay
y = (x), y’=’(x),…, y(n)=(n)(x) vào (1.4) thì (1.4) trở thành đồng nhất thức.Hàm số y=(x,c) thỏa mãn (1.4) khi (x,y) chạy khắp D, với mọi c R
2 Một số phương trình vi phân đã biết cách giải
a, Phương trình vi phân có biến số phân li:
x M
dx + (( ))
1
2
y N
y N
dy =0(M2(x).N1(y) 0)
b, Phương trình vi phân cấp 1 thuần nhất:
y’=f( x y ) Giả thiết hàm số xác định với mọi x 0.Để giải phương trình này tađặt u= x y , sau đó đưa về việc giải phương trình vi phân có biến số phân li
Trang 16c Phương trình vi phân tuyến tính cấp 1
+) αf) = α.∆=1: phương trình tuyến tính thuần nhất cấp 1
+) αf) = α.∆=0: phương trình tuyến tính không thuần nhất cấp 1
+) αf) = α.∆0, αf) = α.∆1: ta chia cả 2 vế của phương trình cho yαf) = α.∆
Sau đó, đặt z=y1-αf) = α.∆ và đưa về phương trình tuyến tính không thuần nhất
e, Phương trình vi phân toàn phần:
Dạng tổng quát: P(x,y) dx + Q(x,y) dy =0 ; (1.5)
trong đó: P(x,y), Q(x,y) là các hàm số liên tục cùng với các đạo hàm riêng trênmiền đơn liên D và thỏa mãn: Q’x(x,y) =P’y(x,y) trên D
Nếu D=R2, giả sử (x0,y0) D thì tích phân tổng quát của (1.5) là:
u(x,y) = P x x dx
x
x
) , ( 0
0
) ,
x
x
dx y x P
0
) ,
y
y
dy y x Q
0
) , ( 0
f, Phương trình vi phân đưa được về dạng phương trình thuần nhất cấp 1.
a
c by ax
; (1.6)Nếu c=c1=0 thì (1.6) là phương trình thuần nhất cấp 1
Nếu c0, c10,
b
b a a
0
Trang 17y y
x x
, (αf) = α.∆,β _const).const)
3 Định lí Pica – Lindolov (định lí tồn tại và duy nhất nghiệm)
Giả sử hàm f(x,y) xác định và liên tục trong miền G:
G =(x,y) : x x0 a, y y0 bđồng thời thỏa mãn điều kiện Lipsit theo biến y Khi đó, tồn tại một dãy nghiệmgần đúng của phương trình dx dy =f(x,y) trên đoạn [x0-h, x0+h] và dãy nghiệm này
là các hàm liên tục hội tụ đều đến nghiệm duy nhất của phương trình đã cho vàthỏa mãn điều kiện ban đầu
y(x0)=y0, h= min
0
)) ( , ( 0
2(x)=y0 +
x
x
dt t t f
0
)) ( , ( 1 ; (1.7)
f
0
)) ( , ( 1
Dãy hàm {n(x)} gọi là nghiệm gần đúng của phương trình đã cho.Ta sẽchứng minh dãy {n(x)} hội tụ đều
Gọi (x) là nghiệm đúng của phương trình, ta có:
(x)= y0 +
x
x
dt t t f
0
)) ( , (
Đặt ωn(x)= (x) n(x) , ta có:
Trang 180 ) (
0 ) (
0
)) ( , (
0
)) ( , (
Trang 20Chương 2 MỘT SỐ PHƯƠNG PHÁP GIẢI GẦN ĐÚNG
x0 < x1 < … < xn= x0 +a, bằng phương pháp đơn giản sau:
Theo công thức Taylor, ta có:
y(xi+1) = y(xi) + (xi+1 – xi).y’(xi) +
! 2
Nếu ta chia đoạn [ x0, x0+a ], thành n phần bằng nhau sao cho khoảng cáchgiữa chúng càng bé thì ta có thể bỏ qua số hạng cuối cùng trong khai triển (2.1)
và khai triển (2.1) chỉ còn: y(xi+1) = y(xi) + (xi+1 – xi).y’(xi) ; (2.2)
Công thức (2.2) cho ta tính được các giá trị yi (i=1,…,n)
Ta đặt như sau: xi+1 – xi = h ; (i = 1,…,n-1), do đó:
yi+1 = yi + hf(xi, yi) ; (2.3)Nối liền các giá trị yi bằng những đoạn thẳng ta được một đường gấp khúcgọi là đường gấp khúc Euler Thực chất của phương pháp Euler là việc thay cácđạo hàm ở các mốc xi bằng các tỷ số sai phân cấp 1 của y (cho y = f(x) xác địnhtrên tập X, h>0, h = const, số gia ∆f = f(x+h) – f(x)gọi là sai phân cấp 1 của f(x)tại x)
Nhận xét: từ lí luận trên, ta thấy nếu n càng lớn thì đường gấp khúc nàycàng gần đường cong tích phân nhưng nếu càng tăng n thì khối lượng tính toán
Trang 21Ví dụ 4 Tìm các nghiệm gần đúng của phương trình sau bằng phương pháp
Để nâng cao độ chính xác của nghiệm gần đúng thông thường không trựctiếp dùng công thức (2.3) mà dùng phương pháp Euler dưới dạng cải tiến
2 Phương pháp Euler cải tiến
Nhược điểm của phương pháp Euler là ở chỗ trong ∆yi chỉ tính đến giá trịđạo hàm ở điểm (xi,yi); ∆yi= hf(xi,yi) mà không chú ý đến sự thay đổi của đạohàm (tức là của hàm f(x,y) trong [xi, xi+1])
Trang 22Hình 1:
Ở hình 1, ta thấy hai đường cong tích phân có giá trị khác nhau khá xa tại
điểm xi+1 nhưng vì chúng có cùng giá trị yi, y’i nên bằng công thức Euler (2.3), ta
thu được cùng một giá trị gần đúng yi+1
Từ nhận xét đó, ta thấy rằng trong khoảng nào mà hàm số f(x,y) thay đổi
nhiều và không tuyến tính thì sai số mắc phải sẽ lớn Để tránh bớt nhược điểm
đó, ta có thể rút ngắn bước (xi+1 – xi) ở phần nào f(x,y) thay đổi nhiều nhưng như
thế phải tăng khối lượng tính toán, đồng thời sai số tích lũy sẽ lớn lên Phương
pháp hình thang hay còn gọi là phương pháp Euler – Côsi giúp ta tránh bớt được
những nhược điểm trên
Trong công thức số gia giới nội Lagrăng:
yi+1= yi + hf(i,y ( i) ; xi ≤ i≤ xi+1 ; (2.4)
ta có thể thay: f(i,y( i)
2
) , ( ) , (x i y i f x i1 y i1f
Trang 23Trong các giá trị của ∆yi = 2h [f(xi,yi) + f(xi+1,yi+1)] có tham giá trị chưa biết
yi+1, ta có thể thay giá trị đó bằng yi+1 nhận được từ công thức Euler (2.3) Vì vậycông thức (2.4) có dạng như sau:
)]
, ( ) , ( [
*
* 1 1
i i i
i
i i i
i i
i
y x hf y y
y x f y x f y y
; (2.5)Tổng quát hơn, ta có thể dùng công thức lặp đơn:
)]
, ( ) , ( [ 2
* 1 )
0 ( 1
* 1 )
( 1
i i i
i i
i i i
i i
m i
y x hf y y
y
y x f y x f h y y
Quá trình lặp được dừng ở bước m nào đó mà các giá trị thu được ( m 1 )
Ví dụ5: Tìm các nghiệm gần đúng của phương trình vi phân sau bằng phương
pháp Euler cải tiến: y’= 32x y2 ; y(0) = 1; x [0;0,5] ; chọn h = 0,1
Trang 24§2 PHƯƠNG PHÁP RUNGE – KUTTA
Phương pháp này lần đầu tiên được Runge đề ra, sau đó được Kutta vàHâynơ cùng các nhà toán học khác hoàn chỉnh
Xét bài toán Côsi:
) (
; )
(
) ( );
, ( '
2 0 0
1
A y x
y
A y x f y
Xuất phát từ giá trị ban đầu y0 tìm giá trị gần đúng y1 tại điểm x0 + h= x1
theo công thức y1= y0 + ∆y0= y0 +h[r1f(ξ1,η1) + … + rmf(ξm,ηm)] ;(2.6), trong đó:
ξi= x0 + aih ; ηi =y0 + βi1k1(h) + βi2k2(h) + … + βiiki(h) ; (2.7)
αf) = α.∆i, βij, ri là những hằng số
αf) = α.∆1 = 0, ki(h) = hf(ξi,ηi) ; (2.8)Các hằng số αf) = α.∆i, βij, ri được chọn sao cho khai triển Taylor của nghiệm
n
y + …, và biểu thức(2.6) trùng nhau tới một số số hạng càng nhiều càng tốt với hàm f và bước h tùy
1
; (2.9)thỏa mãn các biểu thức sau đây:
) ( ( 1 ) 1
, 0 < ξ < h ; (2.10)Điều kiện m(0)= 0 luôn được thỏa mãn Bây giờ ta xét các điều kiện cònlại: (l) ( 0 )
m
= 0 Từ (2.9), ta có:
Trang 25i k r
1 ) ( 0 ) ; l= 1,2,…,s ; (2.11)
Từ (A1) & (A2), ta có:
0 0 0
'
0 f(x ,y ) f
y
y f f
x f y
"
y
f y
f f x
f y
f f x
f y
2 ''
0 2
……
Mặt khác từ (2.8), ta suy ra:
) , ( ).
(
) , ( )
'
i i i
i i
y
h x
h f
k i
y
f h f
y
h x
h f
y
h x
h
i i
i i
i i
i i
i i
(
) , ( ) (
2 )
2 '
2 2 2
y y
x x
2 2
y
f y x
3 2 2
3 3
3
3 3
y
f y x
f y x
m k
k m
y x f C
Trang 26D(u+v)=Du + Dv
D(uv)= vDu + uDv
D(Du)= D2u + u y Du
Ta có: y’= f ; y’’=Df ; y’’’= D(Df)= D2f + y f Df ; … ; (2.12)
Với giá trị m cố định ta được hệ phương trình để xác định các hằng số αf) = α.∆i, βij, ri
Xét một vài trường hợp thường dùng sau:
1 Trường hợp m=1
Từ (2.9) suy ra: 1(h)= y(x0 + h) – y(x0) – r1k1 = y(x0+h) – y(x0) – r1.hf(x0,y0)
( 0 ) ( , ) ' ( 1 1)
0 0 0 1
' 0
∆y0= y(x0+h) – y(x0)= hf(x0,y0) ; (2.13)Sai số mắc phải tính theo công thức (2.10) là:
R1(h)= ( ) 0 ( )
2
2 ''
2
h y
h
; (nếu y’’ giới nội)
Ta được công thức Euler quen thuộc và ước lượng sai số của nó
2 Trường hợp m= 2
Theo (2.9):
) (
) ( )
(x0 h y0 h r1f x0 y0 r2f x0 h y0 21k1
y
) 1
( )]
0 ( )
0 ( [ )
0
2 2
' 1 1
' 0