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

Kết hợp hai phương pháp số để giải bài toán cauchy trong 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 (596.31 KB, 112 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM ĐÀ NẴNG
KHOA TOÁN
−−−⋆−−−

TRẦN THỊ THẮM

KẾT HỢP HAI PHƯƠNG PHÁP
SỐ ĐỂ GIẢI BÀI TOÁN
CAUCHY TRONG PHƯƠNG TRÌNH
VI PHÂN THƯỜNG

Chun ngành: Cử nhân Tốn ứng dụng.

KHĨA LUẬN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY

Người hướng dẫn:
Th.S NGUYỄN HOÀNG THÀNH

Đà Nẵng, 4/2015


Mục lục
Lời nói đầu

5

1 Kiến thức cơ sở

7

1.1



Phương trình vi phân . . . . . . . . . . . . . . . . . . . . .

7

1.2 Bài toán Cauchy và cách tiếp cận lời giải số . . . . . . . . .

7

1.3

1.2.1

Định lý tồn tại duy nhất nghiệm . . . . . . . . . . .

8

1.2.2

Tiếp cận lời giải số . . . . . . . . . . . . . . . . . .

8

Phương pháp số tổng quát . . . . . . . . . . . . . . . . . .

8

1.3.1

Cấp chính xác của phương pháp số . . . . . . . . . .


9

1.3.2

Tính phù hợp của phương pháp số . . . . . . . . . . 10

1.3.3

Tính zero - ổn định của phương pháp số . . . . . . 12

1.3.4

Sự hội tụ của phương pháp số . . . . . . . . . . . . 12

1.4 Phương pháp lặp đơn . . . . . . . . . . . . . . . . . . . . . 13
1.4.1

Phương pháp lặp đơn . . . . . . . . . . . . . . . . . 13

1.5 Đa thức nội suy Newton lùi với các mốc cách đều . . . . . . 14
1.6 Phương trình Riccati . . . . . . . . . . . . . . . . . . . . . 15
1.6.1

Dạng chính tắc của phương trình Riccati . . . . . . 15

1.6.2

Một số tính chất . . . . . . . . . . . . . . . . . . . . 15


1.6.3

Dạng đặc biệt của phương trình Riccati

. . . . . . 16

1.7 Phương pháp Runge - Kutta . . . . . . . . . . . . . . . . . 16
2

Các phương pháp số để giải bài toán Cauchy trong phương
trình vi phân thường
2.1

19

Các phương pháp tuyến tính đa bước
−2−

. . . . . . . . . . . 19


2.1.1

Khái niệm chung . . . . . . . . . . . . . . . . . . . 19

2.1.2

Sự hội tụ của phương pháp tuyến tính k bước . . . . 21

2.1.3


Cấp chính xác . . . . . . . . . . . . . . . . . . . . . 22

2.2 Phương pháp Adams - Bashforth . . . . . . . . . . . . . . . 22
2.2.1

Xây dựng công thức . . . . . . . . . . . . . . . . . 22

2.2.2

Một số phương pháp Adams - Bashforth . . . . . . . 24

2.3 Phương pháp Adams - Moulton

2.4

. . . . . . . . . . . . . . . 26

2.3.1

Xây dựng công thức

. . . . . . . . . . . . . . . . . 26

2.3.2

Một vài công thức Adams - Moulton . . . . . . . . . 28

Phng phỏp Nystroăm . . . . . . . . . . . . . . . . . . . . 30


2.5 Phương pháp BDF . . . . . . . . . . . . . . . . . . . . . . 34
2.5.1

Phát biểu công thức BDF . . . . . . . . . . . . . . . 34

2.5.2

Xét sự hội tụ và cấp chính xác của phương pháp
BDF 2 bước, 3 bước . . . . . . . . . . . . . . . . . . 36

2.6

Phương pháp Milne - Simpson . . . . . . . . . . . . . . . . 39
2.6.1

2.7
3

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . 39

2.6.2

Cấp chính xác của phương pháp Milne - Simpson

. 41

2.6.3

Sự hội tụ của phương pháp Milne - simpson . . . . . 43


Phương pháp tuyến tính 2 bước ẩn có cấp chính xác bằng 3 44

Dự báo bằng 1 phương pháp tuyến tính đa bước hiển và
hiệu chỉnh bằng 1 phương pháp tuyến tính đa bước ẩn để
giải bài tốn Cauchy đối với phương trình vi phân thường 48
3.1 Kt hp phng phỏp Nystroăm 2 bc v phng phỏp
Adams - Moulton 2 bước để giải bài toán Cauchy . . . . . . 48
3.1.1

Thuật toán . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.2

Áp dụng giải một số ví dụ . . . . . . . . . . . . . . 49

3.2 Kết hợp phương pháp Adams - Bashforth 2 bước và phương
pháp tuyến tính 2 bước để giải bài toán Cauchy . . . . . . . 56
3.2.1

Thuật toán . . . . . . . . . . . . . . . . . . . . . . . 56

3.2.2

Áp dụng giải một số ví dụ . . . . . . . . . . . . . . 57
−3−


3.3 Kt hp phng phỏp Nystroăm 2 bc v phng pháp
Adams - Moulton 3 bước để giải bài toán Cauchy . . . . . . 65
3.3.1


Thuật toán . . . . . . . . . . . . . . . . . . . . . . . 65

3.3.2

Áp dụng giải một số ví dụ . . . . . . . . . . . . . . 66

3.4 Kết hợp phương pháp Adams - Bashforth 3 bước và phương
pháp BDF 3 bước để giải bài toán Cauchy . . . . . . . . . . 75
3.4.1

Thuật toán . . . . . . . . . . . . . . . . . . . . . . . 75

3.4.2

Áp dụng giải một số ví dụ . . . . . . . . . . . . . . 76

3.5 Kết hp phng phỏp Nystroăm 3 bc v phng phỏp
Milne - Simpson 4 bước để giải bài toán Cauchy . . . . . . 84
3.5.1

Thuật toán . . . . . . . . . . . . . . . . . . . . . . . 84

3.5.2

Áp dụng giải một số ví dụ . . . . . . . . . . . . . . 86

Phụ lục

95


Kết luận

111

Tài liệu tham khảo

112

−4−


Lời nói đầu
Ngày nay, Giải tích Tốn học đã có sự biến đổi mạnh mẽ. Trong đó,
lĩnh vực phương trình vi phân khơng ngừng được phát triển vì có rất nhiều
ứng dụng thực tiễn và nó xuất hiện trên cơ sở phát triển của khoa học, kỹ
thuật và những yêu cầu địi hỏi của thực tế. Nhiều bài tốn cơ học, vật lý
dẫn đến sự nghiên cứu các phương trình vi phân tương ứng. Để nghiên cứu
phương trình vi phân, người ta thường tiếp cận theo hai hướng là nghiên
cứu định tính và giải số. Việc tìm nghiệm đúng hay nghiệm giải tích của
một số phương trình vi phân là rất khó khăn và lớp các phương trình vi
phân tìm được nghiệm giải tích là rất hẹp.
Trong giải tích số, người ta thường cố gắng tìm ra những phương pháp
hữu hiệu bảo đảm sự hội tụ và có cấp chính xác cao. Để làm được điều
này,người ta thường kết hợp các phương pháp tuyến tính đa bước để nhận
được các phương pháp mới đảm bảo sự chính xác cao hơn.
Mục đích của khóa luận là kết hợp một cặp phương pháp số trong các
phương pháp Adams - Bashforth, Adams - Moulton, BDF, Nystroăm, Milne
- Simpson v phng phỏp tuyn tớnh 2 bước để giải bài tốn Cauchy trong
phương trình vi phân thường nhằm tìm ra một phương pháp tốt nhất, cho

nghiệm chính xác nhất.
Khóa luận gồm 3 chương:

• Chương 1: Đại cương về phương pháp số giải phương trình vi phân.
• Chương 2: Trình bày các phương pháp tuyến tính đa bước làm cặp
phương pháp dự báo - hiệu chỉnh.
−5−


• Chương 3: Sử dụng cặp phương pháp tuyến tính đa bước hiển - ẩn
làm cặp dự báo - hiệu chỉnh để giải bài tốn Cauchy đối với phương
trình vi phân thường.

• Phụ lục trình bày code được lập trình trên Maple.
Ở đây em đã lập trình và tính tốn trên Maple vào một số ví dụ cụ thể.
Cuối cùng em xin chân thành cảm ơn thầy hướng dẫn Th.S Nguyễn
Hoàng Thành, đã giới thiệu đề tài, cung cấp tài liệu và hướng dẫn em
trong suốt quá trình thực hiện đề tài của mình, hướng dẫn cho em cài đặt
và sử dụng Latex và đã giúp em thu được rất nhiều kiến thức bổ ích trong
q trình hồn thành luận văn này.
Em xin chân thành cảm ơn thầy Tôn Thất Tú đã hướng dẫn, giúp em có
thể sử dụng phần mềm Maple. Đồng thời em cũng xin gửi lời cảm ơn đến
thầy cơ khoa Tốn, trường Đại học Sư phạm Đà Nẵng đã tạo mọi điều
kiện giúp đỡ em hoàn thành luận văn.
Do thời gian thực hiện khóa luận khơng nhiều, kiến thức cịn hạn chế nên
khi thực hiện khóa luận khơng tránh khỏi những sai sót. Em mong nhận
được sự góp ý và những ý kiến phản biện của quý thầy cô và bạn đọc. Xin
chân thành cảm ơn!
Đà Nẵng, ngày 25 tháng 4 năm 2015
Sinh viên


Trần Thị Thắm

−6−


Chương 1
Kiến thức cơ sở
1.1

Phương trình vi phân

Định nghĩa 1.1. Phương trình vi phân là phương trình chứa ẩn là một
hàm số cùng các đạo hàm của nó.
Một phương trình vi phân cấp n thường có dạng

y (n) = f (x, y, y ′, ....., y (n−1))
hoặc

F (x, y, y ′, ....., y (n−1)) = 0
Nghiệm của phương trình vi phân là một hàm số y = ϕ(x) sao cho khi
thay y = ϕ(x) vào phương trình vi phân thì ta được đẳng thức đúng.

1.2

Bài toán Cauchy và cách tiếp cận lời giải số

Trong luận văn này, ta chỉ đề cập đến phương pháp số để giải các bài
tốn tìm giá trị ban đầu. Bài tốn tìm giá trị ban đầu cịn gọi là bài tốn
Cauchy là bài tốn tìm y(x) sao cho


y ′ = f (x, y)
y(a) = η

với f : [a, b] × Rn → Rn , y : [a, b] → Rn , η = (y1 (a), y2 (a), ...., yn(a))

(1.1)


1.2.1

Định lý tồn tại duy nhất nghiệm

Định lý 1.1. (Xem [10]) Cho f : [a, b] × Rn → Rn là ánh xạ liên tục trên

D = [a, b] × Rn và thỏa mãn điều kiện Lipschitz theo biến y, nghĩa là tồn
tại L ≥ 0 sao cho

f (x, y) − f (x, y1) ≤ L y − y1 , ∀(x, y), (x, y1) ∈ D.

(1.2)

Khi đó bài tốn Cauchy (1.1) tồn tại duy nhất nghiệm y(x) liên tục và khả
vi trên D.

1.2.2

Tiếp cận lời giải số

Tất cả các phương pháp số mà chúng ta đề cập trong khóa luận đều sử

dụng tìm nghiệm y(x) của bài tốn Cauchy (1.1) trên một tập rời rạc của

[a, b]. Đó là chúng ta chia nhỏ [a, b] ra thành N phần bằng nhau bởi các
b−a
điểm chia {xi }N
.
i=0 được định nghĩa bởi xi = ai + ih, i = 0, N , h =
N
Tham số h được gọi là bước nhảy.
Giả sử y(x) là nghiệm của hệ (1.1), đặt yn là xấp xỉ của nghiệm y(xn) của
(1.1) tại xn. Ký hiệu yn ≈ y(xn )
Mục đích của ta là tìm một phương pháp hữu hiệu để tính dãy giá trị xấp
N
xỉ {yn }N
n=0 của nghiệm của (1.1) trên tập rời rạc {xn }n=0 .

Định nghĩa 1.2. Nghiệm số là một dãy các xấp xỉ nghiệm đúng của bài
toán (1.1) trên tập rời rạc trên [a, b].
Định nghĩa 1.3. (Xem [10]) Phương pháp số giải bài toán (1.1) là một
hệ sai phân của k + 1 giá trị xấp xỉ {yn+i}ki=1 của {y(xn+i)}ki=1 để từ đó ta
có thể tính tuần tự các giá trị {yi }N
i=0 , với k là số bước.

1.3

Phương pháp số tổng quát

Định nghĩa 1.4. (Xem [10]) Phương pháp số tổng quát thường có dạng
k


yn+1 =

αj yn+1−j + hφf (yn+1, yn , ..., yn+1−k, xn+1−k , h)
j=1

−8−

(1.3)


trong đó k gọi là số bước của phương pháp (1.3), h gọi là bước nhảy của
phương pháp (1.3)
Với k = 1 phương pháp số (1.3) gọi là phương pháp số một bước, k ≥ 2
phương pháp số (1.3) gọi là phương pháp số đa bước
Nếu φf không phụ thuộc vào yn+1 thì phương pháp số (1.3) là phương
pháp hiển.
Nếu φf phụ thuộc vào yn+1 thì phương pháp số (1.3) là phương pháp ẩn.
Ví dụ 1.1.
a. Phương pháp số yn+1 = yn + hf (xn, yn ) là phương pháp hiển 1 bước.
b. Phương pháp số yn+1 = yn + hf (xn+1, yn+1 )là phương pháp ẩn 1 bước.
c. Phương pháp số

h
yn+1 = yn + [f (xn, yn) + f (xn+1, yn+1)]
2
là phương pháp số 1 bước.

1.3.1

Cấp chính xác của phương pháp số


Định nghĩa 1.5. (Xem [10]) Phương pháp số (1.3) gọi là phương pháp có
cấp chính xác là p nếu
k

y(xn+1) − [

αj y(xn+1−j ) + hφf (y(xn+1), y(xn), ..., y(xn+1−k), xn+1−k , h)]
j=1

= o(hp+1)
với o(hp+1 ) là vô cùng bé cùng bậc với hp+1 khi h → 0 .
Ví dụ 1.2.

−9−


a. Phương pháp Euler hiển yn+1 = yn + hf (xn, yn ) là phương pháp có
cấp chính xác p = 1 vì
Ta có y(xn+1 ) = y(xn + h) = y(xn) + hy ′ (xn) + o(h2 )

⇒ y(xn+1) − y(xn ) = hy ′ (xn) + o(h2 )
y(xn+1) − y(xn ) − hf (xn, y(xn)) = o(h2 )
b. Phương pháp Euler cải tiến ( Phương pháp Euler hình thang)

h
yn+1 = yn + [f (xn, yn) + f (xn+1, yn+1)]
2
là phương pháp có cấp chính xác p = 2 vì
h

Ta có y(xn+1 ) − y(xn ) − [f (xn, y(xn)) + f (xn+1, y(xn+1))]
2
h ′
= y(xn+1) − y(xn) − [y (xn) + y ′ (xn+1)]
2
h
= y(xn + h) − y(xn ) − [y ′(xn) + y ′ (xn + h)]
2
2
h
h
= y(xn)+hy ′ (xn)+ y ′′ (xn)+o(h3)−y(xn)− [y ′ (xn)+y ′ (xn)+hy ′′ (xn)
2
2

+o(h2 )]
= o(h3)
1.3.2

Tính phù hợp của phương pháp số

Đặt R(xn+1) = y(xn+1 )−[

k

αj yn+1−j +hφf (yn+1, yn, ..., yn+1−k, xn+1−k , h)]
j=1

Định nghĩa 1.6. R(xn+1) gọi là sai số chặt cụt.
Định nghĩa 1.7. (Xem [10]) Phương pháp số (1.3) gọi là phù hợp nếu


R(xn+1)
=0
h→0
h
lim

Hệ quả 1.1. (Xem [10]) Phương pháp số (1.3) có cấp chính xác p ≥ 1 thì
phù hợp.
Ví dụ 1.3.
− 10 −


Áp dụng hệ quả, cấp chính xác của các phương pháp trên đều lớn hơn
hoặc bằng 1 nên ta có
a. Phương pháp Euler hiển là phù hợp
b. Phương pháp Euler ẩn là phù hợp
c. Phương pháp Euler cải tiến ( hình thang) là phù hợp
Định nghĩa 1.8. Đa thức đặc trưng thứ nhất của phương pháp số (1.3)
là đa thức có dạng
k
k

αj tk−j

ρ(t) = t −
j=1

Định lý 1.2. (Xem [10]) Phương pháp số (1.3) phù hợp



ρ(1) = 0
⇔ φf (yn+1, . . . , yn+1−k , xn+1−k , h)


= f (xn+1−k , yn+1−k )
ρ′ (1)

k


αj = 0
1−



j=1

⇔ φf (yn+1, yn , ..., yn+1−k, xn+1−k , 0)
= f (xn+1−k , yn+1−k )


k



k−
(k − j)αj

j=1


Ví dụ 1.4.

Các phương pháp Euler đều phù hợp vì
Xét phương pháp Euler có đa thức đặc trưng thứ nhất là ρ(t) = t − 1, khi
đó ρ′ (t) = 1 và ρ(1) = 0
a. Phương pháp Euler hiển yn+1 = yn + hf (xn, yn )
Ta có φf (yn+1 , yn, xn, 0) = f (xn, yn)
b. Phương pháp Euler ẩn yn+1 = yn + hf (xn+1, yn+1 )
Ta có φf (yn+1 , yn, xn, h) = f (xn+1, yn+1)
Chọn h = 0
Khi đó φf (yn+1, yn , xn, 0) = f (xn, yn )

− 11 −


1.3.3

Tính zero - ổn định của phương pháp số

Định nghĩa 1.9. (Xem [10]) Đa thức đặc trưng thứ nhất của phương pháp
số (1.3) gọi là thỏa mãn điều kiện nghiệm nếu mọi nghiệm của nó đều có
modul nhỏ hơn 1 và các nghiệm có modul bằng 1 phải là nghiệm đơn.
Ví dụ 1.5.
1. Đa thức đặc trưng thứ nhất ρ(t) = t3 − 4t2 + 5t − 2 = (t − 1)2(t − 2)
có nghiệm t = 2 có mơđun lớn hơn 1 và nghiệm t = 1 là nghiệm bội
2 nên không thỏa mãn điều kiện nghiệm
2. Đa thức đặc trưng thứ nhất

1

ρ(t) = (t − )(t + 1)2
2
có nghiệm t = −1 có mơđun bằng 1 nhưng là nghiệm bội 2 nên không
thỏa mãn điều kiện nghiệm.
Định nghĩa 1.10. (Xem [10]) Phương pháp số (1.3) gọi là có tính zero ổn định nếu đa thức đặc trưng thứ nhất thỏa mãn điều kiện nghiệm.
Ví dụ 1.6.
Các phương pháp Euler có đa thức đặc trưng thứ nhất ρ(t) = t − 1 có
nghiệm đơn t = 1 nên thỏa mãn điều kiện nghiệm.
Vậy phương pháp Euler có tính zero - ổn định.

1.3.4

Sự hội tụ của phương pháp số

Định nghĩa 1.11. (Xem [10]) Phương pháp số (1.3) gọi là hội tụ nếu

lim max || yn+1−k − y(xn+1−k ) || = 0

h→0 k=0,N

Định lý 1.3. (Xem [10]) Phương pháp số (1.3) hội tụ khi và chỉ khi nó
vừa phù hợp vừa zero - ổn định.
− 12 −


Ví dụ 1.7.
1. Các phương pháp Euler vừa có tính zero - ổn định vừa phù hợp nên
nó hội tụ
2. Phương pháp Simpson hội tụ.


1.4

Phương pháp lặp đơn

Định nghĩa 1.12. (Xem [10]) Phương trình phi tuyến là phương trình có
dạng

y = ϕ(y)

(1.4)

với ϕ : Rn → Rn không phải là ánh xạ tuyến tính.
Để giải các phương trình phi tuyến, có rất nhiều phương pháp để giải,
ở đây ta chỉ đề cập đến phương pháp lặp đơn

1.4.1

Phương pháp lặp đơn

Phương pháp lặp đơn được định nghĩa bởi dãy lặp

y [ν+1] = ϕ(y [ν] ), ν = 0, 1, 2, ....

(1.5)

với y [0] chọn một cách thích hợp.
Định lý 1.4. (Xem [10]) Cho ϕ(y) thỏa mãn điều kiện Lipschitz

ϕ(y) − ϕ(y ∗) ≤ M y − y ∗ , ∀y, y ∗ ∈ Rn
Hằng số Lipschitz M thỏa mãn 0 ≤ M < 1. Khi đó phương trình (1.4) có

duy nhất nghiệm y = α và nếu y [ν] được định nghĩa bởi (1.5) thì y [ν] → α
khi ν → ∞.

− 13 −


1.5

Đa thức nội suy Newton lùi với các mốc cách
đều

Cho a = x0 < x1 < .... < xn = b và bảng sau

x

x0 x1 x2

....

xn−1 xn

F F0 F1 F2 ..... Fn−1 Fn
với x0 , x1, ....., xn là các mốc nội suy. Bài toán nội suy là bài toán tìm giá
trị gần đúng của F (x) tại các điểm khơng có trong bảng trên. Người ta
thường tính giá trị gần đúng của F (x) bằng cách thay F (x) bởi các đa
thức, gọi là đa thực nội suy, rồi tìm giá trị của đa thức đó.
Khi đó có duy nhất một đa thức In (x) bậc n thỏa mãn điều kiện

In (xi) = Fi , i = 0, n
Trong trường hợp các mốc nội suy cách đều xi = x0 + ih với i = 0, n thì

t(t + 1).....(t + n − 1) n
t
∇ Fn
In (x) = I(xn+th) = Pn (t) = Fn + ∇Fn+...+
1!
n!
với
x − xn
t=
h
gọi là đa thức nội suy Newton - Gregory.
Trong đó In (xn) = Pn (0) = Fn

∇Fn = Fn − Fn−1, ∇2Fn = ∇Fn − ∇Fn−1
n

n

∇ Fn =

(−1)k Cnk Fn−k

k=0

Trong trường hợp n = 2 ta có

1
P2 (t) = F2 + t∇F2 + t(t + 1)∇2F2
2
x = x2 ⇔ t = 0 ⇒ P2 (t) = F2

x = x1 ⇔ t = −1 ⇒ P2 (t) = F2 − ∇F2 = F1
x = x0 ⇔ t = −2 ⇒ P2 (t) = F2 − 2∇F2 + ∇2F2 = F0
− 14 −


1.6

Phương trình Riccati

Định nghĩa 1.13. (Xem [6]) Phương trình Riccati là phương trình có dạng

y ′ = P (x)y 2 + Q(x)y + R(x)
Trong đó P (x), Q(x), R(x) là các hàm liên tục trên khoảng (a, b) nào đó,
với giả thiết P (x), Q(x) không đồng thời bằng 0.

1.6.1

Dạng chính tắc của phương trình Riccati

y ′ = ±y 2 + R1 (x)
1.6.2

Một số tính chất

Nói chung phương trình Riccati không giải được bằng cầu phương ngoại
trừ những trường hợp riêng, ví dụ như khi P, Q, R là các hằng số thì phương
trình Riccati trở thành phương trình biến số phân li được. Ngồi ra các
phương trình dạng

y ′ = ϕ(x)(ay 2 + by + c)

(a,b,c là các hằng số) hoặc

y′ =

ay 2
y
+
b
+c
x2
x

đều giải được bằng cầu phương vì phương trình thứ nhất có dạng phân li
biến số, cịn phương trình thứ hai là phương trình thuần nhất.
Ta có các khẳng định sau
a. Nếu biết được nghiệm riêng của phương trình Riccati thì có thể đưa nó
về phương trình Bernoulli và do đó có thể giải được bằng cầu phương.
b. Nếu biết được hai nghiệm riêng khác nhau của phương trình Riccati thì
nghiệm tổng qt của nó có thể tìm được bằng một lần cầu phương.

− 15 −


1.6.3

Dạng đặc biệt của phương trình Riccati

Định nghĩa 1.14. Phương trình
dy
+ Ay 2 = Bxα

(1.6)
dx
trong đó A, B, α là các số thực được gọi là phương trình Riccati dạng đặc
biệt.
Trong hai trường hợp sau phương trình (1.6) có thể tích phân được
bằng cầu phương.

• Khi α = 0 ta có

dy
+ Ay 2 = B
dx
Đây là phương trình biến số phân li được.

• Khi α = −2 ta có
Đặt y =

z
x

dy
B
+ Ay 2 = 2
dx
x
ta đưa về phương trình biến số phân li được
x

dz
= −Az 2 + (B + 1)z

dx

Ngoài những giá trị đó của α, người ta chứng minh được rằng, với mọi giá
α
là số nguyên thì phương trình Riccati dạng đặc biệt
trị của α mà
2α + 4
tích phân được bằng cầu phương (xem [6]).

1.7

Phương pháp Runge - Kutta

Cho bảng Butcher

c1 a11 a12 . . a1s
c2 a21 a22 . . a2s
.

.

.

. . .

.

.

.


. . .

cs as1 as2 . . ass
b1

b2

. . bs

− 16 −


Định nghĩa 1.15. Phương pháp Runge - Kutta s nấc là phương pháp số
có dạng



 Yni = yn + h

s

aij f (xn + cj h, Ynj ), i = 1, s
j=1
s



 yn+1 = yn + h


bj f (xn + cj h, Ynj )
j=1

trong đó aij , bj , cj (i = 1, s , j = 1, s) được lấy từ bảng Butcher.
Ví dụ 1.8.
Cho bảng
0 0 0 0 0
1
2
1
2

1
2

0 0 0

0

1
2

0 0

1 0 0 1 0
1
6

1
3


1
3

1
6

khi đó ta có phương pháp Runge - Kutta 4 nấc sau



Yn1 = yn





h


Y
=
y
+
f (xn, Yn1)
n2
n


2




h
h

Yn3 = yn + f (xn + , Yn2)
2
2
h


Yn4 = yn + hf (xn + , Yn3)


2



1
1
h
1
h


y
=
y
+

h[
f
(x
,
Y
)
+
f
(x
+
,
Y
)
+
f
(x
+
, Yn3)

n+1
n
n
n1
n
n2
n

6
3
2

3
2



1

+ f (xn + h, Yn4 )]
6

Ví dụ 1.9.

Cho bảng
0

0

0

0

0

1
2

0

0


0

-1

1
2
1
2

0

0

1

0

−3
2
4
3
2
3

−1
3

0

0


1
6

1
6

− 17 −


khi đó ta có phương pháp Runge - Kutta 4 nấc sau


Yn1 = yn




h



f (xn, Yn1)
Y
=
y
+
n2
n



2


3
h
1
Yn3 = yn + h[ f (xn, Yn1) − f (xn + , Yn2)
2
2
2



4
h
1


Yn4 = yn + h[ f (xn + , Yn2) − f (xn − h, Yn3)


3
2
3



1
2

h
1

 yn+1 = yn + h[ f (xn, Yn1 ) + f (xn + , Yn2 ) + f (xn + h, Yn4 )]
6
3
2
6

− 18 −


Chương 2
Các phương pháp số để giải bài
toán Cauchy trong phương trình vi
phân thường
2.1

Các phương pháp tuyến tính đa bước

2.1.1

Khái niệm chung

Trong các phương pháp một bước như Euler, Euler cải tiến, Runge Kutta, giá trị yn+1 tính được nhờ xn , yn và bước nhảy h. Tuy nhiên độ
chính xác của chúng khơng cao. Để có độ chính xác cao hơn, người ta sử
dụng phương pháp đa bước dưới dạng như sau.

Định nghĩa 2.1. (Xem [10]) Một phương pháp số được gọi là phương pháp
tuyến tính k bước nếu phương pháp số đó được cho bởi cơng thức sau

k

yn+1 =

k

αj yn+1−j + h
j=1

βj f (xn+1−j , yn+1−j )
j=0

1. k = 1, α1 = β1 = 1, β0 = 0
Ta có phương pháp Euler hiển yn+1 = yn + hf (xn, yn )

− 19 −

(2.1)


2. k = 1, α1 = β0 = 1, β1 = 0
Ta có phương pháp Euler ẩn yn+1 = yn + hf (xn+1, yn+1 )

1
2
Ta có phương pháp Euler hình thang

3. k = 1, α1 = 1, β0 = β1 =

1

1
yn+1 = yn + h[ f (xn, yn) + f (xn+1, yn+1)]
2
2
Ví dụ 2.1.
1. Cho phương pháp Euler hình thang

1
1
yn+1 = yn + h[ f (xn, yn) + f (xn+1, yn+1)]
2
2

y ′ = x − y
Giải bài toán
với h = 0, 01
y(0) = 1
Ta có y ′ = f (x, y)

y0 = 1

1
1
y1 = y0 + h[ f (x0, y0) + f (x1, y1 )]
2
2
1
1
= 1 + 0, 01[ (0 − 1) + (0, 01 − y1 )] = 0, 99505 − 0, 05y1
2

2
⇔ 1, 05y1 = 0, 99505 ⇔ y1 =

0, 99505
= 0, 9477
1, 05

1
1
y2 = y1 + h[ f (x1, y1) + f (x2, y2 )]
2
2
=
⇔ y2 =

1
0, 99505
1
0, 99505
+ 0, 01[ (0, 01 −
) + (0, 02 − y2 )]
1, 05
2
1, 05
2

0, 94825
= 0, 90308
1, 05


− 20 −


2.1.2

Sự hội tụ của phương pháp tuyến tính k bước

Định lý 2.1. (Xem [10]) Phương pháp số (2.1) phù hợp


ρ(1) = 0





 k
β f (xn+1−j , yn+1−j )
⇔ j=1 j


= f (xn+1−k , yn+1−k )

k



(k − j)αj
 k−
j=1










k

j=1
 k





αj = 1

k

βj = k −

j=0

αj (k − j)
j=1

Phương pháp số (2.1) có tính zero - ổn định khi và chỉ khi đa thức đặc

trưng thứ nhất thỏa mãn điều kiện nghiệm.
Phương pháp số (2.1) hội tụ khi và chỉ khi nó vừa phù hợp vừa có tính zero
- ổn định.
Ví dụ 2.2.
Phương pháp tuyến tính 2 bước

h
yn+1 = yn−1 + [f (xn+1, yn+1) + 4f (xn, yn) + f (xn−1, yn−1)]
3
hội tụ vì

1
4
1
Ta có k = 2, α1 = 0, α2 = 1, β0 = , β1 = , β2 =
3
3
3
2

αj = 1
j=1

Và β0 + β1 + β2 =

1 4 1
+ + = 2 = 2 − [0(2 − 1) + 1(2 − 2)]
3 3 3
= k − [α1 (k − 1) + α2 (k − 2)]


Phương pháp trên phù hợp.
− 21 −


Đa thức đặc trưng thứ nhất ρ(t) = t2 − 1 = (t − 1)(t + 1) có 2 nghiệm
đơn t = 1 và t = −1 nên thỏa mãn điều kiện nghiệm nên phương pháp số
trên là zero - ổn định.

2.1.3

Cấp chính xác

Định lý 2.2. (Xem [9]) Phương pháp số (2.1) có cấp chính xác là p ≥ 1
khi và chỉ khi tồn tại c = 0 sao cho

ρ(t + 1) − σ(t + 1) ln(t + 1) = ctp+1 + o(tp+2)
với o(tp+2 ) là vô cùng bé cùng cấp với tp+2 khi t → 1;ρ(t) = tk −

k

αj tk−j

j=1
2

là đa thức đặc trưng thứ nhất của phương pháp số (2.1); ρ(t) = t − t là
đa thức đặc trưng thứ hai của phương pháp số (2.1)

2.2
2.2.1


Phương pháp Adams - Bashforth
Xây dựng cơng thức

Xét bài tốn Cauchy (1.1), tích phân 2 vế từ xn đến xn+1 của phương
trình y ′ (x) = f (x, y(x)) ta có
xn+1

xn+1

y ′ (x) dx =
xn

f (x, y(x))dx
xn
xn+1

⇒ y (xn+1) − y (xn ) =

f (x, y(x))dx
xn
xn+1

⇒ y (xn+1) = y (xn) +

f (x, y(x))dx
xn

xn+1


y ′ (x)dx

⇒ yn+1 = yn +
xn

− 22 −


Đặt x = xn + th ta có
1

y ′ (xn + th)dt

yn+1 = yn + h

(2.2)

0

Áp dụng công thức nội suy Newton lùi cho y ′ n+t := y ′ (xn + th) ta được

∇yn′
∇2 yn′
∇k yn′
t+
t (t + 1)+...+
t (t + 1) ... (t + k − 1) (2.3)
1!
2!
k!

:= y ′ (xn + th) nên thay (2.3) vào (2.2) ta được


yn+t
= yn′ +

Vì y ′ n+t

k

ai ∇i yn′

yn+1 = yn + h
i=0

trong đó
1

a0 = 1; ai =

t (t + 1) ... (t + i − 1)
dt; i = 1, k
i!

0

Các hệ số ai ; i = 1, k lần lượt là
1

tdt =


a1 =
0
1

a2 =
0
1

a3 =
0
1

a4 =
0
1

a5 =
0
1

a6 =
0

1
2

5
t (t + 1)
dt =

2!
12
3
t (t + 1) (t + 2)
dt =
3!
8
251
t (t + 1) (t + 2) (t + 3)
dt =
4!
720
t (t + 1) (t + 2) (t + 3) (t + 4)
95
dt =
5!
288
19087
t (t + 1) (t + 2) (t + 3) (t + 4) (t + 5)
dt =
6!
60480

− 23 −

(2.4)


1


a7 =
0
1

a8 =
0
1

a9 =
0

t (t + 1) (t + 2) (t + 3) (t + 4) (t + 5) (t + 6)
5257
dt =
7!
17280
t (t + 1) (t + 2) (t + 3) (t + 4) (t + 5) (t + 6) (t + 7)
1070017
dt =
8!
3628800
25713
t (t + 1) (t + 2) ..... (t + 8)
dt =
9!
89600
1

a10 =
0


t (t + 1) (t + 2) ..... (t + 9)
26842253
dt =
10!
95800320

Suy ra công thức Adams - Bashforth

1
5
3
251 4
95 5 19087 6
yn+1 = yn + h 1 + ∇ + ∇2 + ∇3 +
∇ +
∇ +

2
12
8
720
288
60480
5257 7 1070017 8 25713 9 26842253 10
+
∇ +
∇ +
∇ +
∇ + ..... yn′ (2.5)

17280
3628800
89600
95800320
2.2.2

Một số phương pháp Adams - Bashforth

Ví dụ 2.3. Phương pháp Adams - Bashforth 4 bước
59
37
55
f (xn, yn ) − f (xn−1, yn−1) + f (xn−2, yn−2)−
yn+1 = yn + h
24
24
24
3
− f (xn−3, yn−3)
8
Đa thức đặc trưng thứ nhất ρ(t) = t4 − t3
Đa thức đặc trưng thứ hai

σ(t) =

55 3 59 2 37
3
t − t + t−
24
24

24
8

Khi đó

ρ(t + 1) − σ(t + 1) ln(t + 1) = [(t + 1)4 − (t + 1)3]−
55
59
37
3
t2 t3 t4 t5
3
2

(t + 1) − (t + 1) + (t + 1) −
t − + − + − ...
24
24
24
8
2
3
4
5
2
3
4
t
t
t

t5
55 3 53 2 7
4
3
2
t + t + t + 1 t − + − + − ...
= (t + 3t + 3t + t) −
24
12
2
2 3 4 5
251 5
=
t + 0(t6)
720
− 24 −


Vậy phương pháp Adams - Bashforth 4 bước có cấp chính xác p = 4
Ta lại có

ρ(t) = 0 ⇒ t4 − t3 = 0 ⇒ t1,..,3 = 0, t4 = 1
nhận thấy ρ(t) thỏa mãn điều kiện nghiệm do đó phương pháp trên
zero - ổn định.
Ta có














4

αj = α1 = 1
j=1
4



j=0








 4−

βj = β0 + β1 + β2 + β3 + β4 = 0 +

55 59 37 3


+
− =1
24 24 24 8

4

αj (4 − j) = 4 − (4 − 1) = 1
j=1

Vậy phương pháp Adams - Bashforth 4 bước hội tụ.
Ví dụ 2.4. Phương pháp Adams - Bashforth 5 bước
1901
1387
109
yn+1 = yn + h
f (xn, yn ) −
f (xn−1, yn−1) +
f (xn−2, yn−2)−
720
360
30
251
637

f (xn−3, yn−3) +
f (xn−4, yn−4)
360
720
Đa thức đặc trưng thứ nhất


ρ(t) = t5 − t4
Đa thức đặc trưng thứ hai

σ(t) =

1901 4 1387 3 109 2 637
251
t −
t +
t −
t+
720
360
30
360
720

Khi đó

ρ(t + 1) − σ(t + 1) ln(t + 1) = (t + 1)5 − (t + 1)4 −
1387
109
637
251
1901
(t + 1)4 −
(t + 1)3 +
(t + 1)2 −
(t + 1) +

720
360
30
360
720
3
4
5
6
2
t
t
t
t
95 6
t
t + 0(t7)
t − + − + − + ... =
2
3
4
5
6
288



− 25 −



×