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

Phương pháp tính giải phương trình vi phân

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 (1.12 MB, 51 trang )

-1-

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-2-

MỤC LỤC
Mục lục ................................................................................................................... 1
Lời cảm ơn .............................................................................................................. 3
Mở đầu .................................................................................................................... 4
Chương 1. Kiến thức chuẩn bị ............................................................................ 6
1.1. Phát biểu bài toán Cauchy .......................................................................... 6
1.1.1. Mở đầu .............................................................................................. 6
1.1.2. Bài tốn Cauchy của phương trình vi phân cấp một ........................ 6
1.2. Định lý tồn tại và duy nhất nghiệm ............................................................ 6
1.2.1. Phương pháp xấp xỉ Picard............................................................... 6
1.2.2. Sự tồn tại và duy nhất nghiệm .......................................................... 7
Chương 2. Các phương pháp giải gần đúng nghiệm của phương trình vi phân
thường ..................................................................................................................... 10
2.1. Phương pháp chuỗi Taylor ......................................................................... 10
2.1.1. Mô tả phương pháp............................................................................ 10
2.1.2. Thí dụ................................................................................................. 11
2.2. Phương pháp xấp xỉ liên tiếp Picard ........................................................... 12
2.2.1. Mô tả phương pháp............................................................................ 12
2.2.2. Thí dụ................................................................................................. 12
2.3. Phương pháp Euler ..................................................................................... 13
2.3.1. Mở đầu ............................................................................................... 13
2.3.2. Xây dựng cơng thức tính ................................................................... 13


2.3.3. Sự hội tụ và sai số .............................................................................. 14
2.4. Phương pháp hình thang ............................................................................. 16
2.5. Phương pháp Runge-Kutta ......................................................................... 18
2.6. Phương pháp Heun ..................................................................................... 23
2.6.1. Quy tắc hình thang............................................................................. 23
2.6.2. Phương pháp Heun ............................................................................ 24
2.7. Phương pháp dự báo – hiệu chỉnh .............................................................. 25
2.7.1. Mở đầu ............................................................................................... 25
2.7.2. Phương pháp Adams – Bashforth – Moulton .................................... 26
2.7.3. Dự báo – hiệu chỉnh theo Milne – Simpson ...................................... 26
Chương 3. Phương trình vi phân và phần mềm MATLAB .............................. 28
3.1. Giới thiệu sơ lược về MATLAB ................................................................ 28
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-3-

3.2. Giải phương trình vi phân bằng MATLAB ................................................ 29
3.3. Giải gần đúng phương trình vi phân bằng MATLAB ................................ 30
3.3.1. Phương pháp chuỗi Taylor ................................................................ 30
3.3.2. Phương pháp xấp xỉ liên tiếp Picard .................................................. 32
3.3.2.1. Thuật toán ................................................................................. 32
3.3.2.2. Viết chương trình MATLAB .................................................... 32
3.3.2.3. Nhận xét.................................................................................... 33
3.3.3. Phương pháp Euler ............................................................................ 33
3.3.3.1. Thuật toán ................................................................................. 33
3.3.3.2. Viết chương trình MATLAB .................................................... 33
3.3.3.3. Nhận xét.................................................................................... 36

3.3.4. Phương pháp Runge-Kutta ................................................................ 36
3.3.4.1. Thuật tốn ................................................................................. 36
3.3.4.2. Viết chương trình MATLAB .................................................... 37
3.3.4.3. Nhận xét.................................................................................... 39
3.3.5. Phương pháp Heun ............................................................................ 39
3.3.5.1. Thuật tốn ................................................................................. 39
3.3.5.2. Viết chương trình MATLAB .................................................... 39
3.3.5.3. Nhận xét.................................................................................... 42
3.3.6. Phương pháp Adams – Bashforth – Moulton .................................... 42
3.3.6.1. Thuật tốn ................................................................................. 42
3.3.6.2. Viết chương trình MATLAB .................................................... 42
3.3.6.3. Nhận xét.................................................................................... 45
3.3.7. Dự báo – hiệu chỉnh theo Milne – Simpson ..................................... 45
3.3.7.1. Thuật toán ................................................................................. 45
3.3.7.2. Viết chương trình MATLAB.................................................... 46
3.3.7.3. Nhận xét.................................................................................... 48
Kết luận ............................................................................................................... 49
Tài liệu tham khảo ................................................................................................. 50

KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-4-

LỜI CẢM ƠN
Sau một thời gian học tập và nghiên cứu dưới sự hướng dẫn và chỉ bảo tận tình
của thầy giáo ThS. Trần Nhân Tâm Quyền, đến nay khóa luận tốt nghiệp của em đã
được hoàn thành.

Em xin bày tỏ sự biết ơn chân thành đến Ban Giám Hiệu trường Đại Học Sư
Phạm - Đại Học Đà Nẵng, Ban chủ nhiệm khoa Toán, đã tạo cơ hội cho em được làm
khóa luận tốt nghiệp. Em xin gửi lời cảm ơn sâu sắc đến tất cả các thầy cô giáo trong
nhà trường. Đặc biệt là các thầy cô giáo trong khoa Tốn đã tận tình chỉ dạy, truyền
đạt cho em những kiến thức bổ ích và quí báu trong suốt bốn năm học vừa qua. Xin
cảm ơn sự giúp đỡ, chia sẽ của tất cả các bạn trong lớp trong thời gian bốn năm học tại
trường cũng như để hoàn thành khóa luận của mình.
Cuối cùng em xin chân thành cảm ơn thầy ThS. Trần Nhân Tâm Quyền - người
đã trực tiếp hướng dẫn em, luôn quan tâm, động viên chỉ dẫn tận tình để em hồn
thành khóa luận này.
Tuy đã có nhiều cố gắng song khóa luận vẫn khơng tránh khỏi những thiếu sót về
nội dung lẫn hình thức trình bày, em rất mong nhận được sự đóng góp của q thầy cơ
và bạn đọc.
Em xin chân thành cảm ơn !

Đà Nẵng, tháng 05 năm 2012
Sinh viên thực hiện

Nguyễn Đình Huy

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-5-

MỞ ĐẦU
Các bài toán thực tế (trong thiên văn, đo đạc ruộng đất,…) dẫn đến việc cần phải
giải các phương trình vi phân. Tuy nhiên, các phương trình này thường phức tạp, do đó

nói chung khó có thể giải được (đưa được về các phương trình cơ bản) bằng các biến
đổi đại số. Hơn nữa, vì các cơng thức nghiệm của phương trình vi phân thường phức
tạp, cồng kềnh, nên cho dù có cơng thức nghiệm, thì việc khảo sát các tính chất
nghiệm thơng qua cơng thức cũng vẫn gặp phải rất nhiều khó khăn. Vì vậy, ngay từ
thời Archimedes, các phương pháp giải gần đúng đã được xây dựng. Nhiều phương
pháp (phương pháp Euler và phương pháp Runge-Kutta giải phương trình vi phân) đã
trở thành kinh điển và được sử dụng rộng rãi trong thực tế.
Cùng với sự phát triển của công cụ tin học, các phương pháp giải gần đúng lại
càng có ý nghĩa thực tế lớn. Để giải một phương trình vi phân bằng tay trên giấy, có
khi phải mất hàng ngày với những sai sót dễ xảy ra, thì với việc dùng các phần mềm
hỗ trợ giải tốn trong máy tính ta chỉ cần vài phút. Tuy nhiên, việc thực hiện các tính
tốn tốn học trên các phần mềm tính tốn của máy tính một cách dễ dàng càng địi hỏi
người sử dụng có hiểu biết sâu sắc hơn về lý thuyết toán học. Mặt khác, nhiều vấn đề
lý thuyết như độ chính xác, độ phức tạp tính tốn,… sẽ được soi sáng hơn trong thực
hành tính tốn cụ thể. Vì vậy, việc sử dụng thành thạo các phần mềm tính tốn trên
máy tính là cần thiết cho mọi đối tượng là học sinh, sinh viên,…Phần mềm tính tốn sẽ
hỗ trợ đắc lực cho việc tiếp thu các kiến thức lý thuyết, giảng dạy lý thuyết gắn liền
với thực hành tính tốn, sẽ giúp học sinh, sinh viên không chỉ tiếp thu tốt hơn các kiến
thức khoa học, mà còn tiếp cận tốt hơn với các phương pháp và phần mềm tính tốn
hiện đại.
Nói chung, trong các trường đại học hiện nay, việc gắn giảng dạy lý thuyết với
tính tốn thực hành cịn chưa được đẩy mạnh. Điều này hồn tồn khơng phải vì thiếu
cơng cụ tính tốn (phần mềm tính tốn tốn học), mà có lẽ việc phổ biến cách sử dụng
các phần mềm tính tốn cịn ít được quan tâm.
Với mục đích minh họa khả năng sử dụng các phần mềm tính tốn tốn học trong
dạy và học mơn Giải tích số, tác giả đã chọn đề tài luận văn “Phương pháp tính giải
phương trình vi phân”
Trong khóa luận tốt nghiệp này tác giả sẽ trình bày lý thuyết về một số phương
pháp giải phương trình vi phân. Từ đó, dựa vào phần lý thuyết tác giả dùng phần mềm
MATLAB để giải các bài tốn.

Khóa luận gồm ba chương:
Chương 1: Trình bày sơ lược về bài toán Cauchy, và sự tồn tại duy nhất nghiệm
của bài tốn Cauchy.
Chương 2: Trình bày phần lý thuyết về các phương pháp giải gần đúng phương
trình vi phân thường.
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-6-

Chương 3: Giới thiệu phần mềm hỗ trợ dùng để giải phương trình vi phân thường
và vẽ đồ thị hàm số so sánh kết quả thực nghiệm với kết quả chính xác - phần mềm
Matlab.
Có thể coi các chương trình viết trên phần mềm MATLAB trong luận văn là các
chương trình mẫu để giải bất kì bài tốn Cauchy nào với các phương pháp khác nhau.
Vì vậy, khi chúng ta cần giải bài tốn Cauchy nào đó thì ta chỉ cần nhập bài toán và
các điều kiện cần giải. Điều này đã được tác giả thực hiện trên nhiều bài tốn cụ thể.

CHƯƠNG 1
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-7-

KIẾN THỨC CHUẨN BỊ
Trong chương này tơi sẽ trình bày về phát biểu của bài tốn Cauchy cho phương

trình vi phân thường. Định lí tồn tại và duy nhất nghiệm cũng được nói đến ở đây
nhằm thuận tiện cho việc trình bày các mục sau này.
1.1 Phát biểu bài tốn Cauchy
1.1.1 Mở đầu
Bài toán Cauchy là bài toán về phương trình vi phân thường, với điều kiện bổ
sung được cho tại khơng q một điểm.
1.1.2. Bài tốn Cauchy của phương trình vi phân cấp một
Cho khoảng  x0 , X  . Tìm hàm số y  y( x) xác định trên  x0 , X  và thỏa mãn

y  f ( x, y) , x0  x  X ,

(1.1)

y(x0 )  y0 .

(1.2)

Trong đó f ( x, y) là một hàm số đã biết của hai đối số x , y , còn y0 là một số thực
cho trước. Điều kiện (1.2) gọi là điều kiện Cauchy hay điều kiện trị ban đầu.
Thí dụ: Bài tốn

y  y 

2x
,
y

y (0)  1 .
1.2 Định lí tồn tại và duy nhất nghiệm
1.2.1 Phương pháp xấp xỉ Picard

Ta xét bài tốn Cauchy đối với phương trình cấp một dạng giải ra được đối với
đạo hàm:

y  f ( x, y) , y( x0 )  y0 .
trong đó f xác định và liên tục trên miền mở D 

.

Giả sử y ( x) là nghiệm của bài toán Cauchy (1.1) (1.2), tích phân hai vế của
phương trình trong (1.1) (1.2) ta được phương trình tích phân đối với y ( x) là
x

y( x)  y0   f (t, y(t ))dt .

(1.3)

x0

Rõ ràng mỗi nghiệm của (1.1) (1.2) cũng là nghiệm của (1.3) và ngược lại, mỗi
nghiệm của (1.3) đều khả vi liên tục trên một khoảng I nào đó và thỏa phương trình
(1.1) (1.2).
Phép lặp Picard – Lindelof
Về mặt tốn tử, nghiệm của phương trình tích phân (1.3) chính là lời giải của bài
tốn điểm bất động của các ánh xạ co trong không gian metric đầy đủ (ở đây ta xét
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-8-


không gian các hàm khả vi liên tục trên đoạn I nào đó) mà lời giải có thể cho bởi
phương pháp xấp xỉ liên tiếp Picard – Lindelof sau đây.
Xét các hàm xác định một cách đệ qui bởi

y0 (x)  y0 ,
x

yk 1 ( x)  y0   f (t, yk (t ))dt , với k 

.

(1.4)

x0

Bổ đề 1.1 Giả sử f liên tục trên hình chữ nhật
D = {(x, y) 

/ |x – x0|  a, |y – y0|  b}.

Đặt M : max f ( x, y) và h : min(a,
( x, y )D

b
) . Khi đó với mọi x  I :  x0  h, x0  h , ta
M

có:


yk ( x)  y0  b , với mọi k .
Nói cách khác, trong phép lặp (1.4) các hàm yk không đi ra khỏi phần hình chữ nhật

D , ứng với x  I .
Chứng minh: Ta có, với x0  h  x  x0  h :

yk  y0 

x

x

x0

0

 f (t, yk 1(t))dt  x

f (t, yk 1(t )) dt  M x  x0  Mh  b .

1.2.2 Sự tồn tại và duy nhất nghiệm
Trong phần này tôi sẽ phát biểu và chứng minh định lí cơ bản của lý thuyết
phương trình vi phân, khẳng định sự tồn tại và duy nhất nghiệm của bài toán Cauchy.
Định nghĩa 1.2 Cho hàm f ( x, y) xác định trên miền D 
. Ta nói f thỏa điều
kiện Lipschitz theo biến y trên D nếu tồn tại hằng số dương L (gọi là hằng số
Lipschitz) sao cho:

f ( x, y1)  f ( x, y2 )  L y1  y2 , với mọi ( x, y1) , (x, y2 )  D .
Nhận xét: Điều kiện Lipschitz là yếu hơn so với điều kiện giới nội của đạo hàm riêng


f
f
f
trên D . Thật vậy, giả sử
liên tục và
 L . Khi đó, áp dụng định lí Lagrange
y
y
y
cho hàm f ( x, y) theo biến y ta được

f ( x, y1)  f ( x, y2 )  ( y1  y2 )

f
 x, y   ( y2  y1)  .
y  1

Từ đó suy ra điều kiện Lipschitz.
Định lí 1.2 (Định lí tồn tại và duy nhất nghiệm). Giả sử hàm số f ( x, y) trong (1.1)
liên tục và thỏa mãn điều kiện Lipschitz theo biến y trên hình chữ nhật
D = {(x, y) 
KHĨA LUẬN TỐT NGHIỆP

/ |x – x0|  a, |y – y0|  b}.
SVTH: NGUYỄN ĐÌNH HUY


-9-


Khi đó nghiệm của bài tốn Cauchy (1.1) (1.2) là tồn tại duy nhất trong đoạn
b
I :  x0  h, x0  h , với h : min(a, ) và M : max f ( x, y) .
( x, y )D
M
Chứng minh: Chứng minh chia làm hai bước:
Sự tồn tại: Ta chứng minh rằng phép lặp Picard hội tụ đều trên I đến một nghiệm của
bài toán Cauchy. Trước tiên ta chứng minh bằng quy nạp rằng
k 1

x  x0
, với mọi x  I .
yk 1 ( x)  yk ( x)  M .L
(k 1)!
k

Với k  0 , bất đẳng thức trên chính là

x

 f (t, y0 (t))dt  M x  x0 , bất đẳng thức này

x0

đúng.
Giả sử ta có điều đó với k 1 , khi đó với x0  x  x0  h ta có:

yk 1 ( x)  yk ( x) 

x


  f (t, yk (t))  f (t, yk 1(t)) dt

x0
x

x

x0

x0

  f (t, yk (t ))  f (t, yk 1(t )) dt  L  yk (t )  yk 1(t ) dt
x

 L  yk (t )  yk 1 (t ) dt
x0

 ML

k

x



x0

k 1


x  x0
x  x0
dt  MLk
,
k!
(k  1)!
k

(với x0  h  x  x0 ta đánh giá tương tự).
Xét dãy hàm  yk ( x) trên I ta có:

yk  p (x)  yk (x)  yk  p (x)  yk  p1(x)  yk  p1(x)  yk  p2 (x)  ...  yk 1(x)  yk (x)









k 1 
 L x  x k p
L
x

x
M
0
0


 
 ... 

L  (k  P)!
(k 1)! 





M
L

( Lh) j
 j! .
j k 1

( Lh) j
Chuỗi số  j 0
là hội tụ, nên phần dư của nó (xuất hiện trong biểu thức cuối
j!


cùng) có thể làm cho bé tùy ý khi k đủ lớn. Theo tiêu chuẩn Cauchy, dãy  yk ( x) hội
tụ đều trên I đến hàm y ( x) . Để chứng minh y ( x) là nghiệm ta chỉ cần qua giới hạn
trong đẳng thức
KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY



-10x

yk 1 ( x)  y0   f (t, yk (t ))dt .
x0

Vì dãy hàm  yk ( x) hội tụ đều, f liên tục đều trên hình chữ nhật D nên dãy hàm

 f (t, yk (t))

hội tụ đều trên I đến hàm f (t , y(t )) . Do đó có thể chuyển giới hạn qua

dấu tích phân để được đẳng thức (1.3). Vậy y ( x) chính là nghiệm của bài tốn Cauchy
(1.1) (1.2).
Tính duy nhất
Giả sử bài tốn Cauchy (1.1) (1.2) cịn có nghiệm z ( x) , khi đó ta có
x

y( x)  z( x)    f (t, y(t ))  f (t, z(t ))  dt .
x0

Suy ra

y( x)  z( x) 

x

  f (t, y(t))  f (t, z(t)) dt  2M x  x0 .


x0

Từ đó

x  x0
.
y( x)  z( x)    f (t, y(t ))  f (t, z(t )) dt  L  y(t )  z(t ) dt  2ML
2
x0
x0
x

2

x

Lặp lại quá trình trên, ta dễ dàng chứng minh được rằng với mọi số tự nhiên k :
k 1

x  x0
, với mọi x  I .
y( x)  z( x)  2ML
(k 1)!
k

Cho k   ta có y( x)  z( x)  0 trên I . Như vậy, một cách địa phương, nghiệm

y ( x) là duy nhất.

CHƯƠNG 2


KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-11-

CÁC PHƯƠNG PHÁP GIẢI GẦN ĐÚNG
NGHIỆM CỦA PHƯƠNG TRÌNH VI PHÂN
THƯỜNG
Trong lĩnh vực ứng dụng thường gặp rất nhiều bài tốn liên quan đến phương
trình vi phân thường. Việc nghiên cứu nghiệm của phương trình vi phân đóng vai trị
quan trọng trong lý thuyết toán học. Một số trường hợp đơn giản ta có thể tìm được
nghiệm bằng phương pháp cầu phương, cịn nói chung khơng có khả năng tìm được
nghiệm chính xác.
Phương pháp giải gần đúng giúp cho các ngành kỹ thuật giải quyết lớp khá lớn
các bài toán dạng phương trình vi phân. Trong chương này sẽ trình bày một số phương
pháp để tìm nghiệm của phương trình vi phân. Và thơng qua đó để tạo cơ sở lý thuyết
cho việc trình bày thuật tốn cũng như viết chương trình MATLAB ở chương 3.
Việc tìm nghiệm của bài tốn Cauchy thường rất phức tạp, khơng phải lúc nào
cũng đơn giản. Cho nên người ta phải nghiên cứu các phương pháp giải gần đúng
nghiệm. Sau đây ta sẽ trình bày một số phương pháp với giả thiết là:
“Bài toán đặt ra có nghiệm duy nhất và nghiệm đó đủ trơn, nghĩa là nó có đạo hàm đến
cấp đủ cao”
2.1 Phương pháp chuỗi Taylor
2.1.1 Mơ tả phương pháp
Xét bài tốn Cauchy (1.1) (1.2) viết lại là

y  f ( x, y) , x0  x  X ,


(1.5)

y(x0 )  y0 .

(1.6)

Ta tìm nghiệm y ( x) khai triển thành chuỗi Taylor tại x  x0 ,

y( x)  y( x0 ) 

y( x0 )
y( x0 )
yk ( x0 )
( x  x0 ) 
( x  x0 )2  ... 
( x  x0 )k  ...
1!
2!
k!

(1.7)

Bây giờ ta tính các đạo hàm y(k ) ( x0 ) của y tại x0 . Theo (1.6) ta có y( x0 )  y0 .
Sau đó theo (1.5):

y(x0 )  f (x0 , y(x0 ))  f ( x0 , y0 ) .

(1.8)


Muốn tính các đạo hàm tiếp theo ta phải lấy đạo hàm liên tiếp (1.5). Với y

ta

có:

y  ( y)  ( f ( x), y( x)) ,



f
f
( x, y( x))  ( x, y( x)) y( x) .
x
y

(1.9)

Thay x  x0 vào (1.9) và chú ý đến (1.8) và (1.6) ta được :
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-12-

y( x0 ) 

f
f

( x0 , y0 )  ( x0 , y0 ) f ( x0 , y0 ) .
x
y

Một cách tương tự, để tính y( x0 ) trước hết ta phải lấy đạo hàm (1.9), sau đó
thay x  x0 . Và cứ thế tiếp tục.
Về nguyên tắc, nếu f có đạo hàm riêng cấp bất kì thì có thể tính được tất cả các
đạo hàm y(k ) ( x0 ) và do đó ta xây dựng được chuỗi (1.7).
Với x khá gần x0 tức là x  x0 đủ bé người ta chứng minh được rằng chuỗi (1.7)
hội tụ về nghiệm của bài toán (1.5) (1.6). Lúc đó tổng của n số hạng đầu của (1.7) tức
là tổng riêng thứ n , Sn ( x) của chuỗi (1.7) là nghiệm xấp xỉ của bài toán (1.5) (1.6),
mức độ chính xác phụ thuộc n , nó càng cao nếu n càng lớn.
2.1.2 Thí dụ
Xét bài tốn

y 

y
,
x y

(1.10)

y (1)  2 .

(1.11)

Đầu tiên ta tìm nghiệm có dạng chuỗi Taylor (1.7). Theo (1.11) ta có x0  1 ,

y(x0 )  y(1)  2 .

Ta suy ra:

y(1) 

2
2
 .
1 2 3

Sau đó lấy đạo hàm (1.10):
 y  ( x  y) y  y( x  y) xy  y
.

 
2
2
x

y
(
x

y
)
(
x

y
)




y  
Ta suy ra

y(1) 

4
.
27

Một cách tương tự ta tính được y(1) 

4
,….Thay các kết quả đó vào (1.7) ta
27

được

2
2
2
y( x)  2  ( x 1)  ( x 1)2  ( x 1)3  ...
3
27
81
Bây giờ ta có thể dùng cơng thức này để tính gần đúng y0 ( x)  1 tại x  1,1 chẳng
hạn, vì 1,1 1  0,1 bé nên ta bỏ qua các số hạng…ở cuối và thu được

2

27
2
y(1.1)  2  .0,1 .(0,1)2  .(0,1)3  2,06584 .
3
2
81
2.2 Phương pháp xấp xỉ liên tiếp Picard
KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-13-

2.2.1 Mơ tả phương pháp
Xét bài tốn Cauchy cấp 1

y  f ( x, y) , y( x0 )  y0 .

(1.12)

Giả sử bài toán tồn tại duy nhất nghiệm trong miền nào đó chứa điểm (x0 , y0 ) .
Nghiệm bài tốn (1.12) tương đương với việc tìm nghiệm của phương trình tích phân
sau:
x

y( x)  y0   f (t, y(t ))dt .

(1.13)


x0

Theo Picard thì tìm nghiệm của bài tốn (1.13) được tìm theo phương pháp như
sau:
x

yn1 ( x)  y0   f (t, yn (t ))dt ,

(1.14)

x0

trong đó y0 có thể chọn là y0 ( x)  y0 .
Theo lý thuyết phương trình vi phân thì nếu hàm f ( x, y) liên tục trong miền

G   x  x0  a; y  y0  b ,
và thỏa mãn điều kiện Lipschitz theo y

f ( x, y)  f ( x, y0 )  L y  y0 ,
thì nghiệm tìm được theo cơng thức (1.14) sẽ hội tụ về nghiệm đúng y ( x) của bài toán



trong miền x  x0  h ; h  min  a,

b 
; M  max f ( x, y) .
( x, y )G
M 


Tốc độ hội tụ đạt tới cấp 0(hn1) .
2.2.2 Thí dụ
Giải bài toán Cauchy sau:

y  x  y , y (0)  1 .
Vì hàm vế phải f ( x, y)  x  y liên tục trong toàn mặt phẳng và thỏa mãn điều kiện
Lipschitz trong lân cận của điểm (0,1) nên bài tốn đã cho có lời giải duy nhất. Bắt
đầu với

y0 (x)  1 ,
và dùng công thức (1.14) ta được
x
1
y1( x)  1  (t 1)dt  1 x  x2 ,
2
0
x

1
y2 ( x)  1  (t  y1(t ))dt  1  x  x2  x3 ,
6
0

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-14x


1
1
y3 ( x)  1  (t  y2 (t ))dt  1 x  x2  x3  x4 ,
3
24
0
x
1
1
1 5
y4 ( x)  1  (t  y3 (t ))dt  1 x  x2  x3  x4 
x ,
3
12
120
0

...........................................................................
Một cách tổng quát, xấp xỉ thứ n cho bởi

1
1 4
xn1
yn ( x)  1  x  x2  x3 
x  ...  (1)n1
.
3
3.4
3.4.5...(n  1)
Trong thí dụ này, nghiệm chính xác là


y(x)  2ex  x 1 .
2.3 Phương pháp Euler
2.3.1 Mở đầu
Phương pháp chuỗi Taylor thuộc loại phương pháp giải tích tức là tìm nghiệm
dưới dạng một chuỗi. Còn phương pháp Euler thuộc loại phương pháp số tức là tìm
nghiệm dưới dạng bảng số.
Trước hết ta chia đoạn  x0 , X  thành n đoạn nhỏ bằng nhau bởi các điểm xi :

xi  x0  ih , i  0,1,..., n ,
h

(1.15)

( X  x0 )
.
n

(1.16)

Ta gọi tập các điểm  xi  là một lưới sai phân trên  x0 , X  , gọi các điểm xi là các nút
của lưới và gọi h là bước đi của lưới. Ở đây h  const nên ta có một lưới đều.
Giả sử y ( x) là nghiệm đúng của bài toán (1.5) (1.6). Mục đích của phương pháp
Euler là tìm cách tính gần đúng giá trị của y ( x) chỉ tại các nút xi mà thôi, chứ không
phải tại mọi x   x0 , X  . Vì xi là nút của một lưới sai phân nên phương pháp Euler
cũng gọi là phương pháp sai phân.
2.3.2 Xây dựng công thức tính
Gọi y ( x) là nghiệm của bài tốn (1.5) (1.6), y( xi ) là giá trị của y( xi ) tại x  xi ,

ui là giá trị gần đúng của y( xi ) mà ta muốn tính. Sau đây ta xây dựng cơng thức tính

ui .
Giả sử đã biết ui tại nút xi và muốn tính ui1 tại nút xi1 . Ta khai triển Taylor
hàm y ( x) tại xi :

y( x)  y( xi )  y( xi )( x  xi ) 

y(ci )
( x  xi )2 ,
2!

ci  xi  (x  xi ) , 0    1.

KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-15-

Thay x  xi1  xi  h , y(xi )  f ( xi , y( xi )) (theo 1.5) vào đẳng thức trên ta được:

h2
(1.17)
y(ci ) .
2
Khi h bé, số hạng cuối ở vế phải có thể xem là bé, khơng đáng kể, ta bỏ qua, sau đó
thay y( xi ) bằng ui ta được công thức:
y( xi 1)  y( xi )  hf ( xi , y( xi )) 

ui1  ui  hi f (xi , ui ) .


(1.18)

Cơng thức này cho phép tính ui1 khi đã biết ui . Điều kiện Cauchy (1.6), y( x0 )  y0 ,
gợi ý ta đặt

u0  y0 .

(1.19)

Bây giờ trong (1.18) cho i  0 ta tính ra u1 , sau đó cho i  1 ta tính ra u2 ,……, cuối
cùng ta tính ra tất cả các ui , với i  1,2,..., n .
Phương pháp tính ui theo cơng thức (1.18) (1.19) gọi là phương pháp Euler.
Ta thấy rằng, với phương pháp Euler việc tính ra ui1 khi đã biết ui rất đơn giản,
không phải giải một phương trình nào dù hàm f ( x, y) là tuyến tính hay phi tuyến đối
với y . Với ý đó ta nói phương pháp Euler là phương pháp hiện.
2.3.3 Sự hội tụ và sai số
Ta gọi ei  ui  y(xi ) là sai số của phương pháp Euler tại xi .

(1.20)

Định nghĩa 2.1 Nếu tại xi xác định, ei  0 khi h  0 tức là ui  y(xi ) khi h  0 thì
ta nói phương pháp Euler hội tụ.
Khi phương pháp Euler hội tụ thì tại xi , ui sẽ đủ gần y( xi ) nếu h đủ bé, nên ui
là giá trị gần đúng của y( xi ) .
Để xét sự hội tụ đó ta có Định lí 2.2 ở dưới.
Định lí 2.2 Giả sử

f
 L,

y

(1.21)

y  K ,

(1.22)

trong đó L , K là những hằng số. Khi đó phương pháp Euler hội tụ và sai số
ei  ui  y(xi ) có đánh giá:

ei  ui  y( xi )  M ( e0   h) ,

K
.
2
Như vậy, sai số ei tại xi phụ thuộc cả sai số ban đầu e0 .
M  e L( xi  x0 ) ,  

(1.23)

Chứng minh. Lấy (1.18) trừ (1.17) vế với vế ta được

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-16-


h2
y(ci ) .
2
Áp dụng công thức Lagrange vào hiệu trong dấu ngoặc vuông :
f
f ( xi , ui )  f ( xi , y( xi ))  ( xi , yi )(ui  y( xi )) ,
y
ei1  ei  h  f ( xi , ui )  f ( xi , y( xi )) 

yi  y(xi ) (ui  y(xi )) , 0    1.
Rồi lấy trị tuyệt đối của hai vế ta thu được :

ei1  ei  h

f
h2
ei 
y .
y
2

Từ đó với giả thiết (1.21) (1.22) ta suy ra:

ei1  (1 Ah) ei  B ,

(1.24)

A  L , B  (K 2)h2 .

(1.25)


Bất đẳng thức này đúng với mọi i , nó cho quan hệ giữa ei và ei1 . Do đó ta có thể suy
ra đánh giá của ei nhờ bổ đề sau:
Bổ đề 2.3 Giả sử ei là những đại lượng phụ thuộc i và thỏa mãn (1.24) trong đó A và

B là các hằng số khơng phụ thuộc i .
Thế thì có:
B
ei  M ( e0  ) ,
Ah

(1.26)

M  e A( xi  x0 ) .

(1.27)

Ta sẽ chứng minh bổ đề 2.3 sau. Bây giờ áp dụng bổ đề này vào (1.24) (1.25) ta
được ngay đánh giá (1.23).
Ở đây : e0  u0  y(x0 )  y0  y0  0 .
Vậy (1.23) cho

ei  ui  y( xi )  M h .

(1.28)

Do đó ei  ui  y( xi )  0 khi h  0 .
Và định lí 2.2 chứng minh xong.
Chứng minh bổ đề 2.3 Bất đẳng thức (1.25) đúng với mọi i , ta suy ra :


ei  (1 Ah) ei 1 ,
ei1  (1 Ah) ei2 ,
ei2  (1 Ah) ei3 ,
.............................

e1  (1 Ah) e0 .
KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-17-

Nhân bất đẳng thức thứ nhất với (1  Ah) , bất đẳng thức thứ hai với (1 Ah)2 ,…,
bất đẳng thức cuối cùng với (1 Ah)i1 , rồi cộng lại ta được:

ei  (1 Ah)i e0  B 1 (1 Ah)  (1 Ah)2  ...  (1 Ah)i1  .
Trong dấu ngoặc vuông là một cấp số nhân cơng bội (1  Ah) , nên có:
ei  (1  Ah)i e0  B

(1  Ah)i 1
.
(1  Ah) 1

(1.29)

Vì (1 Ah)  eAh nên (1 Ah)i  eAih , nhưng ih  xi  x0 , do đó:

(1 Ah)i  e A( xi x0 )  M .
Tại xi xác định, vế phải này là một hằng số. Vậy từ (1.29) ta suy ra kết luận của bổ đề.

2.4 Phương pháp hình thang
Phương pháp này có cơng thức tính

h
ui1  ui   f ( xi , ui )  f ( xi1, ui1) ,
2
u0  y0 .

(1.30)
(1.31)

Muốn thấy điều đó ta giả sử nghiệm y ( x) của bài tốn vi phân (1.5) (1.6) có đạo hàm
đến cấp ba và áp dụng công thức Taylor

F ( x)  F ( x0 )  ( x  x0 )F ( x0 ) 

( x  x0 )2
F ( x0 )  ... 
2!

( x  x0 )n ( n)
( x  x0 )n1 ( n1)

F ( x0 ) 
F
(c) ,
n!
(n  1)!

c  x0  (x  x0 ) , 0    1,

tại xi1 2  xi  h 2 ,
2

h
1h
y( xi1)  y( xi1 2 )  y( xi1 2 )    y( xi1 2 )  O(h3 ) ,
2
2 2
2

h
1h
y( xi )  y( xi1 2 )  y( xi1 2 )    y( xi1 2 )  O(h3 ) .
2
2 2
Ta suy ra:

y( xi 1)  y( xi )  hy( xi 1 2 )  O(h3 ) .

(1.32)

Ta lại có:

h
y( xi1)  y( xi1 2 )  y( xi1 2 )  O(h2 ) ,
2
h
y( xi )  y( xi1 2 )  y( xi1 2 )  O(h2 ) .
2
Ta suy ra:

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-18-

y( xi )  y( xi1)  2 y( xi1 2 )  O(h2 ) .

(1.33)

Khử y( xi1 2 ) khỏi (1.32) và (1.33) ta được

h
y( xi1)  y( xi )   y( xi )  y( xi1)  O(h3 ) .
2
Nhưng vì y ( x) là nghiệm của phương trình vi phân nên

y(xi )  f (xi , y(xi )) , y(xi1)  f (xi1, y(xi1)) .
Bây giờ ta bỏ qua số hạng O(h3 ) ta được

h
 f ( x , y( xi ))  f ( xi1, y( xi1)) .
2 i
và dấu ; bởi dấu  ta được

y( xi1)  y( xi ) ;
Thay y( xi ) bởi ui , y( xi1) bởi ui1

h

ui1 - ui   f ( xi , ui )  f ( xi1, ui1) .
2
Đó là cơng thức (1.30).
Chú ý rằng đối với phương pháp Euler, ở công thức (1.17) ta bỏ qua số hạng
1 2
h y , đó là số hạng vô cùng bé bậc hai đối với h và đã chứng minh được sai số
2
ui  y( xi )  O(h) . Ở đây ta bỏ qua số hạng O(h3 ) là một vô cùng bé bậc ba đối với h
và cũng có thể chứng minh được sai số ui  y( xi )  O(h2 ) .
Vậy phương pháp hình thang có độ chính xác cấp hai, nó là một phương pháp
chính xác cao.
Nhưng khi đã biết ui tại xi ta muốn ui1 tại xi1 ta phải giải phương trình (1.30)
đối với ui1 . Nếu f ( x, y) phi tuyến đối với y thì phương trình đó là một phương trình
phi tuyến. Điều đó khác với ở phương pháp Euler, ta có ngay cơng thức tính ui1 theo

ui mà khơng cần phải giải một phương trình nào. Với ý đó người ta nói phương pháp
hình thang là phương pháp ẩn, còn phương pháp Euler là phương pháp hiện.
(0)
i 1

u

Để giải phương trình (1.30) người ta có thể dùng phương pháp lặp, xấp xỉ đầu
tính bằng phương pháp Euler với bước đi h :

ui(0)
1  ui  hf ( xi , ui ) ,

(1.34)


ui(m11)  ui  h 2  f (xi , ui )  f (xi1, ui(m1 ) ) ,
m  0,1,2....

(1.35)

Quá trình lặp dừng khi:
ui(m1)  ui(m11)    ,



(1.36)

 cho trước.
2.5 Phương pháp Runge – Kutta
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-19-

Một trong những phương pháp số giải phương trình vi phân hiệu quả, thông dụng
và phổ biến nhất trong các bài tốn kĩ thuật là phương pháp Runge-Kutta. Có thể suy
ra các công thức trong phương pháp Runge-Kutta từ công thức xấp xỉ tích phân. Trong
mục này, chúng tơi sẽ trình bày phương pháp Runge-Kutta xuất phát từ qui tắc cầu
phương. Cách làm này cho phép hiểu các phương pháp số giải phương trình vi phân
một cách nhất quán hơn. Để làm được điều này, trước tiên chúng ta nhắc lại quy tắc
cầu phương cơ bản.
Quy tắc cầu phương cơ bản
b


Nội dung cơ bản của quy tắc cầu phương là: Để tính tích phân

a f (t )dt

ta thay

f (t ) bởi một đa thức nội suy. Tích phân của hàm f (t ) trên đoạn a, b được xấp xỉ
bởi tích phân của hàm đa thức (tính được chính xác).
Giả sử ta có s điểm nội suy khác nhau c1, c2 ,..., cs trong khoảng a, b . Đa thức
nội suy Lagrange bậc nhỏ hơn s có dạng:
s

 (t )   f (c j ) L j (t ) ,
j 1

trong đó

Lj (t ) 

(t  c )

s

i
.

(
c


c
i 1,i  j
j
i)

Khi ấy
b

s

a

j 1

 f (t)dt   j f (c j ) .
Các trọng số  j được tính theo công thức:
b

 j   Lj (t )dt .
a

Nếu s  1 thì đa thức nội suy (t)  f (c1) và ta có:
b

a f (t)dt  (b  a) f (c1) .
Ta nói độ chính xác của quy tắc cầu phương là p nếu quy tắc này chính xác cho mọi
đa thức bậc nhỏ hơn p , tức là với mọi đa thức Pk (t ) bậc nhỏ hơn p ta có:
b

s


a

j 1

 Pk (t)dt   j f (c j ) .
Nếu b  a  O(h) thì sai số trong quy tắc cầu phương của độ chính xác p là O(h p1) .
Ta xét một số trường hợp đặc biệt.

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-20-

● Nếu chọn s  1 và c1  a thì ta có cơng thức xấp xỉ tích phân bởi diện tích hình chữ
nhật ABCD (Hình 1.1):
f

O

D

C

a
A

b

B
Hình 1.1

A
b
 f (t)dt  (b  a) f (a) .

x

B
(1.37)

a

Nếu y ( x) là nghiệm của phương trình vi phân (1.1) (1.2) thì:

y( x  h)  y( x) 

xh

x

f (s, x(s))ds .

(1.38)

Kết hợp với công thức (1.37) ta đi đến công thức:

y( x  h)  y( x)  h. f ( x, y( x)) .
Từ đây ta có cơng thức Euler cải tiến:


yn1  yn  h. f (xn , yn ) .
● Nếu chọn s  1 và c1  b thì ta có cơng thức xấp xỉ tích phân bởi diện tích hình chữ
nhật ABEF (Hình 1.2).
f

O

F

E

a
A

b
B

A

Hình 1.2

b

a f (t)dt  (b  a) f (b) .

x

B
B


Từ đây ta có:

y( x  h)  y( x)  h. f ( x  h, y( x  h)) .
Suy ra công thức Euler lùi:

yn1  yn  h. f (xn1, yn1) .
Hai phương pháp Euler tiến và lùi là những phương pháp Runge-Kutta bậc nhất (có độ
xấp xỉ bậc nhất).
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-21-

● Nếu chọn s  2 và c1  a , c2  b thì L1 (t ) 

t b
t a
và L2 (t ) 
.
(b  a)
(a  b)

Suy ra

t b
1 (t  b)2 b b  a
,

dt 
|a 
(
a

b
)
(
a

b
)
2
2
a

b

b

1   L1(t )dt  
a



t a
1 (t  a)2 a b  a
.
dt 
|b 

(
b

a
)
(
b

a
)
2
2
a

b

b

2   L2 (t )dt  
a

f

E
D

O

b
B


a
A
Hình 1.3

A

x

B

Chứng tỏ
b

a f (t)dt 

ba
 f (a)  f (b) .
2 
x h

x

Như vậy nếu xấp xỉ tích phân

f (t, y(t )dt bởi cơng thức trên (bởi diện tích hình

thang ABED ) (Hình 1.3) thì ta được:
x h


x

h
f (t, y(t )dt   f ( x  h, y( x  h))  f ( x, y( x))  .
2

Từ đây ta có cơng thức hình thang:
h
yn1  yn  . f ( xn , yn )  f ( xn1, yn1 ) .
2

a b
thì ta có cơng thức xấp xỉ tích phân bởi diện tích hình
2
chữ nhật ABMN (Hình 1.4):
● Nếu chọn s  1 và c1 

f
N

M
SVTH: NGUYỄN ĐÌNH HUY

KHĨA LUẬN TỐT NGHIỆP

a

b



-22-

Hình 1.4
xh

x

h
h
f (t, y(t )dt  h. f ( x  , y( x  )) .
2
2

Từ đây ta có cơng thức tính giá trị xấp xỉ nghiệm của phương trình vi phân:

h
h
y( x  h)  y( x)  h. f ( x  , y( x  )) .
2
2
Từ cơng thức trên ta có
h
h 

yn1  yn  h.  f ( xn  , y( xn  )) .
2
2 

Công thức này được gọi là phương pháp điểm giữa.
Phương pháp điểm giữa và phương pháp hình thang là hai phương pháp ẩn, chúng có

độ chính xác p  2 .

a b
, c3  b thì, đặt h  b  a , ta có:
2
ab
(t 
)(t  b) 2
a b
2
L1 (t ) 
 2 (t 
)(t  b) ,
ab
h
2
(a 
)(a  b)
2

● Nếu chọn s  3 và c1  a , c2 

(t  a)(t  b)
4
 2 (t  a)(t  b) ,
a b
a b
(
 a)(
 b) h

2
2
a b
(t 
)(t  a) 2
a b
2
L3 (t ) 
 2 (t 
)(t  a) .
a b
h
2
(b 
)(b  a)
2
L2 (t ) 

Suy ra

2 b
a b
2 b
a b
1   L1(t )dt  2  (t 
)(t  b)dt  2  (t  b 
)(t  b)dt
h a
2
h a

2
a
b

2 b
a b
2 (t  b)3 a  b (t  b)2 b
 2  [(t  b)2  (
)(t  b)]dt  2 [
(
)
]|a
h a
2
h
3
2
2


2 (b  a)3 h
 .
h2 12
6

KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY



-23-



4 b
4 b
2   L2 (t )dt  2  (t  a)(t  b)dt  2  (t  a)(t  a  (a  b))dt
h a
h a
a
b

4 (t  a)3 (t  a)2
4h

(a  b)]|ba  .
2[
h
3
2
6
Do tính chất đối xứng, ta có
h
3  1  .
6
Từ các tính tốn trên ta đi đến cơng thức Simpson:


b


h

a f (t)dt  6 [f (a)  4 f (

a b
)  f (b)] .
2

Suy ra công thức xấp xỉ nghiệm của phương trình vi phân

h
h
h
y( x  h)  y( x)  [f ( x, y( x))  4 f ( x  , y( x  ))  f ( x  h, y( x  h))] ,
6
2
2
và công thức sai phân
h
h
h
yn1  yn  [f ( xn , yn )  4 f ( xn  , y( xn  ))  f ( xn1, yn1)] .
6
2
2
Đây là công thức ẩn của phương pháp Runge-Kutta kinh điển cấp bốn.
Dẫn tới phương pháp Runge-Kutta
Tính yn1 theo cơng thức ẩn đòi hỏi tại mỗi bước phải giải xấp xỉ một phương
trình phi tuyến, điều này khơng đơn giản và có khả năng làm tăng sai số, nên ta cố
gắng xây dựng các công thức Runge-Kutta hiển từ công thức hình thang ẩn, cơng thức

điểm giữa ẩn và cơng thức Runge-Kutta kinh điển cấp bốn ẩn tương ứng sau.
● Trong cơng thức hình thang ẩn:

h
yn1  yn   f ( xn , yn )  f ( xn1, yn1) ,
2
ta thay giá trị yn1 ở vế phải bằng công thức Euler tiến:

yˆn1  yn  hf (xn , yn ) .
Khi ấy ta được công thức:

h
yn1  yn   f ( xn , yn )  f ( xn1, yˆn1) .
2
Công thức này được gọi là phương pháp hình thang hiển.
h
● Bằng cách sử dụng xấp xỉ bậc nhất của y( xn  ) theo phương pháp Euler tiến:
2
h
yˆ 1  yn  . f ( xn , yn ) ,
n
2
2
và thay vào công thức của phương pháp điểm giữa ẩn
KHĨA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-24-


h
h 

yn1  yn  h.  f ( xn  , y( xn  )  .
2
2 

Ta nhận được phương pháp điểm giữa hiển:

h
yn1  yn  h. f ( xn  , yˆ 1 ) .
2 n 2
● Từ phương pháp Runge-Kutta ẩn cấp bốn kinh điển

h
h
h
yn1  yn  [f ( xn , yn )  4 f ( xn  , y( xn  ))  f ( xn1, yn1)] ,
6
2
2
ta có cơng thức Runge-Kutta hiển bậc bốn kinh điển sau:
h
yn1  yn   k1  2k2  2k3  k4  , n  0,1, 2,...
6
trong đó:

(1.39)


k1  f (xn , yn ) ,
hk
h
k2  f ( xn  , yn  1 ) ,
2
2
hk
h
k3  f ( xn  , yn  2 ) ,
2
2
k4  f (xn , yn  hk3 ) .
Như vậy, để tính được yn1 theo cơng thức Runge-Kutta hiển, ta chỉ cần tính các hệ số

ki , i  1,2,3,4 theo giá trị của hàm số f ( x, y) tại các điểm trước đó.
Với sai số: y( xn )  yn  C.h4 .
2.6 Phương pháp Heun
2.6.1 Quy tắc hình thang
Nếu cho giá trị f (x0 )  y0 và f ( x1)  y1 , thì theo cơng thức nội suy GregoryNewton tiến ta được

h2u 2 f (0 )
,
y  P1(u)  E1 , P1(u)  y0  uy0 , E1 
2!
 

h  x1  x0 ; u 

x  x0
, x0    x1 .

h

Cho nên
x1

1

 P1(u)dx  h0 ( y0  y0 )du ,

x0

và sai số xấp xỉ là

R0 

h3 1 2
(u  u) f (0 )du ,
2 0

KHÓA LUẬN TỐT NGHIỆP

SVTH: NGUYỄN ĐÌNH HUY


-25-

ở đây  0 là một hàm phụ thuộc vào u .
Giả sử rằng một giá trị  0 của  0 đã tìm được, khi đó ta có

R0 


1
h3
f (0 ) (u2  u)du
2
0



h3 f (0 )
, x0  0  x1 .
12

Như vậy,

h3 f (0 )
h
f ( x)dx  ( f ( x0 )  f ( x1))  R0 , R0  
.
2
12

x1



x0

(1.40)


Trường hợp tổng quát, hàm f ( x) cho theo bảng

f (a)  f (x0 ), f (x1),..., f (xN 1) , f (b)  f (xN ) ,
ở đây a, b được chia thành N khoảng và h  (b  a) N . Trên mỗi khoảng  xi 1, xi  ,
từ công thức (1.40) suy ra
xi


x

i1

h
f ( x)dx  ( f ( xi 1 )  f ( xi ))  Ri 1 ,
2

h3 f (i1 )
.
Ri 1  
12
Để cho đơn giản, ta giả thiết trên mỗi khoảng con  xi 1, xi  Ri tỉ lệ với f ( ) ,  là
một điểm cố định nào đó trong khoảng a, b , tức là ta ln có

Ri  

h3 f (i )
.
12

Như vậy

b

h

a f (x)dx  2  f (a)  2( f (x1)  f (x2 )  ...  f (xN 1))  f (b)  R ,
N 1

R   Ri 
i 0

(1.41)

 Nh3 f ( ) h2 (b  a) f ( )

.
12
12

Công thức (1.41) được gọi là công thức Newton-Cotes và được mang tên là quy tắc
hình thang.
2.6.2 Phương pháp Heun
Xét bài tốn Cauchy đưa về dạng

dy
 f ( x, y) , y(x0 )  y0 .
dx
Nếu lấy tích phân 2 vế (1.42) từ x0 đến x1 ta được

KHĨA LUẬN TỐT NGHIỆP


(1.42)

SVTH: NGUYỄN ĐÌNH HUY


×