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

Phương pháp Runge - kutta giải phương trình vi phân thường

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 (751.63 KB, 77 trang )

3
Mở đầu


1. Lí do chọn đề tài
Nhiều bài toán trong khoa học và kĩ thuật có thể thiết lập được công
thức theo các phương trình vi phân. Như các phương trình của tên lửa đạn
đạo, lý thuyết vệ tinh nhân tạo, các phương trình của mạng lưới điện, của sự
uốn cong xà, sự ổn định của thiết bị bay, lý thuyết giao động Tuy nhiên đại
đa số các phương trình được kể đến trong thực tế lại không thể giải được bằng
công thức giải tích hoặc nếu giải được thì công thức nghiệm thường phức tạp,
cồng kềnh việc khảo sát các tính chất nghiệm vì thế gặp nhiều khó khăn. Khi
đó các phương pháp số để giải gần đúng các phương trình vi phân trở nên hữu
ích. Các phương pháp số thường được sử dụng là phương pháp Euler, phương
pháp Runge – Kutta, phương pháp Adam
Phương pháp Euler là một trường hợp riêng của phương pháp Runge –
Kutta và đã được Runge tổng quát vào năm 1895. Năm 1900 – 1901 Heun và
Kutta đã hoàn thiện tập các phương pháp Runge – Kutta bậc 4 và đề suất các
phương pháp bậc 5 đầu tiên. Cho đến năm 1956 – 1957 Huta đã đưa ra các
phương pháp bậc 6. Các phương pháp bậc 8 được đưa ra bởi Curtis vào năm
1970 và Cooper vào năm 1972. Khi kĩ thuật máy tính phát triển sự quan tâm
mới được tập trung vào các phương pháp Runge – Kutta ẩn và có một số
lượng lớn các nhà nghiên cứu đã có những đóng góp cho sự mở rộng các định
lý và các phương pháp đặc biệt.
Với mong muốn được tìm hiểu sâu hơn các nghiên cứu về phương pháp
Runge – Kutta giải phương trình vi phân thường dưới sự chỉ bảo tận tình của
TS Nguyễn Văn Hùng tôi chọn nghiên cứu đề tài:
“Phương pháp Runge – Kutta giải phương trình vi phân thường”

4


2. Mục đích nghiên cứu
Luận văn nhằm nghiên cứu cách xây dựng các phương pháp Runge –
Kutta giải phương trình vi phân thường.
3. Nhiệm vụ nghiên cứu
Việc nghiên cứu Luận văn với nhiệm vụ hệ thống và làm rõ cách xây
dựng các phương pháp Runge – Kutta giải phương trình vi phân thường.
4. Đối tượng nghiên cứu
Luận văn tập trung nghiên cứu cách xây dựng các phương pháp Runge
– Kutta giải phương trình vi phân thường.
5. Phương pháp nghiên cứu
Tổng hợp những kiến thức thu thập được qua những tài liệu có liên
quan đến đề tài. Phân tích, đánh giá các tài liệu để đưa ra các phương pháp
Runge – Kutta giải phương trình vi phân thường một cách tổng quát dưới các
cách nghiên cứu khác nhau.
6. Những đóng góp mới của đề tài
Trình bày một cách có hệ thống về các phương pháp Runge – Kutta
hiển giải phương trình vi phân thường sử dụng cây có gốc. Những lý thuyết
đó có thể áp dụng cho cả các phương pháp Runge – Kuta ẩn.
Nội dung
Luận văn tập trung vào các nội dung được thể hiện trong các chương sau:
Chương 1: Lý thuyết tổng quan về phương trình vi phân thường.
Chương 2: Phương pháp Runge – Kutta.
Chương 3: Phương pháp Runge – Kutta với cây có gốc.
5

Chương 1


Lý thuyết tổng quan về phương trình
vi phân thường


1.1 Định nghĩa phương trình vi phân thường
Định nghĩa 1.1
Phương trình vi phân thường có dạng:

   
 
,
,y x f x y x
(1.1)
ở đây
,
dy
y
dx


:
N
y 
 
,
:
N N
f  
  
.
Khi giải quyết các bài toán cụ thể, để thuận tiện ta không xét trên các
hàm giá trị vectơ f và y mà trên các thành phần đơn lẻ. Vì vậy, để thay thế
cách viết phương trình vi phân ở dạng (1.1) chúng ta có thể liên kết các

phương trình với từng thành phần riêng lẻ:
 
 
 
 
 
 
1 1 1 2
2 2 1 2
1 2
' , , , ,
' , , , ,

' , , , ,
N
N
N N N
y x f x y y y
y x f x y y y
y x f x y y y



(1.2)
Một phương trình vi phân với f không phải là hàm của x mà là hàm của
y thì ta gọi là “autonmous” nó có dạng
   
 
'
y x f y x


. Nhưng hoàn toàn có
thể biểu diễn một phương trình vi phân ở dạng “non-autonmous” tương
đương với dạng “autonmous” bằng cách đưa thêm một thành phần
1N
y

vào
trong vectơ y và đảm bảo rằng thành phần này luôn đóng vai trò giống x bởi
liên kết nó cùng với phương trình vi phân
1
' 1
N
y


. Vì vậy hệ được thay đổi
như sau:
6

 
 
 
 
 
 
 
1 1 1 2
2
1

2 1 1 2
1 1 2
1
' , , , ,
' , , , ,

' , , , ,
' 1
N N
N N
N N N N
N
y x f y y y y
y x f y y y y
y x f y y y y
y x








(1.3)
1.2 Bài toán giá trị ban đầu của phương trình vi phân thường.
1.2.1 Bài toán
Tìm nghiệm
 
y y x

của phương trình vi phân

   
 
' ,y x f x y x
(1.4)
Thỏa mãn điều kiện ban đầu
 
0 0
y x y
(1.5)
Ở đây
 
1 2
, , ,
N
y y y y
,
 
1 2
, , ,
N
f f f f

 
0 01 02 0
, , ,
N
y y y y


các vectơ trong
N

.
Cặp phương trình (1.4) và (1.5) được gọi là bài toán giá trị ban đầu của
phương trình vi phân thường.
1.2.2 Nghiệm của bài toán giá trị ban đầu
Giả sử
,
N
f C
 
 
 

(f xác định và liên tục trên

và nhận giá trị trong
N

), ở đây

là một tập mở trong
1N 

.
Một nghiệm
 
y y x
của bài toán (1.4), (1.5) là một hàm khả vi của x

sao cho với một khoảng J chứa
0
x
ta có
 
 
0 0
( ) , ,y x y x y x
 

   
 
' ,
y x f x y x

.
Nhận xét
Hàm khả vi
 
y x
là nghiệm của bài toán (1.4), (1.5) trên J khi và chỉ
khi nó là nghiệm của phương trình tích phân Volterra:
7


   
 
0
0
, ,

x
x
y x y f s y s ds x J  

(1.6)
1.3 Các định lý về sự tồn tại và duy nhất nghiệm của bài toán giá trị ban
đầu
Xét bài toán giá trị ban đầu (1.4) và (1.5).
Định lý 1.1 (Định lý Picard - Lindelof)
Giả sử
 
,f x y
liên tục trên
0 0 0 0
: ,
B x x x a y y b    
, ở đây a, b
là các số thực dương và thỏa mãn điều kiện Lipschitz trên B
0
, nghĩa là, tồn tại
một hằng số dương
L
sao cho, với
0
0
h h 
và với mọi
 
,x u
,

 
0
,
x v B

thì
   
, ,
f x u f x v L u v  
.
Đặt :
 
 
0
,
ax ,
x y B
M m f x y


,
 
min ,
a b M


.
Khi đó bài toán giá trị ban đầu (1.4), (1.5) có nghiệm duy nhất
 
y x


trên
 
0 0
,x x


.
Chứng minh
Theo nhận xét trên thì nghiệm của bài toán (1.4), (1.5) tương đương với
nghiệm của phương trình tích phân (1.6). Do vậy ta chỉ cần chứng tỏ với các
giả thiết của định lý 1.1 thì phương trình (1.6) tồn tại nghiệm duy nhất
 
y y x
trong khoảng
0 0
x x x

  
ở đó
 
min ;
a b M


.
Định nghĩa một dãy các hàm:

 
   

 
0
0 0
0 1
, , 1,2, ,
x
k k
x
y x y
y x y f s y s ds k n


  

(1.7)
Với
0 0
x x x

  
.
8


 
 
,
f x y x
liên tục trên
 

0 0
,x x


nên các hàm số
 
0
y x
,
   
1
, ,
n
y x y x
xác định và liên tục trên
 
0 0
,x x


. Hiển nhiên
 
 
0 0
,
x y x B
. Vì vậy ta có:

 
 

1 0 0
y x y M x x M b

    
và hơn nữa
 
 
1 0
,
x y x B
.
Tuy nhiên có thể chứng minh bằng quy nạp rằng:
 
0k
y x y b 

 
 
0
, , 1,2, , .
k
x y x B k n
 

Đặt
     
1n n n
z x y x y x

 

.
Vì f thỏa mãn điều kiện Lipschitz trên B
0
nên suy ra:

   
 
 
 
   
0 0
2 1 0 1 0
, ,
x x
x x
z x f s y s f s y s ds L y s y s ds
   
 


 
 
0
2
0
0
2!
x
x
x x

L M s x ds LM

  

.
Lập luận tương tự bằng quy nạp với
 
0 0
,x x x

 
ta có:

 
 
1 0
. 1,2, ,
!
k
k
k
x x
z x M L k n
k


 
(1.8)
Chứng minh điều này, giả sử với
 

0 0
;x x x

 
thì:
 
 
 
1
2 0
1
. , 1,2, ,
1 !
k
k
k
x x
z x M L k n
k




 


Khi đó với
 
0 0
,x x x


 
, ta có:

   
 
 
 
0
1 2
, ,
x
n n n
x
z x f s y s f s y s ds
 
 


     
0 0
1 2 1
x x
n n n
x x
L y s y s ds L z s ds
  
  
 


9

 
 
 
0
1
1 0 1 0
1 ! !
n n
x
n n
x
s x x x
ML ds ML
n n

 
 
 



(1.8) được chứng minh.
Xét chuỗi vô hạn có dạng:

     
0 1 2

n

y z x z x z x
    
(1.9)
Tổng riêng thứ n của chuỗi này là:
   
0
1
n
n k
k
y x y z x

 

(1.10)
Ta có, dãy
 
 
n
y x
hội tụ khi và chỉ khi chuỗi (1.9) hội tụ.
Từ bất đẳng thức (1.8) ta có:
 
 
1
0 0 0
1 1 1
.
! !
k

k
k
k
k k k
L
M
y z x y M L y
k L k


  

  
    
  
(1.11)
Vì chuỗi
 
1
!
k
k
L
k




hội tụ đến
 

1
L
e


do đó chuỗi (1.9) hội tụ đều trên
 
0 0
,x x


khi
n  
. Gọi tổng của chuỗi (1.9) là
 
y x
, khi đó theo (1.10 )
ta có:
   
lim
n
n
y x y x


.
Từ tính hội tụ đều của
 
n
y x

đến
 
y x
và tính liên tục của hàm
 
,f x y
trên
B
0
suy ra rằng
 
 
,
n
f x y x
hội tụ đều đến
 
 
,
f x y x
trên
 
0 0
,x x


khi
n  
.
Do đó:

   
 
0
0 1
,
x
n n
x
y x y f s y s ds

 

   
 
0
0 1
lim ,
x
n
x
y x y f s y s ds

  


Vậy:
   
 
0
0

,
x
x
y x y f s y s ds
 


Như vậy tồn tại nghiệm
 
y x
của phương trình (1.4), (1.5).
10

Nghiệm này là duy nhất. Thật vậy, giả sử
 
y x

 
z x
là hai nghiệm
của (1.4), (1.5).
Hàm không âm
     
w x y x z x
 
thoả mãn
 
0
0
w x



   
 
 
 
     
0 0 0
, ,
x x x
x x x
w x f s y s f s z s ds L y s z s ds L w s ds
    
  
(1.12)
Giả sử K là giá trị lớn nhất của
 
w x
với
 
0 0
,x x x

 
và do đó
0K 

Khi đó
   
 

 
0
0 0 0
. ,
x
x
w x L w s ds K L x x x x x

     

(1.13)
Thay bất đẳng thức (1.13) và vế phải của (1.14) ta có:
 
 
 
0
2
2 2 0
0
. .
2!
x
x
x x
w x L K s x ds K L

  


Tiếp tục quá trình trên ta có:

 
 
 
0
0 0
. 1,2 ,
!
k
k
x x
w x K L k x x x
k


    
(1.14)
((1.14) có thể chứng minh bằng phương pháp quy nạp).
Hơn nữa vế phải của (1.14) bị chặn trên bởi:

 
 
0
0 0
. . ,
!
k
k
x x
K L x x x
k



  

Biểu thức này có thể nhỏ tuỳ ý bởi chọn k đủ lớn.
Vì vậy
 
0
w x

với
 
0 0
,x x x

 
.
Hay
   
y x z x
là nghiệm duy nhất của bài toán.
Nhận xét
Nếu y, z thỏa mãn (1.4) cùng với y(a) = y
0
và z(a) = z
0
thì:

       
d

y x z x L y x z x
dx
  

11

Nhân cả hai vế với
Lx
e

và ta có
   
 
0
Lx
d
e y x z x
dx

 

Suy ra:
   
 
0 0
L x a
y x z x y z e

  
(1.15)

Định nghĩa 1.2
Một họ các hàm số
 
F f
xác định trên khoảng I được gọi là liên tục
đồng bậc trên I nếu mọi
0


, tồn tại
 
0
  
 
sao cho với
1
, ,x x I

1
x x

 
và với mỗi
f F
thì
   
1
f x f x

 

.
Nhận xét
i) Bất kỳ tập con của họ liên tục đồng bậc là liên tục đồng bậc.
ii) Mỗi phần tử của họ liên tục đồng bậc là một hàm liên tục.
iii) Một họ các hàm khả vi là liên tục đồng bậc tại mọi điểm trên I nếu các đạo
hàm của nó bị chặn đều trên I.
Bổ đề 1.1
Trên một tập compact
0
n
B 

, lấy
 
 
, 1,2,
n
f x n 
là một dãy các
hàm liên tục đồng bậc và bị chặn đều. Khi đó tồn tại một dãy con
 
 
k
n
f x

hội tụ đều trên
0
B
.

Định lý 1.2 (Định lý tồn tại Peano: trường hợp vectơ)
Cho
0
,
n
f C B
 

 

, ở đây B
0
là tập:
 
 
0 0 0
, : ,
x y x x x y y b

     

 
,
f x y M
trên B
0
.
Khi đó bài toán giá trị ban đầu (1.4), (1.5) có ít nhất một nghiệm
 
y x


trên
0 0
x x x

  
, ở đó
 
min ,
a b M


.
Chứng minh
12

Đặt
 
0
y x
là một hàm khả vi liên tục trên
 
0 0
, , 0
x x
 
 
thỏa mãn
 
0 0 0

y x y
,
 
 
 
0 0
' ,
y x f x y x

,
 
0 0
y x y b 

 
0
'
y x M
. Với
0
 
 
, ta định nghĩa một hàm
 
y x

trên
 
0 0
,x x

 
 
bởi:
 
 
 
 
 
0
0 0 0
0
,
,
x
x
y x x x x
y x
y f s y s ds





 



 




(1.16)
Hàm
 
y x

xác định theo hệ thức (1.16) là một hàm khả vi liên tục cấp 1
trên
 
 
0 0 1 1
, , min ,
x x
    
  
và trên đoạn này:
 
0
y x y b

 
(1.17)
Nếu
1
 

ta có thể sử dụng (1.16) mở rộng
 
y x


là một hàm khả vi
liên tục cấp 1 trên
 
 
0 0 2 2
, , min ,2
x x
    
  
sao cho bất đẳng thức
(1.17) xảy ra.
Tiếp tục quá trình này, ta có hàm
 
y x

khả vi liên tục cấp 1 trên
 
0 0
,x x
 
 
và thỏa mãn (1.17) trên đoạn này. Hơn nữa:
 
'
y x M



trên
 

0 0
,x x
 
 
và vì thế dãy
 
 
, 0y x

 
 
là một họ các hàm liên
tục đồng bậc và bị chặn đều.
Áp dụng bổ đề 1.1, suy ra tồn tại một dãy
 
n


   
lim
n
n
y x y x



tồn
tại đều trên
 
0 0

,x x
 
 
. Vì sự hội tụ này là đều và từ tính liên tục của
hàm f trên B
0
suy ra hàm
 
 
,
n
n
f x y x



hội tụ đều đến
 
 
,
f x y x
khi
n  
. Hơn nữa lấy giới hạn hai vế của (1.16) cùng với
n
 

ta có:

   

 
0
0
,
x
x
y x y f s y s ds
 


Điều này chứng tỏ
 
y x
là nghiệm của (1.4), (1.5).

13

Hệ quả 1.1
Cho
,
n
f C
 
 
 


 
,
f x y M

trên

. Ngoài ra cho
0

là một
tập con compact của

. Khi đó tồn tại số
0


phụ thuộc trên

,
0

và M
sao cho nếu
 
0 0 0
,x y

, (1.4) (1.5) có nghiệm và mọi nghiệm của (1.4)(1.5)
tồn tại trên
 
0 0
,x x



.
1.4 Tính liên tục của nghiệm
Bổ đề 1.2
Cho
,
n
f C
 
 
 


 
y x
là một nghiệm của (1.4), (1.5) trên đoạn


0 0
, ,x x a a
  
. Giả sử có một dãy
 
k
x
sao cho
0k
x x a 
khi
k  


và tồn tại
 
lim
k
n
y x



. Nếu
 
,f x y
bị chặn trên giao của

và một lân cận
của
 
0
,x a


thì
 
0
lim
x x a
y x

 


(1.18)
Định lý 1.3
Giả sử rằng
,
n
f C
 
 
 


 
y x
là một nghiệm của (1.4), (1.5) trên
0 0 0
x x x b  
.
Khi đó
 
y x
có thể được mở rộng thành nghiệm của (1.4), (1.5) trên
biên của

.
Chứng minh
Đặt
1 2 3
, , ,   
là các tập mở của


sao cho
n
  
, bao đóng
1 2 3
, , ,   
là các tập compact và
1n n
  
.
Khi đó từ hệ quả 1.3, suy ra tồn tại
0
n


sao cho, nếu
 
0 0
,
n
x y

, tất
cả các nghiệm của (1.4), (1.5) tồn tại trên
0 0
n
x x x

  
.

Bây giờ, chọn một số nguyên
1

đủ lớn mà
 
 
1
0 0 0 0
,x b y x b

  
.
Khi đó nghiệm
 
y x
có thể được mở rộng trên đoạn
 
0 0 0 0
,
n
x b x b

  
.
14

Tương tự, nếu
 
 
1 1 1

0 0 0 0
,x b y x b
  
 
    
, nghiệm
 
y x
có thể
được mở rộng hơn trên đoạn
1
0 0 0 0
, 2x b x b


 
  
 
.
Lặp lại lập luận trên cho đến khi nghiệm
 
y x
được mở rộng trên đoạn
 
0 0 1
,
x x b
, ở đây
1
1 0 1

b b N


 
,
1 1
, 1
N N
 

, sao cho
 
 
1
0 1 0 1
,x b y x b

  
. Tương tự, chọn một số nguyên
2

đủ lớn sao cho
 
 
2
0 1 0 1
,x b y x b

  
. Khi đó, một lập luận tương tự đưa đến kết luận

nghiệm
 
y x
có thể được mở rộng trên đoạn
 
0 0 2
,
x x b
, ở đây
2
2 1 2
b b N


 
,
2 2
, 1
N N
 

sao cho
 
 
2
0 2 0 2
,x b y x b

  
.

Tiếp tục quá trình này, đưa đến một dãy các số nguyên
1 2 3

  
  

và các số thực
0 1 2

b b b
  
Vì vậy
 
y x
liên tục trên
 
0 0
,
x x b
, ở đây
lim
n
n
b b


sao cho
 
 
0 0

,
k
k k
x b y x b

  
. Do đó dãy
 
 
 
0 0
,
k k
x b y x b 

hoặc không bị chặn hoặc có một điểm giới hạn trên biên của

. Nếu nó
không bị chặn thì suy ra ngay khẳng định của định lý, nếu nó có một điểm
giới hạn trên biên của

thì theo bổ đề 1.2 nghiệm
 
y x
tiến đến biên của


khi
0
x x b 

.
Hệ quả 1.2
Cho
,
n
f C
 
 
 

, ở đây
 


 
0 0
, : , , ,
n
x y J J x x b b x
         

.
Nếu
 
y x
là nghiệm của (1.4),(1.5) khi đó tồn tại đoạn lớn nhất chứa
 
y x
hoặc là
 

0 0
,
x x b
hoặc là
 
0 0
, ,
x x b
 
 

 
y x
 
khi
0
x x

 
.

15

1.5. Nghiệm xấp xỉ -


Cho
 
,f x y
là hàm liên tục nhận giá trị vectơ trên miền


.
Định nghĩa 1.3
Một hàm
 
t

gián đoạn đơn tại điểm
1
x x
nếu giới hạn trái và giới
hạn phải của
 
t

tại điểm
1
x x
tồn tại nhưng không bằng nhau.
Định nghĩa 1.4
Một hàm
 
y x
xác định và liên tục trên đoạn
J  
được gọi là một
nghiệm xấp xỉ -

của phương trình


 
' ,y f x y
trên
J
(1.19)
nếu i)
 
 
, ,
x y x x J 
.
ii)
 
1
'
y x C
trên
J
có thể trừ một tập S- tập hữu hạn các điểm
trên
J
, ở đây
 
'y x
có thể có các điểm gián đoạn đơn.
iii)
   
 
' , ,
y x f x y x x J S


   
.
Định lý 1.4
Giả sử
 
,f x y
là hàm liên tục trên:

 
 
0 0 0 0
, : ,
B x y x x x a y y b      

Đặt
 
   
0
,
max , , min ,
x y B
M f x y a b M


 
.
Khi đó, với
0



tồn tại một nghiệm xấp xỉ -


 
y x
của (1.19) trên
đoạn
0 0
x x x

  
sao cho
 
0 0
y x y
.
Chứng minh

 
,f x y
là hàm liên tục trên tập compact B
0
, nó liên tục đều trên tập
này. Do đó, với
0


tồn tại
 

0
  
 
với
   
1 1 0
, , ,
x y x y B
ta có
1
x x

 

1
y y

 
thì
   
1 1
, ,f x y f x y

 
(1.20)
16

Chia đoạn
 
0 0

,x x


thành n phần
0 1 2 0

n
x x x x x

     
sao
cho
 
1
max min ,
k k
x x M
 

 
(1.21)
Định nghĩa hàm
 
y x
trên
 
0 0
,x x



bởi
 
0 0
y x y

 
   
 
 
1 1 1 1
,
k k k k
y x y x f x y x x x
   
  
với
1
, 1,2, ,
k k
x x x k n

  
(1.22)
Từ định nghĩa hàm
 
y x
ta có:
 
1
p

y x C
trên
 
0 0
,x x



   
 
0 0
, , ,y x y x M x x x x x x

    
  
(1.23)
Với
 
1
,
k k
x x x


từ bất đẳng thức (1.21) và (1.23) suy ra:

 
 
1k
y x y x



 

Do đó, từ các hệ thức (1.20) và (1.22) có
   
 
 
 
 
 
1 1
' , , ,
k k
y x f x y x f x y x f x y x

 
   

Vì vậy
 
y x
là một nghiệm xấp xỉ -

của (1.19).
Định lý 1.5 (Định lý tồn tại Cauchy – Peano)
Giả sử tất cả các giả thiết của định lý 1.4 xảy ra. Khi đó tồn tại một
nghiệm
 
y x

của (1.19) trên đoạn
0 0
x x x

  
sao cho
 
0 0
y x y
.
Chứng minh:
Xét một dãy đơn điệu giảm
 
, 1,2,
n
n


các số thực dương, sao cho
0
n


khi
n  
. Vì tất cả các điều kiện của định lý 1.4 được thỏa mãn, với
mỗi
0
n



tồn tại một nghiệm xấp xỉ -
n


 
n
y x
của (1.19) trên đoạn
0 0
x x x

  
sao cho
 
0 0
n
y x y
.
Chọn mỗi nghiệm
 
n
y x
ứng với một
n

. Từ (1.23) suy ra rằng
   
 
0 0

, , ,
n n
y x y x M x x x x x x

    
  
(1.24)
Điều này suy ra dãy
 
 
n
y x
liên tục đồng bậc trên
 
0 0
,x x


.
17


b M


, áp dụng bất đẳng thức (1.24) với
0
x x

có thể kiểm tra

được dãy
 
 
n
y x
bị chặn đều bởi
0
y b
. Hơn nữa, theo bổ đề 1.1 tồn tại
một dãy con
 
 
k
n
y x
hội tụ đều đến hàm liên tục
 
y x
trên đoạn
 
0 0
,x x



và thỏa mãn
   
y x y x M x x  
 
.

Định nghĩa hàm
 
n
x
sao cho:
     
 
' ,
n n n
x y x f x y x
  
(tại các điểm ở đó
'
n
y
tồn tại).
= 0 (trong trường hợp còn lại).
Khi đó
   
 
 
0
0
,
x
n n n
x
y x y f s y x s ds
 
   

 

(1.25)
Ta cũng có
 
n
x

 

 
n
y x
là một nghiệm xấp xỉ -
n

của (1.4), (1.5)
Từ tính liên tục đều của f trên B
0

và vì

   
k
n
y x y x
đều trên
 
0 0
,x x



khi
k  
, suy ra rằng
 
 
 
 
, ,
k
n
x
f y x f x y x

đều trên
 
0 0
,x x


khi
k  
.
Ta có
0
k
n



khi
k  
suy ra
 
0
k
n
x
 
đều trên
 
0 0
,x x


khi
k  
. Vì vậy thay thế n bởi n
k
trong đẳng thức (1.25) và cho
k  
đạt
được :
   
 
0
0
,
x
x

y x y f s y s ds
 


* Kết luận
Chương 1 trình bày định nghĩa về phương trình vi phân thường trong
N

. Các định lý về sự tồn tại và duy nhất nghiệm, tính liên tục của nghiệm và
nghiệm xấp xỉ của bài toán giá trị ban đầu của phương trình vi phân thường.
Trong chương 2 và chương 3 khi nghiên cứu về phương pháp Runge – Kutta
giải phương trình vi phân thường ta luôn giả thiết chúng thỏa mãn các điều
kiện của định lý về sự tồn tại và duy nhất nghiệm.
18

Chương 2

Phương pháp Runge – Kutta

Phương pháp Runge – Kutta là một trong các phương pháp một bước
xấp xỉ nghiệm của bài toán giá trị ban đầu. Trong chương này chúng tôi
nghiên cứu phương pháp một bước sau đó đưa ra các phương pháp Runge –
Kutta bậc 1, 2, 3.
2.1 Phương pháp một bước
2.1.1. Phương pháp một bước
Xét bài toán giá trị ban đầu (1.4), (1.5)
Giả thiết hàm f luôn thoả mãn điều kiện của định lý 1.1
Giả sử bài toán (1.4), (1.5) giải được trên đoạn
 
0

,
M
x X
.
Chia
 
0
,
M
x X
bởi các điểm lưới
0
0,1, , .
n
x x nh n N  

ở đó
 
0
M
X x
h
N


, N nguyên dương. Số thực dương h được gọi là độ dài
bước hoặc bước lưới (mesh size).
Phương pháp một bước là phương pháp biểu thị
1n
y


trong các số hạng của
giá trị trước
n
y
.
Phương pháp một bước được viết dưới dạng:
   
1 0 0
, ; 0,1, , 1,
n n n n
y y h x y h n N y x y


    
(2.1.1)
Ở đây
 
.,.;.

là một hàm liên tục theo các biến của nó và được gọi là hàm số
gia tương đối.
2.1.2 Sai số toàn cục của phương pháp một bước
Để đánh giá độ chính xác của phương pháp (2.1.1), ta định nghĩa sai số
toàn cục
n

bởi
 
n n n

y x y  
và sai số địa phương
n

xác định bởi:
19


   
 
 
1
, ;
n n
n n n
y x y x
x y x h
h
 


 
(2.1.2)
Định lý sau đây cung cấp cho ta một biên trên của sai số toàn cục trong các
số hạng của sai số địa phương.
Định lý 2.1
Xét phương pháp một bước (2.1.1), ở đây

là hàm liên tục theo các biến
và thoả mãn điều kiện Lipschitz đối với 2 biến của nó, nghĩa là; tồn tại một

hằng số dương
L

sao cho, với
0
0
h h 
và với mọi
 
,x u

 
,x v
trên

 
 
0 0
, : ,
M
D x y x x X y y C
    

Ta có:
   
, ; , ;
x u h x v h L u v

 
  

(2.1.3)
Giả sử
0
, 1,2,
n
y y C n N  
.
Suy ra :
 
 
0
. 1 , 0,1, ,
M
L X x
n
T
e n N
L



   
. (2.1.4)
Ở đây
0 1
n
n N
T max

  


.
Chứng minh
Viết lại (2.1.2) như sau:
     
 
1
, ;
n n n n n
y x y x h x y x h h
 

  

Và trừ vế với vế của (2.1.1) ta có:

1
0,1, , 1
n n n n
hL h n N



       

Hay
 
1
1 0,1, , 1
n n n

hL h n N



      
(2.1.5)
Bằng phương pháp quy nạp ta chứng minh được:

 
0
1 1 , 0,1, , 1, 0
n
n
T
hL n N
L


 
       
 
 
(2.1.6)
Khai triển Taylor của hàm
x
e
ta có:

2
1

2
x
x
e x e

   
1,
x
e x x
  
Vậy
1
hL
hL e


 
và do đó :
20


 
1
n
nhL
hL e


 


Sử dụng kết quả này vào (2.1.6) ta có:



0
1 1
n
n
nhL x x L
T T
e e
L L
 
 

 
 
    
 
 
 
 



2.1.3 Tính nhất quán của phương pháp một bước
Định lý 2.1 cho thấy nếu sai số địa phương tiến dần đến 0 khi
0h 
thì
sai số toàn cục cũng hội tụ đến 0. Từ đó ta có định nghĩa sau:

Định nghĩa 2.1
Phương pháp số (2.1.1) là nhất quán cùng với phương trình vi phân
(1.4), nếu sai số cụt được xác định bởi (2.1.2) thoả mãn với
0

 
, tồn tại
một số dương
 
h

sao cho với
 
0 h h

 
và bất kỳ cặp điểm
 
 
 
 
1 1
, , ,
n n n n
x y x x y x
 
trên D thì
n
 


.
Với phương pháp một bước tổng quát (2.1.1) ta giả sử rằng hàm
 
.,.;.


là liên tục, vì
,
y
cũng là hàm liên tục trên
 
0
, ,
M
x X
và từ (2.1.2) ta suy ra khi
0h 

n  
, cùng với
 
0
lim ,
n M
n
x x x X

 
thì :
   

 
,
lim , ;0
n
n
y x x y x
 

 

Điều này suy ra rằng phương pháp một bước (2.1.1) là nhất quán khi và
chỉ khi
 
 
 
, ;0 ,x y x f x y


(2.1.7)
Điều kiện (2.1.7) đôi khi được sử dụng như định nghĩa tính nhất quán.
2.1.4 Sự hội tụ của phương pháp một bước
Định lý 2.2
Giả sử bài toán giá trị ban đầu (1.4), (1.5) thoả mãn điều kiện của định
lý Picard- Lindelof và xấp xỉ của nó phát sinh từ (2.1.1) khi
0
h h
nằm trong
21

miền D. Giả sử hàm

 
.,.;.

là liên tục trên
 
0
0,D h
, thoả mãn điều kiện
nhất quán (2.1.7) và điều kiện Lipschitz

   
, ; , ;
x u h x v h L u v

 
  
trên
 
0
0,D h
(2.1.8)
Khi đó, nếu dãy xấp xỉ liên tiếp
 
n
y
được tạo ra bởi sử dụng các điểm
lưới
0
, 1,2, ,
n

x x nh n N  
có được từ (2.1.1) cùng với các giá trị liên tục
nhỏ hơn của mỗi
0
h h
thì ta có sự hội tụ của nghiệm số đến nghiệm của bài
toán giá trị ban đầu, nghĩa là:
 
lim
n
n
y y x


khi
 
0
,
n M
x x x X 
,
h  

n  
.
Với mục đích xác định gần đúng tốc độ tắt dần của sai số cụt khi bước
0h 
, ta đưa vào định nghĩa sau:
Định nghĩa 2.2
Phương pháp một bước (2.1.1) được gọi là có độ chính xác bậc p, nếu p

là số dương lớn nhất sao cho, với bất kỳ đường cong nghiệm trơn
 
 
,
x y x

trong D của bài toán (1.4), (1.5), tồn tại hằng số K và
0
h
sao cho:
p
n
Kh


với
0
0
h h 
và với bất kỳ cặp điểm
 
 
 
 
1 1
, , ,
n n n n
x y x x y x
 


trên D.
2.2 Phương pháp Runge – Kutta
2.2.1 Phương pháp Runge – Kutta tổng quát
Phương pháp Runge- Kutta tổng quát có dạng:
 
 
1
1
,
s
n n i ni ni
i
y y h b f x y x


 

(2.2.1)
Trong đó
1
n n
h x x

 

 
0 1
ni n i i
x x p h p
   

(các điểm
 
1
,
ni n n
x x x


).
Với mục đích tìm
 
ni
y x
ta áp dụng công thức cầu phương với
n
x x


nj
T x
, sử dụng (một tập con của) các điểm
, 1, ,
ni
x i s
. Đạt được:
22

   
 
 

1
,
s
ni n ij nj nj
j
y x y x h a f x y x

 

(2.2.2)
Kết hợp (2.2.1) và (2.2.2) ta tìm được công thức Runge – Kutta với cấp s:

1
1
s
n n i i
i
y y h bk


 

(2.2.3)
Trong đó:
1
, , 1
s
i n i n ij j
j
k f x hc y h a k i s


 
    
 
 

gọi là các cấp.
Các hệ số
, 1
i
b i s 
được gọi là trọng số cầu phương.
Các hệ số
, 1
i
c i s 
được gọi là các nút.
Các hằng số
, , , 1 ,
ij i i
a b c i j s 
được chọn sao cho khai triển Taylor của
nghiệm:
         
2 3
1
' '' '''
2 3!
n n n n n n
h h

y y x h y x hy x y x y x

      

   
 
 
2 3
2 2
, 2
2 3!
n n n x y xx xy yy x y y
n
n
h h
y x hf x y f ff f ff f f f f f f
         
(chỉ số dưới n có ý nghĩa là mọi hàm có liên quan đều được ước lượng tại
điểm
 
,
n n
x y
) và biểu thức (2.2.3) 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 tuỳ ý.
Để thuận tiện hơn ta biểu thị các hệ số của phương pháp Runge – Kutta
trong một ma trận (gọi là ma trận Butcher):
c
1
a

11
a
12
… a
1s

c
2
a
21
a
22
… a
2s
… … … … …
c
s
a
s1
a
s2
… a
ss

b
1
b
2



b
s

Hoặc có thể viết tắt


A
c
b
T
23

Trong đó : vectơ c chỉ ra các vị trí trong mỗi bước của cấp các giá trị.
Ma trận A chỉ sự phụ thuộc của các cấp đạo hàm tìm được tại các cấp
khác nhau.
Vectơ b
T
là vectơ trọng số cầu phương.
Phương pháp Runge – Kutta là hiển (nghĩa là một xấp xỉ của y
n+1
có thể
tìm được bởi ước lượng trực tiếp y
n
) nếu
 
0
ij
a j i 
hay A là ma trận tam
giác dưới hoàn toàn. Trường hợp còn lại gọi là phương pháp Runge – Kutta

ẩn. Đặc biệt nếu
 
0 1
ij
a j i
  
thì ta gọi là phương pháp ẩn chéo.
Trong giới hạn của đề tài này chúng tôi chỉ nghiên cứu các phương
pháp Runge – Kutta hiển.
Rõ ràng phương pháp Runge – Kutta là phương pháp một bước có dạng
(2.1.1) ở đây hàm
 
1 1 1
, ; ,
s s s
n n i i i n i n ij j
i i j
x y h b k b f x hc y h a k

  
 
   
 
 
  
.
Từ điều kiện nhất quán của phương pháp một bước và cách xây dựng
phương pháp Runge – Kutta dẫn đến một số các hệ thức liên hệ giữa các hệ số
của phương pháp.
Định lý 2.1

Với một công thức Runge – Kutta nhất quán ta có:

1
1
s
i
i
b





1
, 1,2, ,
s
i ij
j
c a i s

 


2.2.2 Phương pháp Runge – Kutta bậc 1 (phương pháp Euler )
Phương pháp Runge – Kutta đơn giản nhất có dạng:

 
1
,
n n n n

y y hf x y

 

Sai số của phương pháp này là:
24


   
 
 
   
 
1 1
, '
n n n n
n n n n
y x y x y x y x
f x y x y x
h h

 
 
   
(2.2.4)
Giả sử
 
2
0
,

M
y C x X

. Khai triển
 
1
n
y x

thành chuỗi Taylor xung quanh
điểm x
n
:
         
2
1 1
' '' ,
2
n n n n n n n n
h
y x y x h y x hy x y x x
 
 
      

Thay vào (2.2.4) ta có:
 
2
''
2

n n
h
y
 


Đặt
 
 
0
2
,
max ''
M
x X
M y




Khi đó
, 0,1, , 1
n
T n N

  
, ở đây
2
1
2

T hM


Áp dụng định lý 2.1 với
   
, ; ,
n n n n
x y h f x y



L L


ở đó L là hằng số
Lipschitz của f. Ta có:
 
0
2
1 1
, 0,1, ,
2
n
L X x
n
e
M h n N
L

 


  
 
 

Vậy sai số toàn cục của phương pháp này là O(h). Do đó phương pháp
có độ chính xác bậc 1.
2.2.3 Phương pháp Runge – Kutta bậc 2
Phương pháp Runge – Kutta bậc 2 có dạng

 
 
 
1 1 1 2 2
1
2 2 21 1
,
,
n n
n n
n n
y y h b k b k
k f x y
k f x c h y a hk

  

  

ở đây

     
 
1 2 2 21
, ; , , ,
n n n n n n n n
x y h b f x y b f x c h y a hf x y

   

Để xác định sai số của phương pháp ta cần đạo hàm cấp cao hơn của
 
n
y x
mà có thể đạt được bằng cách vi phân hàm f

 
 
 
   
'
''
'''
n
n x y
n xx xy xy yy y x y
y x f
y x f ff
y x f f f f ff f f f ff

 

     

25

(Trong các biểu thức trên chỉ số dưới x và y kí hiệu các đạo hàm riêng và tất
cả các hàm xuất hiện trong vế phải đều được ước lượng tại điểm
 
,
n n
x y
)
Từ điều kiện nhất quán của phương pháp đưa đến
1 2 2 21
1,
b b c a  

Khai triển Taylor hàm
 
, ;
n n
x y h

theo các luỹ thừa của h, ta có:
 
 
 
1
2
2 2 2 2 3
2 2 21 2 2 21 21

, ;
1 1
2 2
n n
x y xx xy yy
x y h b f
b f c hf a hff c h f c a h ff a h f f O h

 
 
      
 
 

 
 
2
2 2 2 2 3
1 2 2 2 2 2 2
2 21
1 1
2 2
( )
x y xx xy yy
b f b f c hf c hff c h f c h ff c f f O h
c a
 
       
 
 


 
 
   
2 2 2 3
1 2 2 2 2
1
2
2
x y xx xy yy
b b f b c f ff h c f ff f f h O h
       
 
 
2 2 3
1 2 2 2 2
1
2
b b f b c Fh c Gh O h
    

Trong đó :
2
, 2
x y xx xy yy
F f ff G f ff f f
    

Khai triển
 

1
n
y x

thành chuỗi Taylor đến các số hạng bậc h
3
:
           
 
   
 
 
 
 
 
2 3
1
2 3
2 4
2 3
4
' '' '''
2 6
2
2 6
2 6
n n n n n n
n x y xx xy yy y x y
n y
h h

y x y x h y x hy x y x y x
h h
y x hf f ff f ff f f f f ff O h
h h
y x fh F G Ff O h

      
         
     

Do đó sai số cụt của phương pháp là:
 
 
 
2 2 3
1 2 2 2 2
1 1 1
1
2 6 2
n y
b b f b c Fh G f F c G h O h

   
        
 
 
   
.

1 2

1
b b
 
nên
 
1 2
1 0
b b f
  
. Để hệ số của số hạng chứa h trong sai số
cụt triệt tiêu với mọi hàm f thì:
2 2
1
2
b c

.
26

Do vậy phương pháp có độ chính xác bậc 2 nếu:

 
21 2
1 2
2
2
2
1
1 0
2

1
2
a c
b c
c
b
c





  







Ta có thể tìm ra một họ các phương pháp bậc 2 một tham số có dạng này (với
tham số
2
0
c

).
Sai số cụt của phương pháp là:
 
 

2 2 3
2
1 1
6 2
n y
G f F c G h O h

 
   
 
 

Rõ ràng không thể chọn tham số tự do
2
c
sao cho phương pháp có độ
chính xác bậc 3 với mọi hàm f. Điều này được thể hiện qua ví dụ sau:
Xét bài toán:
 
' , 0 1
y y y
 
.
Nghiệm của bài toán là
x
y e

Sai số của phương pháp Runge – Kutta bậc 2 là:
 
 

2 3
1
6
n n
y x h O h

 
, không phụ thuộc vào c
2
.
Như vậy phương pháp có độ chính xác bậc 2.
Sau đây là hai ví dụ về phương pháp Runge – Kutta bậc 2.
* Phương pháp điểm giữa
Chọn
2
1
2
c

ta có:
 
1
1 1
, ,
2 2
n n n n n n
y y hf x h y hf x y

 
   

 
 
(2.2.5)
* Phương pháp Euler cải tiến
Chọn
2
1
c

thì
21 1 2
1 1
1, ,
2 2
a b b
  
ta có:

   
 
 
1
1
, , ,
2
n n n n n n n n
y y h f x y f x h y hf x y

    
(2.2.6)

27

2.2.4 Phương pháp Runge – Kutta bậc 3
Phương pháp Runge – Kutta bậc 3 có dạng:

 
 
 
 
1 1 1 2 2 3 3
1
2 2 21 1
3 3 31 1 32 2
,
,
,
n n
n n
n n
n n
y y h b k b k b k
k f x y
k f x c h y a hk
k f x c h y a hk a hk

   

  
   


Như vậy phương pháp có 8 tham số:
2 3 21 31 32 1 2 3
, , , , , , ,c c a a a b b b
. Chúng ta sẽ
xác định các tham số này sao cho phương pháp có bậc cao nhất có thể.
Từ định lý 2.1 ta có :

3
1 2 3
1
2 21
3
3 31 32
1
1
1
, 1,2,3
i
i
i ij
j
b b b
b
c a
c a j
c a a



  




 
 
 
 
 
 






Để xác định sai số cụt của phương pháp chúng ta khai triển
 
1
n
y x

thành
chuỗi Taylor đến các số hạng bậc h
3
và khai triển Taylor hàm
 
, ;
n n
x y h



theo các luỹ thừa của h.
Ta có:
   
 
 
 
 
 
2 2 21 21 2
2 2 2 2 2 2 2 3
2 2 2 2 2
2 2 3
2 2
, ,
1 1
2 2
1
2
n n n n
x y xx xy yy
k f x c h y x a hf x y x a c
f c hf c hff c h f c h ff c h f f O h
f c hF c h G O h
   
      
   

   
 

3 3 31 1 32 2
,
n n
k f x c h y x h a k a k   


   
2 2 2
3 31 1 32 2 3 3 31 1 32 2
1
2
x y yy xy
f c hf h a k a k f c h f c a k a k h f       


 
 
2
2 3
31 1 32 2
1
2
yy
a k a k h f O h
  

×