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

Một số phương pháp giải gần đúng phương trình và hệ 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.25 MB, 89 trang )


1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2





HOÀNG THỊ PHƢƠNG






MỘT SỐ PHƢƠNG PHÁP
GIẢI GẦN ĐÚNG PHƢƠNG TRÌNH
VÀ HỆ PHƢƠNG TRÌNH VI PHÂN






LUẬN VĂN THẠC SĨ TOÁN HỌC














HÀ NỘI, 2012

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2





HOÀNG THỊ PHƢƠNG






MỘT SỐ PHƢƠNG PHÁP
GIẢI GẦN ĐÚNG PHƢƠNG TRÌNH
VÀ HỆ PHƢƠNG TRÌNH VI PHÂN







LUẬN VĂN THẠC SĨ TOÁN HỌC
















HÀ NỘI, 2012
3.1.


2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2







HOÀNG THỊ PHƢƠNG







MỘT SỐ PHƢƠNG PHÁP
GIẢI GẦN ĐÚNG PHƢƠNG TRÌNH
VÀ HỆ PHƢƠNG TRÌNH VI PHÂN

Chuyên ngành: Toán giải tích
Mã số: 60 46 01 02





LUẬN VĂN THẠC SĨ TOÁN HỌC




Người hướng dẫn khoa học: TS. Nguyễn Văn Hùng




HÀ NỘI, 2012
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2






HOÀNG THỊ PHƢƠNG







MỘT SỐ PHƢƠNG PHÁP
GIẢI GẦN ĐÚNG PHƢƠNG TRÌNH
VÀ HỆ PHƢƠNG TRÌNH VI PHÂN

Chuyên ngành: Toán giải tích
Mã số: 60 46 01 02





LUẬN VĂN THẠC SĨ TOÁN HỌC





Người hướng dẫn khoa học: TS. Nguyễn Văn Hùng





HÀ NỘI, 2012




3
LỜI CẢM ƠN
Luận văn được hoàn thành tại trường Đại học sư phạm Hà Nội 2 dưới sự
hướng dẫn của TS. Nguyễn Văn Hùng.
Tôi xin gửi lời cảm ơn chân thành tới Ban giám hiệu, phòng sau đại học,
các thầy giáo, cô giáo dạy cao học chuyên ngành Toán Giải Tích trường Đại
học sư phạm Hà Nội 2 đã tạo điều kiện thuận lợi cho tôi trong quá trình học
tập và nghiên cứu.
Tôi xin bày tỏ lòng biết ơn sâu sắc tới TS. Nguyễn Văn Hùng, người đã
luôn quan tâm, động viên, hướng dẫn tôi trong suốt quá trình làm luận văn.
Tôi bày tỏ lòng biết ơn tới gia đình, người thân, bạn bè cùng các đồng
nghiệp đã động viên, giúp đỡ và tạo mọi điều kiện cho tôi hoàn thành luận
văn này.

Hà Nội, ngày tháng năm 2012

Tác giả


Hoàng Thị Phương







4
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là kết qủa của quá trình học tâp, nghiên
cứu của bản thân dưới sự chỉ bảo của các thầy giáo, cô giáo, đặc biệt là sự
hướng dẫn nhiệt tình, chu đáo của TS. Nguyễn Văn Hùng.
Trong khi nghiên cứu, tôi đã kế thừa những thành quả nghiên cứu của
các nhà khoa học với sự trân trọng và biết ơn.
Luận văn với đề tài: “Một số phƣơng pháp giải gần đúng phƣơng
trình và hệ phƣơng trình vi phân” không có sự trùng lặp.

Hà Nội, ngày tháng năm 2012
Tác giả


Hoàng Thị Phương












5
MỤC LỤC

Trang phụ bìa Trang
Lời cảm ơn 1
Lời cam đoan 2
Mục lục 3
MỞ ĐẦU 4
NỘI DUNG 6
Chƣơng 1: Một số kiến thức chuẩn bị…………………………………… 6
1.1. Một số kiến thức về phương trình và hệ phương trình vi phân 6
1.2. Bài toán Cauchy đối với phương trình vi phân 9
1.3. Bài toán Cauchy đối với hệ phương trình vi phân 10
Chƣơng 2: Một số phƣơng pháp giải số phƣơng trình vi phân 12
2.1. Phương pháp Runge - Kutta giải gần đúng phương trình vi phân 12
2.2. Phương pháp đa bước 21
2.3. Mô hình thử và ổn định của phương pháp số……………… 24
Chƣơng 3: Một số phƣơng pháp giải hệ phƣơng trình của Bulatov và
Berghe 30
3.1. Phương pháp Bulatov giải hệ phương trình vi phân phi tuyến cấp một 30
3.2. Phương pháp Bulatov giải hệ phương trình vi phân tuyến tính cấp một 35
3.3. Phương pháp của Bulatov và Berghe giải hệ phương trình vi phân tuyến
tính cấp hai 65

KẾT LUẬN VÀ KIẾN NGHỊ 86
TÀI LIỆU THAM KHẢO 87




6
MỞ ĐẦU
1. Lý do chọn đề tài
Trong khoa học, kỹ thuật chúng ta thường gặp rất nhiều bài toán liên
quan đến phương trình vi phân. Phương trình vi phân là mô hình mô tả khá tốt
các quá trình chuyển động trong tự nhiên và kỹ thuật. Để nghiên cứu phương
trình vi phân, người ta thường tiếp cận theo hai hướng: Nghiên cứu định tính
và giải số.
Trong giải số phương trình vi phân, người ta thường cố gắng tìm ra
những phương pháp hữu hiệu đảm bảo sự hội tụ, tính ổn định và tính chính
xác cao.
Các phương pháp giải phương trình, hệ phương trình vi phân cũng rất
phong phú đa dạng và ngày càng phát triển về số lượng và chất lượng. Những
phương pháp thường được sử dụng như: Phương pháp lặp đơn, phương pháp
Runge - Kutta, phương pháp đa bước. Ngoài ra phương pháp giải số hệ
phương trình vi phân thường bậc nhất và bậc hai do M. V. Bulatov và G. V.
Berghe đề xuất trong vòng năm năm trở lại đây là phương pháp hữu hiệu đảm
bảo sự hội tụ, tính ổn định và tính chính xác cao.
Dưới sự hướng dẫn của TS. Nguyễn Văn Hùng tôi chọn đề tài: “Một số
phƣơng pháp giải gần đúng phƣơng trình và hệ phƣơng trình vi phân”
với mong muốn được tìm hiểu sâu hơn các phương pháp mới có bậc hội tụ,
tính ổn định và cấp chính xác cao hơn.
2. Mục đích nghiên cứu
- Tìm hiểu về các phương pháp giải phương trình vi phân.

- Tìm hiểu về phương pháp không cổ điển giải số hệ phương trình vi
phân thường bậc một và bậc hai có bậc hội tụ, tính ổn định và cấp chính xác
cao.
3. Nhiệm vụ nghiên cứu

7
- Trình bày một số phương pháp giải gần đúng phương trình vi phân.
- Trình bày phương pháp của Bulatov và Berghe.
4. Đối tƣợng và phạm vi nghiên cứu
- Đối tượng: Nghiên cứu các phương pháp giải phương trình, hệ phương
trình vi phân.
- Phạm vi nghiên cứu: Các giáo trình, tài liệu liên quan đến phương pháp
giải phương trình và hệ phương trình vi phân.
5. Phƣơng pháp nghiên cứu
- Phương pháp giải gần đúng của giải tích số.
6. Đóng góp mới của luận văn
- Trình bày một cách hệ thống một số phương pháp giải gần đúng
phương trình, hệ phương trình vi phân và đặc biệt là các phương pháp của
Bulatov và Berghe đề xuất trong những năm gần đây, đồng thời có sử dụng
phần mềm MATLAB để giải một số ví dụ về hệ phương trình vi phân.














8
CHƢƠNG 1
MỘT SỐ KIẾN THỨC CHUẨN BỊ
1.1. Một số kiến thức về phƣơng trình và hệ phƣơng trình vi phân
1.1.1. Một số khái niệm
a. Phƣơng trình vi phân
Phương trình vi phân là phương trình liên hệ giữa các biến độc lập, hàm
phải tìm và đạo hàm hay vi phân của hàm phải tìm.
Phương trình vi phân thường bậc
n
là một hệ thức có dạng:

()
( , , , , , ) 0
n
F x y y y y
 

, (1.1.1.1)
trong đó
x
là biến độc lập,
y
là hàm số cần tìm,
,y



, ,y


()n
y
là các đạo hàm
của hàm số
()y y x
.
Ta gọi cấp của phương trình vi phân là cấp cao nhất của đạo hàm có mặt trong
phương trình.
Ta gọi nghiệm của phương trình vi phân là một hàm số
()yx


, khi thay vào
phương trình ta được một đồng nhất thức.
Hàm số
( , )y x c



()
n
cR
có đạo hàm riêng theo biến
x
đến cấp
n
được gọi

là nghiệm tổng quát của phương trình (1.1) nếu:
1.
( , )x y D

(D
là miền xác định của phương trình) thì
( , )y x c


đều thỏa
mãn (1.1)
n
cR
.
2.
( , )x y D
ta có thể tìm được
( , )c x y


.
b. Hệ phƣơng trình vi phân
Hệ phương trình vi phân có dạng:

9

1
1
11
1

11
( , , , , , , , , , ) 0
n
n
m
m
nn
n
m
m
dy d y
dy d y
x y y
dx dx dx dx


, (1.1.1.2)
trong đó
x
là biến độc lập
1
,y

2
,y
,
n
y
là các hàm số phải tìm.
Giải hệ phương trình (1.1.1.2) là tìm các hàm số:

11
( ),y y x
,
()
nn
y y x
sao
cho thỏa mãn (1.1.1.2).
1.1.2. Một số phƣơng trình vi phân đã biết cách giải
a. Phƣơng trình tách biến

12
( ). ( )
dy
f x f y
dx

. (1.1.2.1)
(1.1.2.1)
11
22
( ) ( ) .
( ) ( )
dy dy
f x dx f x dx c
f x f y
    

(
c

tùy ý)
b. Phƣơng trình thuần nhất

()
dy y
f
dx x


0x
. (1.1.2.2)
Đặt
y
u
x

ta có
()
du
x f u u
dx

.
Giả sử
()f u u
ta có (1.1.2.2)
()
du dx
c
f u u x

  


(
c
tùy ý).
Giả sử
()f u u
ta có (1.1.2.2)
y cx
(
c
tùy ý).
c. Phƣơng trình tuyến tính cấp một

( ). ( )
dy
p x y q x
dx

. (1.1.2.3)
 
0qx
thì (1.1.2.3) được gọi là phương trình tuyến tính không thuần nhất cấp
một.
 
0qx
thì (1.1.2.3) được gọi là phương trình tuyến tính thuần nhất cấp một.

10

Công thức nghiệm tổng quát:
 
( ) ( )
( ). .
p x dx p x dx
y e q x e dx c





d. Phƣơng trình Bernoulli
Dạng tổng quát:
( ). ( ).
dy
p x y q x y
dx


. (1.1.2.4)
Nếu
0


(1.1.2.4) là phương trình tuyến tính.
Nếu
1


(1.1.2.4) là phương trình tuyến tính thuần nhất.

Nếu
0



1


chia cả 2 vế của (1.1.2.4) cho
y

, đặt
1
zy



để đưa
(1.1.2.4) về phương trình tuyến tính thuần nhất đã biết cách giải.
e. Phƣơng trình vi phân toàn phần
Dạng tổng quát:
   
, , 0p x y dx q x y dy
. (1.1.2.5)
f. Phƣơng trình Clero
Dạng tổng quát:
dy dy
y x f
dx dx





. (1.1.2.6)
g. Phƣơng trình lagrange
Dạng tổng quát:
.
dy dy
y x g f
dx dx
   

   
   
. (1.1.2.7)
1.1.3. Định lý Picard - Lindelof
Giả sử hàm
( , )f x y
xác định và liên tục trong miền
G
:
 
 
00
, : ,G x y x x a y y b    
đồng thời thỏa mãn điều kiện Lipschitz theo
biến
y
:
 

 
,,f x y f x y L y y  
(
L
là hằng số dương), khi đó tồn tại một
dãy nghiệm gần đúng của phương trình:
 
,y f x y


trên đoạn
00
[ ; ]x h x 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:

11
00
()y x y
, với
( , )
max ( , ),
x y G
M f x y



min( , )
b

ha
M

.
1.2. Bài toán Cauchy đối với phƣơng trình vi phân
1.2.1. Bài toán Cauchy đối với phƣơng trình vi phân cấp một
a. Bài toán Cauchy
Tìm nghiệm
()y y x
của phương trình
( , )y f x y


sao cho khi
0
xx
thì
00
()y x y
, trong đó
0
,x

0
y
là các giá trị tùy ý cho trước và ta gọi là các giá trị
ban đầu.
Điều kiện nghiệm phải tìm
()y y x
nhận giá trị

0
yy
khi
0
xx
gọi là
điều kiện ban đầu và ký hiệu là:
00
()y x y
.
b. Định lý tồn tại và duy nhất nghiệm
Cho phương trình vi phân
 
,y f x y


và các giá trị ban đầu
0
,x

0
y
. Giả
sử
( , )f x y
và các đạo hàm riêng
y
f

xác định và liên tục trên miền

D
của
không gian
2
R
.

Giả sử
00
( , )x y D
khi đó trong một lân cận nào đó của điểm
0
x
tồn tại duy
nhất một nghiệm
()y y x
của bài toán Cauchy.

1.2.2. Bài toán Cauchy đối với phƣơng trình vi phân cấp
n

Phương trình vi phân cấp
n
là phương trình có dạng:

 
 
, , , , 0
n
F x y y y



, (1.2.2a)
x
là biến độc lập,
y
là hàm cần tìm,
,y


,y

,
 
n
y
là các đạo hàm của hàm
phải tìm nếu từ phương trình (1.2.2a) ta giải được đối với
()n
y
ta được phương
trình:
   
 
1
, , , ,
nn
y f x y y y




. (1.2.2b)
a. Bài toán Cauchy

12
Bài toán Cauchy đối với phương trình (1.2.2a) được hiểu như sau.
Tìm nghiệm
()y y x
của phương trình (1.2.2a) sao cho khi
0
xx
nó thỏa
mãn các điều kiện ban đầu:

00
( ) ;y x y

 
00
, ,y x y



 
 
 
11
00
,
nn

y x y


(1.2.2c)
trong đó:
0
,x

0
,y

0
, ,y


 
1
0
n
y

là các giá trị cho trước tùy ý gọi là các giá trị
ban đầu.
b. Định lý tồn tại và duy nhất nghiệm
Cho phương trình vi phân cấp
n
(1.2.2b) và các giá trị ban đầu:
0
,x


0
,y

0
, ,y


 
1
0
.
n
y


Giả sử hàm
f
có các đạo hàm riêng:
,
f
y



2
2
, ,
f
y




,
n
n
f
y


xác định và
liên tục trong miền
D
(miền xác định của phương trình (1.2.2b)).
Giả sử
 
1
0 0 0 0
( , , , , )
n
x y y y D



(là một điểm thuộc
D
) khi đó trong một lân cận
nào đó của điểm
0
x
:

0
xx


tồn tại và duy nhất một nghiệm
()y y x
của
phương trình (1.2.2b) và thỏa mãn các điều kiện ban đầu (1.2.2c).
1.3. Bài toán Cauchy đối với hệ phƣơng trình vi phân
Xét bài toán Cauchy tìm nghiệm của hệ phương trình:
( ) ( ( ), ),x t f x t t



[0,1]t 
, (1.3.1)
thỏa mãn điều kiện ban đầu:
0
(0)xx
, (1.3.2)
trong đó
( , )f x t
,
()xt
là các hàm vectơ
n
chiều, hàm
f
xác định trên hình
hộp vô hạn:

: [0,1]
n
DR
.
Ở đây ta hiểu nghiệm theo nghĩa cổ điển và địa phương, tức là nghiệm
của (1.3.1) - (1.3.2) là một hàm khả vi
()xt
trên
[0, ],


1


sao cho:

13

( ) ( ( ), )x t f x t t


trên
[0, ]


0
(0)xx
.
Cùng với bài toán (1.3.1) ta cũng xét trường hợp hàm
( , )f x t

là tuyến tính, tức

( , ) ( ) ( )f x t B t x g t
trong đó
()Bt
là ma trận cấp
nn
, còn
()gt
là vectơ
n

chiều, tức là hệ tuyến tính:
( ) ( ) ( )x t B t x g t


,
[0,1]t
. (1.3.3)
Ta luôn giả thiết rằng các phần tử của ma trận
()Bt
, của các vectơ
( , )f x t
,
()gt
là đủ trơn (có đạo hàm đến cấp cần thiết trong tính toán). Khi ấy theo
định lý Picard - Lindelof hệ (1.3.1) - (1.3.2) có nghiệm duy nhất
()xt
trên
toàn đoạn

[0,1]
(nghiệm có thể kéo dài được trên toàn bộ khoảng xác định,
hay tồn tại nghiệm toàn cục).
















14
CHƢƠNG 2
MỘT SỐ PHƢƠNG PHÁP GIẢI SỐ PHƢƠNG TRÌNH VI PHÂN
2.1. Phƣơng pháp Runge - Kutta giải gần đúng phƣơng trình vi phân
2.1.1. Quy tắc cầu phƣơng cơ bản
Quy tắc cầu phương cơ bản có thể được coi là phương pháp quan trọng
để tính tích phân. Vì giải phương trình vi phân thường (1.3.1) với điều kiện
ban đầu (1.3.2) tương đương với việc giải phương trình tích phân
0
0
( ) ( ( ), )

t
t
x t x f x s s ds

, (2.1.1.1)
nên ta cũng có thể sử dụng quy tắc cầu phương cơ bản trong việc giải số
phương trình vi phân. Trong mục này ta chỉ ra rằng, nhiều công thức sai phân
cổ điển giải số phương trình vi phân có thể suy ra từ quy tắc cầu phương cơ
bản. Trước tiên ta nhắc lại quy tắc cầu phương cơ bản.
Nội dung cơ bản của quy tắc cầu phương là: Để tính tích phân
()
b
a
f t dt

ta thay
()ft
bởi một đa thức nội suy. Tích phân của hàm
()ft
được xấp xỉ bởi tích
phân của hàm đa thức
()t

(tính được chính xác).
Giả sử ta có
s
điểm nội suy khác nhau
1
,c


2
, ,c

s
c
trong khoảng
( , )ab
. Đa
thức nội suy Lagrange bậc nhỏ hơn
s
có dạng:
1
( ) ( ) ( )
s
jj
j
t f c L t




,
trong đó:
1,
()
()
()
s
i
j

i i j
ji
tc
Lt
cc





. Khi ấy:
1
( ) ( )
b
s
jj
j
a
f t dt f c





.
Các trọng số
j

được tính theo công thức
()

b
jj
a
L t dt



.

15
Nếu
1s 
thì đa thức nội suy
1
( ) ( )t f c


và ta có:
1
( ) ( ) ( )
b
a
f t dt b a f c

.
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
()
k
pt
bậc nhỏ hơn
p

ta có:
1
( ) ( )
b
s
k j j
j
a
p t dt f c





.
Nếu
0( )b a h
thì sai số trong quy tắc cầu phương của độ chính xác là
p

1
0( )
p

h

.
Ta xét một số trường hợp đặc biệt.
 Nếu chọn
1s 

1
ca
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 2.1):

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

. (2.1.1.2)
Nếu
()xt
là nghiệm của phương trình vi phân (1.3.1) - (1.3.2) thì:
( ) ( ) ( ( ), )
th
t
x t h x t f x s s ds

  

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

( ) ( ) . ( ( ), )x t h x t h f x t t  
. (2.1.1.4)
Gọi
h
là độ dài bước của biến độc lập
t
(
h
có thể dương hoặc âm, khi
0h 

thì nghiệm được xây dựng về bên phải của điểm
0
t
và ngược lại, khi
0h 
thì
nghiệm được xây dựng về bên trái của
0
t
). Dưới đây ta coi
0h 
, trường hợp
0h 
có thể được xét tương tự.
Từ công thức (2.1.1.4) ta có:

1 0 0 0
. ( , )x x h f x t
;


16

2 1 1 1
. ( , )x x h f x t
;
… ;

1
. ( , )
n n n n
x x h f x t


.
Đây chính là công thức Euler tiến quen thuộc.
 Nếu chọn
1s 

1
cb
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 2.1).

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

.


Từ đây ta có:

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

1 1 1
. ( , )
n n n n
x x h f x t
  

.
 Nếu chọn
1s 

1
2
ab
c


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 ABMN (hình 2.1):
f
0
x
A
B

a
b
D
C
N
M
F
E
Hình 2.1

17

( ( ), ) . ( ( ), )
22
th
t
hh
f x s s ds h f x t t

  

.
Từ đây ta có:

( ) ( ) . ( ( ), )
22
hh
x t h x t h f x t t    
.
Từ công thức trên ta có:


1
[ ( ( ), )]
22
n n n n
hh
x x h f x t t

   
.
Đây chính là phương pháp điểm giữa.
 Nếu chọn
2s 

1
,ca

2
cb
thì
1
()
()
tb
Lt
ab





2
()
()
ta
Lt
ba



.
Suy ra:



2
22
1 ( )
( ) .
( ) ( ) 2 2
bb
aa
a
t a t a b a
L t dt dt
b
b a b a

  
   



.
Chứng tỏ:

( ) [ ( ) ( )]
2
b
a
ba
f t dt f a f b



.
Như vậy nếu xấp xỉ tích phân
( ( ), )
th
t
f x s s ds


bởi công thức trên (bởi diện tích
hình thang ABFD, hình 2.1) thì ta được:

( ( ), ) [ ( ( ), ) ( ( ), )]
2
th
t
h
f x s s ds f x t h t h f x t t


   

.
Từ đây ta có công thức hình thang:
2
11
1 ( )
( ) . ,
( ) ( ) 2 2
bb
aa
b
t b t b b a
L t dt dt
a
a b a b

  
   



18

1 1 1
[ ( , ) ( , )]
2
n n n n n n
h

x x f x t f x t
  
  
.
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
2p 
.
 Nếu chọn
3s 

1
,ca

2
,
2
ab
c



3
cb
thì đặt
h b a
, ta có:

1
2

2
2
3
2
( )( )
2
2
( ) ( )( ),
2
( )( )
2
( )( ) 4
( ) ( )( ),
( )( )
22
( )( )
2
2
( ) ( )( ).
2
( )( )
2
ab
t t b
ab
L t t t b
ab
h
a a b
t a t b

L t t a t b
a b a b
h
ab
ab
t a t
ab
L t t a t
ab
h
b a b



   


  
   





   



Suy ra:


11
22
32
2
22
3
2
22
( ) ( )( ) ( )( )
22
2 2 ( ) ( )
[( ) ( )] [ ]
2 3 2 2
2 ( )
.,
12 6
b b b
a a a
b
a
a b a b
L t dt t t b dt t b t b dt
hh
b
a b t b a b t b
t b t b dt
a
hh
b a h
h



       
   
     


  




22
22
32
2
44
( ) ( )( ) ( )( ( ))
4 ( ) ( ) 4
[ ( )] .
3 2 6
bb
aa
L t dt t a t b dt t a t a a b dt
hh
b
t a t a h
ab
a
h



        
  
   
  

Do tính chất đối xứng, ta có:
31
.
6
h




19
Từ các tính toán trên ta đi đến công thức Simpson:

( ) [ ( ) 4 ( ) ( )].
62
b
a
h a b
f t dt f a f f b

  


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


( ) ( ) [ ( ( ), ) 4 ( ( ), ) ( ( ), )]
6 2 2
h h h
x t h x t f x t t f x t t f x t h t h        

và công thức sai phân

1 1 1
[ ( , ) 4 ( ( ), ) ( , )]
6 2 2
n n n n n n n n
h h h
x x f x t f x t t f x t
  
     
.
Đây là công thức ẩn của phương pháp Runge - Kutta kinh điển cấp bốn.
2.1.2. Dẫn tới phƣơng pháp Runge - Kutta
Vì phương pháp ẩn đòi hỏi mỗi bước phải giải một phương trình phi
tuyến, điều này không đơn giản, 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 như sau.
 Trong công thức hình thang ẩn:

1 1 1
[ ( , ) ( , )],
2
n n n n n n
h

x x f x t f x t
  
  

ta thay giá trị
1n
x

ở vế phải bằng công thức Euler tiến:

1
ˆ
( , ).
n n n n
x x hf x t



Khi ấy ta được công thức:

1 1 1
ˆ
[ ( , ) ( , )].
2
n n n n n n
h
x x f x t f x t
  
  


Công thức này gọi là phương pháp hình thang hiển.

20
 Bằng cách sử dụng xấp xỉ bậc nhất của
()
2
n
h
xt 
theo phương pháp Euler
tiến:
1
2
ˆ
( , )
2
n n n
n
h
x x f x t


,
và thay vào công thức của phương pháp điểm giữa ẩn:

1
( ( ), )
22
n n n n
hh

x x hf x t t

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

11
2
ˆ
( , )
2
n n n
n
h
x x hf x t


  
.
 Từ phương pháp Runge - Kutta ẩn cấp bốn kinh điển

1 1 1
[ ( , ) 4 ( ( ), ) ( , )],
6 2 2
n n n n n n n n
h h h
x x f x t f x t t f x t
  
     


ta có công thức Runge - Kutta hiển cấp bốn kinh điển sau:

1 1 2 3 4
( 2 2 ),
6
nn
h
x x k k k k

    

0,1,2 n 

trong đó:

1
1
2
2
3
43
( , );
( , );
22
( , );
22
( , ).
nn
nn
nn

nn
k f x t
hk h
k f x t
hk h
k f x t
k f x hk t

  
  


2.1.3. Phƣơng pháp Runge - Kutta tổng quát
Nội dung cơ bản của phương pháp Runge - Kutta tổng quát như sau.
Chia đoạn
[0,1]
thành một lưới đều:

21

,
i
t ih

0,1,2 ,iN
1
,h
N



và ký hiệu
i
x
là giá trị xấp xỉ
( ),
i
xt

( ),
ii
B B t

()
ii
g g t
.
Phương pháp Runge - Kutta cho bài toán (1.3.1) - (1.3.2) có dạng:

1
1
,
s
i i i i
i
x x h b X




(2.1.3.1)

trong đó
i
X
là vectơ
n
chiều và là nghiệm của hệ phương trình phi tuyến:

1
( , )
s
i i ij j i i
j
X f x h a X t c h

  

. (2.1.3.2)
Các tham số
,
ij
a

,
i
b

i
c
xác định bậc xấp xỉ của phương pháp, còn
s

được gọi
là số nấc. Nếu
0
ij
a 
với mọi
ji
thì ta có phương pháp Runge - Kutta hiển.
Khi ấy tính toán khá đơn giản (
i
X
được tính theo công thức truy hồi ). Nếu
0,
ij
a 
ji
nào đó thì ta có phương pháp Runge - Kutta ẩn. Khi ấy tại mỗi
bước ta phải giải một hệ
ns
phương trình phi tuyến để tìm
s
vectơ
i
X
(mỗi
vectơ
i
X

n

tọa độ).
Phương pháp Runge - Kutta được viết dưới dạng bảng Butcher (Butcher
table):
2.1.4. Công thức lặp của phƣơng pháp Runge - Kutta bậc hai
Giả thiết rằng ta đã biết giá trị của
x
tại
n
t

n
x
. Phương pháp Runge - Kutta
hiển hai nấc cấp hai sử dụng điểm
( , )
nn
xt
để xấp xỉ giá trị của
x
tại điểm tiếp
theo bằng công thức:

1 1 1 2 2
()
nn
x x h bk b k

  
, (2.1.4)
C

A
b
T

22
trong đó:

1
( , );
nn
k f x t

2 2 21 1
( , ).
nn
k f x c h t ha k  

Khái niệm
s
nấc (
s
giai đoạn) thể hiện rằng số lần tính các giá trị của hàm
f

(tại các điểm khác nhau trong công thức Runge - Kutta) là
s
.
Để tìm các phương pháp Runge - Kutta bậc hai, ta làm như sau:
Khai triển Taylor hàm
( , )f x t

theo phương trình (1.3.1) và theo công thức
(2.1.4) rồi so sánh, ta đi đến kết luận:
Các hệ số trong phương pháp Runge - Kutta cấp hai phải thỏa mãn phương
trình:

12
1,bb

22
1
,
2
cb 

21 2
1
.
2
ab

Đây là một hệ ba phương trình bốn ẩn. Ta có thể chọn một hệ số, thí dụ,
2
0b 
tự do. Khi ấy các hệ số còn lại biểu diễn qua
2
0b 
bởi các công thức:

12
1,bb


2
2
1
,
2
c
b


21
2
1
.
2
a
b


Chọn
2
1
2
b 
, thì
1
1
2
b 


21 2
1ac
. Khi ấy ta có một phương pháp Runge-
Kutta cấp hai cho phép tính
1n
x

dựa trên công thức:

1
11
( , ) ( ( , ), )
22
n n n n n n n n
x x hf x t hf x hf x t t h

    
.
Công thức này gọi là phương pháp Runge - Kutta đơn giản hoặc phương pháp
tiếp tuyến cải tiến, vì nó trùng với phương pháp Euler cải tiến.
Nếu chọn
2
1b 
thì
21
1
,
2
a 


1
0b 

2
1
2
c 
. Khi ấy ta có công thức:

1 1 1 2 2
( ) . ( ( , ), )
22
n n n n n n n
hh
x x h bk b k x h f x f x t t

      
.

23
Phương pháp tính theo công thức trên gọi là phương pháp Euler - Cauchy.
2.2. Phƣơng pháp đa bƣớc
2.2.1. Phƣơng pháp một bƣớc giải phƣơng trình vi phân thƣờng
Phương pháp Euler, các phương pháp cải biên của nó và phương pháp
Runge - Kutta giải phương trình vi phân:
( , )y f x y


(2.2.1)
là phương pháp một bước, tức là, để tính giá trị của

1n
y

ta chỉ sử dụng các giá
trị tại một bước trước đó, là giá trị của
n
y
. Các phương pháp này là trường
hợp riêng của phương pháp tuyến tính một bước tổng quát hơn sau:

1 1 1 1 2
[ ( , ) ( , )]
n n n n n n
y ay h b f x y b f x y
  
  
.
Nếu
1
0b 
thì
1n
y

được tính theo công thức hiển:

12
( , ).
n n n n
y ay hb f x y




Khi
1,a 

1
0,b 

2
1b 
ta có phương pháp Euler.
Ngược lại, nếu
1
0b 
ta có phương pháp ẩn. Thí dụ, khi
1,a 

12
1
2
bb
ta
trở về phương pháp hình thang.
Ta cũng có thể mở rộng phương pháp một bước tuyến tính thành phương
pháp một bước tổng quát theo công thức:

1
( , , )
n n n n

y y h x y h



.
Thí dụ, trong phương pháp Euler ta có:
( , , ) ( , )
n n n n
x y h f x y


,
còn trong phương pháp Runge - Kutta đơn giản ta có:

1
( , , ) [ ( , ) ( , ( , )]
2
x y h f x y f x h y hf x y

   
.

24
Công thức trên có thể viết dưới dạng
1
( , , )
nn
nn
yy
x y h

h




và có thể coi như
là xấp xỉ sai phân của phương trình vi phân
( , )y f x y


, vì ta có:

0
( ) ( )
lim ( ) ( , ( )).
h
y x h y h
y x f x y x
h





2.2.2. Các phƣơng pháp đa bƣớc
2.2.2.1. Phƣơng pháp đa bƣớc giải phƣơng trình vi phân thƣờng
Ta xem xét phương pháp hai bước nhận được từ xấp xỉ tích phân sau
đây.
Tích phân hai vế phương trình vi phân
( , )y f x y



từ
xh
đến
xh
ta có:

 
( ) ( ) ( , )
xh
xh
y x h y x h f t y t dt


   

.
Xấp xỉ tích phân ở hai vế bởi diện tích hình chữ nhật ABCD (hình 2.1) ta
được:

( ) ( ) 2 ( , ( )) ( )y x h y x h hf x y x T x    
.
Nếu khai triển
()y x h

()y x h
thành chuỗi Taylor thì
33
3

( ) .
3
h d y
Tx
dx

.
Chứng tỏ ta có sai số bậc hai.
Từ công thức trên ta có thể tính
1n
y

theo
n
y

1n
y

bởi công thức tuyến tính
hai bước sau:

11
2 ( , )
n n n n
y y hf x y


.
Ta có thể mở rộng phương pháp tuyến tính một bước thành phương pháp

tuyến tính
k
bước theo công thức:
00
( , ).
kk
j n j j n j n j
jj
a y h b f x y
  





25
Các hệ số
,
j
a

j
b
của phương pháp thỏa mãn điều kiện:
0
0a 
(do đó có thể
coi
0
1a 

) và
0
kk
ab
. Nếu
0
0b 
thì
1n
y

được tính theo công thức hiển:

11
( , )
kk
n j n j j n j n j
jj
y a y h b f x y
  

  

.
Ngược lại, nếu
0
0b 
ta có phương pháp ẩn.
2.2.2.2. Phƣơng pháp Adams - Bashforth
Adams đã đưa ra phương pháp đa bước giải gần đúng phương trình vi

phân dựa trên xấp xỉ tích phân bằng đa thức nội suy như sau.
Tích phân hai vế của phương trình vi phân
( , )y f x y


ta được:

1
1
( ) ( ) ( , ( ))
n
n
x
nn
x
y x y x f t y t dt




.
Hàm
( , )f x y
dưới dấu tích phân được xấp xỉ bởi đa thức nội suy dạng Newton
theo
k
giá trị tính trước
( , ),
n j n j
f x y



1,2, jk
. Khi ấy ta được công thức
sau:

1
1
( , )
k
n n j n j n j
j
y y h a f x y
  



,
trong đó:
1
1
1
( 1) ,
1
k
j
ji
ij
i
ab

j










1
0
( 1)
i
j
s
b ds
i






,
với:
( 1) ( 1)
!
s

s s s i
i
i

  



,
1
0
s




.
Công thức Adams - Bashforth bậc nhất chính là phương pháp Euler tiến.
Phương pháp Adams - Bashforth bậc hai:

1 1 2
31
()
22
n n n n
y y h f f
  
  


×