TRƯỜNG ĐẠI HỌC SƯ PHẠM ĐÀ NẴNG
KHOA TOÁN
−−− −−−
TRẦN THỊ THU TRANG
SỬ DỤNG CẶP PHƯƠNG PHÁP
¨
NYSTROM
VÀ ADAMS- MOULTON
TRONG DỰ BÁO VÀ HIỆU CHỈNH
NGHIỆM SỐ CỦA BÀI TOÁN
CAUCHY
Chuyên ngành: Cử Nhân Toán
KHÓA LUẬN TỐT NGHIỆP
Người hướng dẫn
Th.S NGUYỄN HOÀNG THÀNH
Đà Nẵng, 5/2014
Mục lục
Lời nói đầu
4
1 Các kiến thức cơ bản về phương pháp số giải phương trình
vi phân
6
1.1
1.2
1.3
Phương trình vi phân . . . . . . . . . . . . . . . . . . . .
6
1.1.1
1.1.2
Bài toán Cauchy . . . . . . . . . . . . . . . . . . .
Sự tồn tại và duy nhất nghiệm . . . . . . . . . . .
7
7
Tiếp cận lời giải số bài toán Cauchy . . . . . . . . . . . .
Đại cương về phương pháp số giải phương trình vi phân .
7
9
1.3.1
1.3.2
Cấp chính xác của phương pháp số . . . . . . . .
Tính phù hợp của phương pháp số . . . . . . . . .
10
12
1.3.3
1.3.4
Tính zero- ổn định của phương pháp số . . . . . .
Sự hội tụ của phương pháp số . . . . . . . . . . .
14
15
Đa thức nội suy Newton . . . . . . . . . . . . . . . . . .
1.4.1 Sai phân . . . . . . . . . . . . . . . . . . . . . . .
16
16
1.4.2
Đa thức nội suy Newton lùi với các mốc cách đều .
17
1.5
1.6
Phương pháp Runge-Kutta . . . . . . . . . . . . . . . . .
Phương trình Riccati . . . . . . . . . . . . . . . . . . . .
19
21
1.7
Phương pháp lặp đơn . . . . . . . . . . . . . . . . . . . .
23
1.4
2 Phương pháp Nystro¨m và phương pháp Adams - Moulton 24
2.1
Phương pháp tuyến tính đa bước . . . . . . . . . . . . . .
2.1.1 Cấp chính xác . . . . . . . . . . . . . . . . . . . .
24
25
2.1.2
26
Tính phù hợp . . . . . . . . . . . . . . . . . . . .
−2−
2.1.3
2.2
2.3
Sự hội tụ . . . . . . . . . . . . . . . . . . . . . . .
28
Phương pháp Nystro¨m . . . . . . . . . . . . . . . . . . .
2.2.1 Xây dựng công thức . . . . . . . . . . . . . . . . .
29
29
2.2.2
2.2.3
Một vài phương pháp Nystro¨m . . . . . . . . . . .
Sự hội tụ . . . . . . . . . . . . . . . . . . . . . . .
32
34
2.2.4
Cấp chính xác . . . . . . . . . . . . . . . . . . . .
36
Phương pháp Adams- Moulton . . . . . . . . . . . . . . .
2.3.1 Xây dựng công thức . . . . . . . . . . . . . . . . .
38
38
2.3.2
2.3.3
Một vài phương pháp Adams- Moulton . . . . . .
Sự hội tụ . . . . . . . . . . . . . . . . . . . . . . .
41
45
2.3.4
Cấp chính xác . . . . . . . . . . . . . . . . . . . .
47
3 Dự báo và hiệu chỉnh với cặp phương pháp Nystro¨m và
Adams- Moulton trong giải số phương trình vi phân
3.1 Kết hợp phương pháp Nystro¨m 2 bước với phương pháp
3.2
3.3
50
Adams - Moulton 2 bước . . . . . . . . . . . . . . . . . .
3.1.1 Thuật toán . . . . . . . . . . . . . . . . . . . . . .
50
50
3.1.2 Áp dụng thuật toán giải một số ví dụ . . . . . . .
Kết hợp phương pháp Nystro¨m 3 bước với phương pháp
52
Adams - Moulton 2 bước . . . . . . . . . . . . . . . . . .
3.2.1 Thuật toán . . . . . . . . . . . . . . . . . . . . . .
58
58
3.2.2 Áp dụng thuật toán giải một số ví dụ . . . . . . .
Kết hợp phương pháp Nystro¨m 3 bước với phương pháp
59
Adams - Moulton 3 bước . . . . . . . . . . . . . . . . . .
66
3.3.1
3.3.2
66
68
Thuật toán . . . . . . . . . . . . . . . . . . . . . .
Áp dụng thuật toán giải một số ví dụ . . . . . . .
Chương trình giải trên Maple
79
Kết luận
90
Tài liệu tham khảo
91
−3−
Lời nói đầu
Phương trình vi phân là mô hình mô tả khá tốt các quy luật 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 đó là nghiên cứu định tính và định lượng. Khóa
luận này nghiên cứu định lượng phương trình vi phân bằng phương pháp
số. Giải tích số là một lĩnh vực của toán học chuyên nghiên cứu các
phương pháp giải các bài toán (chủ yếu là gần đúng) bằng cách dựa trên
những số liệu cụ thể và cho kết quả cũng dưới dạng số. Giải tích số có thể
giải gần đúng các bài toán mà các phương pháp thông dụng khác không
thể giải được.
Mặc dù đã có lịch sử phát triển hàng trăm năm, do còn có nhiều
bài toán thuộc lĩnh vực khoa học kỹ thuật quy về việc tìm nghiệm của
phương trình vi phân, giải số phương trình vi phân thường vẫn thu hút sự
quan tâm mạnh mẽ của các nhà toán học và các nhà nghiên cứu toán học
ứng dụng. Trong lĩnh vực này đã có khá nhiều tên tuổi mang dấu ấn như
Milne- Simpson, Euler, J.D. Lambert, Nystro¨m, Arieh Iserles, Buttcher,...
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 bảo đảm sự hội tụ, tính ổn định và tính
chính xác cao. Đề tài này nghiên cứu phương pháp dự báo- hiệu chỉnh
với cặp phương pháp hiển Nystro¨m và phương pháp ẩn Adams- Moulton
nhằm tăng độ chính xác của nghiệm xấp xỉ của bài toán Cauchy đối với
phương trình vi phân.
−4−
Khóa luận bao gồm 3 chương và một phụ lục
• Chương 1 Trình bày một số khái niệm cơ bản của phương pháp số
giải phương trình vi phân và kiến thức liên quan.
• Chương 2 Tập trung trình bày cặp phương pháp tuyến tính đa bước
sử dụng làm cặp phương pháp dự báo- hiệu chỉnh là phương pháp
Nystro¨m và phương pháp Adams- Moulton.
• Chương 3 Trình bày thuật toán sử dụng cặp phương pháp dự báohiệu chỉnh trên để giải số phương trình vi phân và việc lập trình trên
Maple để giải quyết một số ví dụ cụ thể và minh họa bằng hình vẽ.
• Phụ lục Trình bày một số đoạn code được lập trình trên Maple để
giải phương trình vi phân.
Em xin chân thành cảm ơn Thầy Nguyễn Hoàng Thành, người đã giới
thiệu đề tài, cung cấp tài liệu và tận tình hướng dẫn em trong suốt quá
trình thực hiện khóa luận.
Em cũng xin chân thành cảm ơn Thầy Tôn Thất Tú, đã giúp đỡ cách
lập trình và làm quen với Maple ứng dụng giải số phương trình vi phân.
Đồng thời em xin gửi lời cảm ơn tới toàn thể các thầy cô giáo trong khoa
Toán, trường Đại Học Sư Phạm, Đại Học Đà Nẵng đã cho em những kiến
thức toán học bổ ích trong suốt quá trình học tập tại trường.
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 rất
mong nhận được sự góp ý và những ý kiến phản biện của quý thầy cô và
các bạn. Xin chân thành cảm ơn!
Đà Nẵng, ngày 20 tháng 05 năm 2014
Sinh viên
Trần Thị Thu Trang
−5−
Chương 1
Các kiến thức cơ bản về phương
pháp số giải phương trình vi phân
1.1
Phương trình vi phân
Định nghĩa 1.1. Phương trình vi phân là một phương trình trong đó ẩn
là một hàm số và trong phương trình vi phân luôn chứa thực sự đạo hàm
(hoặc đạo hàm cấp cao) của ẩn hàm.
Một phương trình vi phân bậc n thường có dạng tổng quát
F (x, y, y , ..., y (n) ) = 0.
(1.1)
Hay
y (n) = f (x, y, y , ..., y (n−1) ).
Cấp của một phương trình vi phân là cấp cao nhất của đạo hàm thực sự
có mặt trong phương trình đó.
Định nghĩa 1.2. Hàm y = ϕ(x) được gọi là nghiệm của phương trình vi
phân (1.1) nếu như trong phương trình (1.1) thay y = ϕ(x), y = ϕ (x),
..., y (n) = ϕ(n) (x) ta nhận được F (x, ϕ(x), ϕ (x), ..., ϕ(n) (x)) = 0.
−6−
1.1.1
Bài toán Cauchy
Bài toán tìm giá trị ban đầu hay còn gọi bài toán Cauchy là bài toán
tìm nghiệm y(x) = (y1 (x), y2 (x), ..., yn (x)) thỏa mãn điều kiện
y = f (x, y)
y(a) = η
(1.2)
trong đó f : [a, b]×Rn → Rn , y : [a, b] → Rn , η = (y1 (a), y2 (a), ..., yn (a)).
1.1.2
Sự tồn tại và duy nhất nghiệm
Định nghĩa 1.3. (Xem [7]) 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 (L gọi là hằng số Lipschitz) sao cho
f (x, y) − f (x, y1 ) ≤ L y − y1 ∀(x, y), (x, y1 ) ∈ D.
Định lý 1.1. (Xem [7]) (Định lý tồn tại và duy nhất nghiệm) Giả sử hàm
số f(x,y) trong bài toán Cauchy 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) ∈ R2 |x − x0 | ≤ a; |y − y0 | ≤ b
Khi đó nghiệm của bài toán Cauchy (1.2) là tồn tại và duy nhất trong đoạn
b
và M := max |f (x, y)|.
I := [x0 − h; x0 + h] với h := min a,
(x,y)∈D
M
1.2
Tiếp cận lời giải số bài toán Cauchy
Xét bài toán (1.2) thỏa các giả thiết của định lý tồn tại và duy nhất
nghiệm.Chia [a, b] thành N phần bằng nhau bởi các điểm chia
a = x0 , x1 , x2 , · · · , xN = b.
−7−
Giả sử y(x) là nghiệm của bài toán (1.2). Khi đó nghiệm số của (1.2) là
{y1 , y2 , · · · , yN } trong đó yn là xấp xỉ của y(xn ) tại xn ( yn ≈ y (xn )).
Phương pháp số giải bài toán (1.2) là một hệ sai phân của k + 1 giá
trị xấp xỉ {yn+1−i }ki=1 của {y(xn+1−i )}ki=1 để từ đó ta có thể tính tuần
tự các giá trị xấp xỉ y1 , y2 , ..., yN nếu biết k giá trị ban đầu. Tham số
b−a
h=
được gọi là bước nhảy.
N
Ví dụ 1.1. Hệ sai phân
yn+1 = yn + h
2
1
f (xn+1 , yn+1 ) + f (xn , yn )
3
2
là phương pháp số để giải bài toán (1.2).
Ví dụ 1.2. Hệ sai phân
yn+1 = yn−1 + 2hf (xn , yn )
là phương pháp số để giải bài toán (1.2).
y = f (x, y) = y
Ví dụ 1.3. Cho
với x ∈ [0, 1], h = 0, 1
y(0) = 1
y
n+1 = yn + hf (xn , yn )
• Giải số bằng phương pháp Euler hiển
y(x ) = y
0
Ta có y0 = y(0) = 1
y1 = y0 + 0, 1(y0 ) = 1, 1(y0 ) = 1, 1
y2
y3
y4
y5
= y1 + 0, 1(y1 ) = 1, 1(y1 ) = 1, 21
= y2 + 0, 1(y2 ) = 1, 1(y2 ) = 1, 331
= y3 + 0, 1(y3 ) = 1, 1(y3 ) = 1, 4641
= y4 + 0, 1(y4 ) = 1, 1(y4 ) = 1, 61051
−8−
0
• Giải số bằng phương pháp Euler ẩn yn+1 = yn + hf (xn+1 , yn+1 )
Ta có y0 = 1
y1 = y0 + 0, 1(y1 ) = 1 + 0, 1(y1 ) ⇔ y1 = 1, 11111
y2 = y1 + 0, 1(y2 ) = 1, 11111 + 0, 1(y2 ) ⇔ y2 = 1, 234561
y3 = y2 + 0, 1(y3 ) = 1, 234561 + 0, 1(y3 ) ⇔ y3 = 1, 3717171
y4 = y3 + 0, 1(y4 ) = 1, 3717171 + 0, 1(y4 ) ⇔ y4 = 1, 52408881
y5 = y4 + 0, 1(y5 ) = 1, 52408881 + 0, 1(y5 )2 ⇔ y5 = 1, 693347691
1.3
Đại cương về phương pháp số giải phương trình
vi phân
Định nghĩa 1.4. (Xem [7]) Phương pháp số tổng quát thường có dạng
k
yn+1 =
αi yn+1−i + hφf (yn+1 ,yn , ..., yn+1−k , xn+1−k , h)
(1.3)
i=1
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).
Nếu φf không phụ thuộc vào yn+1 thì ta gọi 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ì ta gọi phương pháp số (1.3) là phương
pháp ẩn.
Nếu k = 1 thì phương pháp được gọi là phương pháp số một bước.
Nếu k > 1 thì phương pháp được gọi là phương pháp số đa bước hay
phương pháp số k -bước.
Ví dụ 1.4. Phương pháp số
yn+1 = yn + hf (xn , yn )
là phương pháp hiển 1 bước (Còn gọi là phương pháp Euler hiển).
−9−
Ví dụ 1.5. Phương pháp số
yn+1 = yn + hf (xn+1 , yn+1 )
là phương pháp ẩn 1 bước (Còn gọi là phương pháp Euler ẩn).
Ví dụ 1.6. Phương pháp số
yn+1 = yn−1 + 2hf (xn , yn )
là phương pháp hiển 2 bước (Còn gọi là phương pháp trung điểm).
Ví dụ 1.7. Phương pháp số
yn+1 = yn−1 +
h
[f (xn+1 , yn+1 ) + 4f (xn , yn ) + f (xn−1 , yn−1 )]
3
là phương pháp ẩn 2 bước (Còn gọi là phương pháp Milne- Simpson).
1.3.1
Cấp chính xác của phương pháp số
Định nghĩa 1.5. (Xem [7]) Phương pháp số (1.3) được gọi là phương
pháp số có cấp chính xác p nếu
k
y(xn+1 ) −
αi y(xn+1−i ) − hφf y(xn+1 ), y(xn ), ..., y(xn+1−k ), xn+1−k , h
i=1
= 0(hp+1 )
trong đó 0(hp+1 ) là vô cùng bé cùng cấp với hp+1 khi h tiến đến 0.
Ví dụ 1.8. Phương pháp Euler hiển
yn+1 = yn + hf (xn , yn ).
Giả thiết yn+1 = y(xn+1 ), yn = y(xn ).
Khai triển Taylor đối với y(x) tại x = xn ta có
y(xn+1 ) = y(xn + h) = y(xn ) + hy (xn ) + 0(h2 )
− 10 −
⇒ y(xn+1 ) = y(xn ) + hf (xn , y(xn )) + 0(h2 )
⇒ y(xn+1 ) − y(xn ) − hf (xn , y(xn )) = 0(h2 ) = 0(h1+1 )
trong đó 0(h2 ) là vô cùng bé cùng cấp với h2 khi h → 0.
Vậy phương pháp Euler hiển có cấp chính xác p= 1.
Ví dụ 1.9. Phương pháp Euler ẩn yn+1 = yn + hf (xn+1 , yn+1 )
Ta có
yn+1 − [yn + hf (xn+1 , yn+1 )]
= y(xn+1 ) − [y(xn ) + hf (xn+1 , y(xn+1 ))]
= y(xn+1 ) − [y(xn ) + hy (xn+1 )]
= y(xn + h) − y(xn ) − hy (xn+h )
= y(xn ) + hy (xn ) + 0(h2 ) − y(xn ) − h[y (xn ) + 0(h)] = 0(h2 ) = 0(h1+1 )
trong đó 0(h2 ) là vô cùng bé cùng cấp với h2 khi h → 0.
Vậy phương pháp Euler ẩn có cấp chính xác p = 1.
Ví dụ 1.10. Phương pháp Euler cải tiến
h
yn+1 = yn + [f (xn , yn ) + f (xn+1 , yn+1 )]
2
Ta có
h
yn+1 − yn − [f (xn , yn ) + f (xn+1 , yn+1 )]
2
h
= 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
h2
= y(xn ) + hy (xn ) + y (xn ) + 0(h3 ) − y(xn )
2
h
− [y (xn ) + y (xn ) + hy (xn ) + 0(h2 )] = 0(h3 ) = 0(h2+1 )
2
trong đó 0(h3 ) là vô cùng bé cùng cấp với h3 khi h → 0.
Vậy phương pháp Euler cải tiến có cấp chính xác p = 2.
− 11 −
1.3.2
Tính phù hợp của phương pháp số
Đặt R(xn+1 ) = y(xn+1 )
k
−
αj y(xn+1−k ) + hφf (y(xn+1 ), ..., y(xn+1−k ), xn+1−k , h)
j=1
với R(xn+1 ) là sai số chặt cụt địa phương.
Định nghĩa 1.6. (Xem [7]) 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 [7]) Nếu phương pháp số (1.3) có cấp chính xác
p ≥ 1 thì phù hợp.
Chứng minh. Giả sử phương pháp (1.3) có cấp chính xác p
⇒ R(xn+1 ) = 0(hp+1 )
p+1
R(xn+1 )
0(hp+1 )
)
p 0(h
⇒ lim
= lim
= lim h . p+1 = 0
h→0
h→0
h→0
h
h
h
Ví dụ 1.11.
Áp dụng hệ quả 1.1 các phương pháp số ở ví dụ 1.8, ví dụ 1.9, ví dụ
1.10 đều có cấp chính xác lớn hơn hoặc bằng 1 nên phù hợp, tức là:
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 là phù hợp.
Định nghĩa 1.7. Đ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
αi tk−i .
ρ(t) = t −
i=1
Ví dụ 1.12.
− 12 −
a. Đa thức đặc trưng thứ nhất của phương pháp Euler là ρ(t) = t − 1.
b. Đa thức đặc trưng của phương pháp số
h
yn+1 = yn−1 + [f (xn+1 , yn+1 ) + 4f (xn , yn ) + f (xn−1 , yn−1 )]
3
là ρ(t) = t2 − 1.
Định lý 1.2. Phương pháp số (1.3) phù hợp khi và chỉ khi
⇔
ρ(1) = 0
⇔
φ (y , . . . , y
f n+1
n+1−k , xn+1−k , h) = ρ (1)f (xn+1−k , yn+1−k )
k
αi = 0
1 −
i=1
k
φf (yn+1 , yn , ..., yn+1−k , xn+1−k , 0) = k −
αi (k − i)f (xn+1−k , yn+1−k )
i=1
Ví dụ 1.13. Phương pháp số
9
9
1
6
yn+1 = yn + yn−1 − yn−2 + h [f (xn+1 , yn+1 ) + 3f (xn , yn )]
17
17
17
17
là phù hợp.
9
9
1
Thật vậy, đa thức đặc trưng thứ nhất ρ(t) = t3 − t2 − t +
17
17
17
18
9
2
⇒ ρ (t) = 3t − t − .
17
17
24
Ta có ρ(1) = 0 và ρ (1) =
17
φf (yn+1 , yn , yn−1 , yn−2 , xn−2 , h) =
6
[f (xn+1 , yn+1 ) + 3f (xn , yn )] .
17
Khi h → 0
⇒ φf (yn+1 , yn , yn−1 , yn−2 , xn−2 , 0) =
6
f (xn−2 , yn−2 ) + 3f (xn−2 , yn−2 )
17
24
f (xn−2 , yn−2 ) = ρ (1)f (xn−2 , yn−2 ).
17
Vậy phương pháp trên là phù hợp.
=
− 13 −
Ví dụ 1.14. Các phương pháp Euler đều phù hợp
Thật vậy, 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 , h) = f (xn , yn ).
Chọn h = 0
⇒ φf (yn+1 , yn , xn , 0) = f (xn , yn ) = ρ (1)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
⇒ φf (yn+1 , yn , xn , 0) = f (xn , yn ) = ρ (1)f (xn , yn )
h
c. Phương pháp Euler cải tiến yn+1 = yn + [f (xn , yn ) + f (xn+1 , yn+1 )]
2
h
Ta có φf (yn+1 , yn , xn , h) =
f (xn , yn ) + f (xn+1 , yn+1 ) .
2
Chọn h = 0
1
⇒ φf (yn+1 , yn , xn , 0) = f (xn , yn )+f (xn , yn ) = f (xn , yn ) = ρ (1)f (xn , yn )
2
1.3.3
Tính zero- ổn định của phương pháp số
Định nghĩa 1.8. (Xem [7]) Đ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 hoặc bằng 1 và các nghiệm có modul bằng 1 phải là
nghiệm đơn.
Ví dụ 1.15.
4
1
1
a. Đa thức đăc trưng thứ nhất ρ(t) = t2 − t + = (t − )(t − 1) có
3
3
3
1
nghiệm t = và t = 1 có modul nhỏ hơn hoặc bằng 1 và nghiệm t = 1
3
là nghiệm đơn nên thỏa mãn điều kiện nghiệm.
− 14 −
b. Đa thức đặc trưng thứ nhất ρ(t) = t3 − 5t2 + 7t − 3 = (t − 1)2 (t − 3)
có nghiệm t = 3 có modul lớn hơn 3 và t = 1 là nghiệm bội 2 nên không
thỏa mãn điều kiện nghiệm.
Định nghĩa 1.9. (Xem [7]) Phương pháp số (1.3) được gọi là 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.16.
a. 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 thỏa mãn điều kiện nghiệm nên phương pháp Euler
có tính zero- ổn định.
b. Phương pháp số BDF
1
2
4
yn+1 = yn − yn−1 + hf (xn+1 , yn+1 )
3
3
3
4
1
có đa thức đặt trưng thứ nhất ρ(t) = t2 − t + (Ví dụ 1.15 a) thỏa
3
3
mãn điều kiện nghiệm nên
4
1
7
yn+1 = yn − yn−1 + hf (xn+1 , yn+1 )
3
3
11
có tính zero- ổn định.
1.3.4
Sự hội tụ của phương pháp số
Định nghĩa 1.10. (Xem [7]) Phương pháp số (1.3) gọi là hội tụ nếu
lim max y (xn ) − yn = 0.
h→0 n=0,N
Định lý 1.3. (Xem [7]) Phương pháp số (1.3) hội tụ khi và chỉ khi nó
phù hợp và zero - ổn định .
− 15 −
Ví dụ 1.17.
a. Các phương pháp Euler vừa có tính zero- ổn định (Xem ví dụ 1.16
a) vừa có tính phù hợp (Xem ví dụ 1.11) nên nó hội tụ.
b. Kiểm tra sự hội tụ của phương pháp số
yn+1 =
9
1
6
9
yn + yn−1 − yn−2 + h [f (xn+1 , yn+1 ) + 3f (xn , yn )]
17
17
17
17
Phương pháp số trên có tính phù hợp (Xem ví dụ 1.13).
9
9
1
Đa thức đặc trưng thứ nhất ρ(t) = t3 − t2 − t +
17
17
17
1
4+i
4−i
8
2
)(t +
)
= (t − 1)(t + t − ) = (t − 1)(t +
17
17
17
17
4+i
i−4
Nghiệm của đa thức t = 1, t = −
và t =
có modul 16+1
289 < 1
17
17
thỏa mãn điều kiện nghiệm, do đó phương pháp số trên có tính zero - ổn
định.
Vậy phương pháp số
yn+1 =
9
9
1
6
yn + yn−1 − yn−2 + h [f (xn+1 , yn+1 ) + 3f (xn , yn )]
17
17
17
17
hội tụ.
1.4
1.4.1
Đa thức nội suy Newton
Sai phân
Định nghĩa 1.11. Giả sử y = f (x) là một hàm số thực, xác định trên
đoạn [a, b].
Khi đó ký hiệu
− 16 −
∆yk = yk+1 − yk
∆2 yk = ∆yk+1 − ∆yk
........................................
∆m yk = ∆m−1 yk+1 − ∆m−1 yk
∇yk = yk − yk−1
∇2 yk = ∇yk − ∇yk−1
........................................
∇m yk = ∇m−1 yk − ∇m−1 yk−1
trong đó ∆yk , ∆2 yk , ..., ∆m yk tương ứng lần lượt là các sai phân tiến cấp
1, 2, ..., m;
∇yk , ∇2 yk , ..., ∇m yk tương ứng lần lượt là các sai phân lùi cấp 1, 2, ...,
m.
1.4.2
Đ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
y y0 y1 y2 ..... yn−1 yn
với x0 , x1 , x2 , ..., 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 y(x) tại các điểm x không có trong bảng trên.
Người ta thường tính giá trị gần đúng của y(x) bằng cách thay y(x) bởi
đa thức, gọi là đa thức nội suy, rồi tính giá trị của đa thức đó tại x.
Khi đó có duy nhất một đa thức Nn (x) bậc n thỏa mãn điều kiện
Nn (xi ) = yi , 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ì
Nn (x) = N (xn + th) = Pn (t) = yn +
− 17 −
t
t(t + 1) 2
∇yn +
∇ yn
1!
2!
+... +
với t =
t(t + 1).....(t + n − 1) n
∇ yn
n!
x − xn
gọi là đa thức nội suy Newton - Gregory.
h
Trong đó Nn (xn ) = Pn (0) = yn
∇yn = yn − yn−1 , ∇2 yn = ∇yn − ∇yn−1 , ...
∇ n yn =
n
(−1)k Cnk yn−k
k=0
Trong trường hợp n = 2 ta có P2 (t) = y2 + t∇y2 + 12 t(t + 1)∇2 y2
x = x2 ⇔ t = 0 ⇒ P2 (t) = y2
x = x1 ⇔ t = −1 ⇒ P2 (t) = y2 − ∇y2 = y1
x = x0 ⇔ t = −2 ⇒ P2 (t) = y2 − 2∇y2 + ∇2 y2 = y0
Ví dụ 1.18. Xét hàm số cho bởi bảng
x 0 1 2
3
4
y 4 8 13 16 18
Hãy tìm đa thức nội suy Newton lùi với các mốc cách đều cho bởi bảng
trên.
Ta có
∇y4 = y4 − y3 = 18 − 16 = 2
∇2 y4 = ∇y4 − ∇y3 = y4 − 2y3 + y2 = −1
∇3 y4 = ∇2 y4 − ∇2 y3 = y4 − 3y3 + 3y2 − y1 = 1
∇4 y4 = ∇3 y4 − ∇3 y3 = y4 − 4y3 + 6y2 − 4y1 + y0 = 4
Suy ra đa thức nội suy cần tìm là
∇y4
∇ 2 y4
∇3 y 4
P4 (t) = y4 +
t+
t(t + 1) +
t(t + 1)(t + 2)
1!
2!
3!
1
1
∇4 y 4
+
t(t + 1)(t + 2)(t + 3) = 18 + 2t − t(t + 1) + t(t + 1)(t + 2)
4!
2
6
− 18 −
1
+ t(t + 1)(t + 2)(t + 3)
6
1.5
Phương pháp Runge-Kutta
Cho
c1
a11 a12
c2
, A = (aij )s = a21 a22
c=
...
... ...
cs
as1 as2
...
...
...
...
a1s
b1
a2s
, b = b2
...
...
ass
bs
Cho bảng Butcher
c
A
bT
Hay
c1
c2
.
.
cs
a11
a21
.
.
as1
b1
a12
a22
.
.
as2
b2
. . a1s
. . a2s
. . .
. . .
. . ass
. . bs
Định nghĩa 1.12. Một phương pháp số gọi là phương pháp Runge- Kutta
s nấc nếu nó có dạng
s
Y
=
y
+
h
aij f (xn + cj h, Ynj ) ; i = 1, s
ni
n
j=1
(1.4)
s
bj f (xn + cj h, Yni )
yn+1 = yn + h
j=1
trong đó các hệ số aij (i = 1, s, j = 1, s), bj (j = 1, s), cj (j = 1, s)
s
s
aij = cj ,
được lấy từ bảng Butcher và
j=1
bj = 1.
j=1
− 19 −
Ví dụ 1.19. Với bảng Butcher
0 0 0 0 0
1 1
2 2 0 0 0
1
2
0 21 0 0
1 0 0 1 0
1
3
1
6
1
3
1
6
ta có phương pháp Runge - Kutta 4 nấc sau
Yn1 = yn
Yn2 = yn + h
Y = yn + h
n3
1
f (xn , Yn1 )
2
1
h
f (xn + , Yn2 )
2
2
h
, Yn3 )
Y
=
y
+
h
f
(x
+
n4
n
n
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.20. Với bảng Butcher
0
0 0
0
0
1
2
-1
1
2
1
2
0
0
0
0
1
0
−1
3
0
0
1
6
1
6
0
−3
2
4
3
2
3
− 20 −
ta có phương pháp Runge - Kutta 4 nấc sau
Yn1 = yn
1
Yn2 = yn + h f (xn , Yn1 )
2
3
h
1
Yn3 = yn + h f (xn , Yn1 ) − f (xn + , Yn2 )
2
2
2
4
h
1
Y
=
y
+
h
f
(x
+
,
Y
)
−
f (xn − h, Yn3 )
n4
n
n
n2
3
2
3
2
1
1
1
yn+1 = yn + h f (xn , Yn1 ) + f (xn + h, Yn2 ) + f (xn + h, Yn4 )
6
3
2
6
1.6
Phương trình Riccati
Phương trình Riccati tổng quát là phương trình vi phân dạng
y = p (x) y 2 + q (x) y + r (x)
(1.5)
trong đó p(x), q(x), r(x) là các hàm liên tục trên khoảng (a,b) nào đó.
Nhận xét 1.1. (Xem [14]) Phương trình Riccati không phải bao giờ cũng
giải được bằng phép cầu phương( tức là có thể biểu diễn nghiệm dưới dạng
hữu hạn các phép lấy tích phân của các hàm tường minh nào đó). Trong
vài trường hợp đặc biệt như p(x) = 0 hay r(x) = 0 ta đưa về phương
trình tuyến tính hoặc phương trình Bernoulli.
Định lý 1.4. (Xem [14]) Nếu biết một nghiệm của phương trình Riccati
(1.5) thì có thể đưa phương trình đã cho về phương trình Bernoulli.
Chứng minh. Gọi một nghiệm của phương trình (1.5) là y1 (x), tức là
y1 = p (x) y12 + q (x) y1 + r (x)
− 21 −
Đặt y = y1 + z trong đó z là ẩn mới. Thay vào phương trình (1.5) ta
được
y1 + z = p (x) y12 + 2p (x) y1 z + p (x) z 2 + q (x) y1 + q (x) z + r (x)
= p (x) y12 (x)+q (x) y1 (x)+r (x)+2p (x) y1 (x) z +p (x) z 2 +q (x) z
Theo giả thiết
(∗)
y1 (x) = p (x) y12 (x) + q (x) y1 (x) + r (x)
Nên từ (*) ta suy ra
z − [2p (x) y1 (x) + q (x)] z = p (x) z 2
đây là phương trình Bernoulli.
Ví dụ 1.21. Giải phương trình y + 2y (y − x) = 1
Đây là phương trình Riccati. Dễ thấy y = x là một nghiệm của phương
trình đã cho. Đặt y = x + z ta sẽ đưa phương trình đã cho về dạng
z + 2z (z + x) = 0
đây là phương trình Bernoulli với α = 2.
Đặt u = z −1 ta được
u − 2xu = 2
nghiệm tổng quát của phương trình này là
u = ex
2
2
2e−x dx + C
Vậy nghiệm tổng quát của phương trình đã cho là
− 22 −
2
e−x
y =x+
;y = x
C + 2 e−x2 dx
1.7
Phương pháp lặp đơn
Giả sử ta có phương trình
y = ϕ (y) , ϕ : Rm → Rm
(1.6)
Lập dãy lặp yn+1 = ϕ(yn ) (*) với y0 được cho một cách thích hợp, ta
nhận được dãy {yn }.
Định lý sau chỉ ra điều kiện để phương trình y = ϕ(y) có duy nhất
nghiệm.
Định lý 1.5. (Xem [7]) Cho ϕ (y) thỏa mãn điều kiện Lipschitz
ϕ (y) − ϕ (y ∗ ) ≤ M y − y ∗
y, y ∗ ∈ Rm , 0 ≤ M < 1. Khi đó phương trình (1.6) có duy nhất nghiệm
y = α và nếu {yn } được định nghĩa bởi (*) thì yn → α khi n → ∞
− 23 −
Chương 2
Phương pháp Nystr¨
om và phương
pháp Adams - Moulton
2.1
Phương pháp tuyến tính đa bước
Định nghĩa 2.1. 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
αi yn+1−i + h
i=1
βi f (xn+1−i , yn+1−i )
(2.1)
i=0
Nếu β0 = 0 thì phương pháp (2.1) được gọi là phương pháp tuyến tính
đa bước hiển.
Nếu β0 = 0 thì phương pháp (2.1) được gọi là phương pháp tuyến tính
đa bước ẩn.
a. k = 1, α1 = β1 = 1, β0 = 0
Ta có phương pháp Euler hiển yn+1 = yn + hf (xn , yn )
b. k = 1, α1 = β0 = 1, β1 = 0
Ta có phương pháp Euler ẩn yn+1 = yn + hf (xn+1 , yn+1 )
1
c. k = 1, α1 = 1, β0 = β1 =
2
Ta có phương pháp Euler hình thang
1
1
yn+1 = yn + h[ f (xn , yn ) + f (xn+1 , yn+1 )]
2
2
− 24 −
d. k = 1, α1 = 1, β0 = θ, β1 = 1 − θ với θ ∈ (0, 1)
Ta có phương pháp Theta
yn+1 = yn + h[θf (xn+1 , yn+1 ) + (1 − θ)f (xn , yn )]
1
4
1
e. k = 2, α1 = 0, α2 = 1, β0 = , β1 = , β2 =
3
3
3
Ta có phương pháp Simpson
h
yn+1 = yn−1 + [f (xn+1 , yn+1 ) + 4f (xn , yn ) + f (xn−1 , yn−1 )]
3
Ví dụ 2.1. Phương pháp BDF 2 bước
4
1
2
yn+1 = yn − yn−1 + hf (xn+1 , yn+1 )
3
3
3
y = x − y
Giải bài toán
y(0) = 1
với h = 0, 01
Ta có y = f (x, y), y0 = 1
Dùng phương pháp Euler hiển để tính y1
y1 = y0 + 0, 01f (x0 , y0 ) = 1 + 0, 01(0 − 1) = 0, 99
4
1
2
4
1
2
y2 = y1 − y0 + hf (x2 , y2 ) = 0, 99 − 1 + 0, 01(0, 02 − y2 )
3
3
3
3
3
3
⇔ y2 = 0, 98026
2.1.1
Cấp chính xác
Định nghĩa 2.2. (Xem [13]) Đa thức đặt trưng thứ hai của phương pháp
số (2.1) là đa thức được đặt trưng bởi công thức
k
βi tk−i
σ(t) =
i=0
− 25 −