ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TOÁN
Nguyễn Thị Tuyết
SỬ DỤNG MỘT CẶP PHƯƠNG PHÁP ADAMS
ĐỂ GIẢI SỐ PHƯƠNG TRÌNH VI PHÂN
KHĨA LUẬN TỐT NGHIỆP
Ngành: Sư phạm Tốn
Người hướng dẫn: ThS. Nguyễn Hoàng Thành
Đà Nẵng - 2012
Mục lục
1 Kiến thức chuẩn bị
1.1
6
Bài toán Cauchy . . . . . . . . . . . . . . . . . . . . . . .
6
1.1.1
Bài toán . . . . . . . . . . . . . . . . . . . . . . .
6
1.1.2
Tiếp cận cách giải số bài toán Cauchy . . . . . . .
6
1.2
Định lý tồn tại duy nhất nghiệm . . . . . . . . . . . . . .
7
1.3
Giới thiệu phương pháp số giải phương trình vi phân . . .
10
1.4
Cấp chính xác của một phương pháp số . . . . . . . . . .
13
1.5
Tính phù hợp . . . . . . . . . . . . . . . . . . . . . . . .
14
1.6
Tính zero - ổn định . . . . . . . . . . . . . . . . . . . . .
15
1.7
Sự hội tụ của phương pháp số . . . . . . . . . . . . . . .
15
1.8
Đa thức nội suy Newton . . . . . . . . . . . . . . . . . .
17
1.8.1
Sai phân và một số tính chất . . . . . . . . . . . .
17
1.8.2
Đa thức nội suy cuối bảng với mốc cách đều . . . .
19
Phương trình Riccati . . . . . . . . . . . . . . . . . . . .
21
1.9.1
Dạng chính tắc của phương trình Riccati . . . . .
21
1.9.2
Một số tính chất của phương trình Riccati . . . . .
21
1.10 Phương pháp lặp đơn giải phương trình đại số và siêu việt
23
1.11 Phương pháp Runge - Kutta . . . . . . . . . . . . . . . .
24
1.9
2 Các phương pháp số Adams - Bashforth, Adams - Moulton
2.1
27
Phương pháp tuyến tính đa bước . . . . . . . . . . . . . .
−1−
27
2.2
2.3
2.1.1
Cấp chính xác của phương pháp tuyến tính đa bước 28
2.1.2
Tính phù hợp . . . . . . . . . . . . . . . . . . . .
29
2.1.3
Tính zero - ổn định . . . . . . . . . . . . . . . . .
29
2.1.4
Sự hội tụ của phương pháp tuyến tính k bước . . .
30
Cơng thức Adams - Bashforth . . . . . . . . . . . . . . .
30
2.2.1
Xây dựng công thức . . . . . . . . . . . . . . . . .
30
2.2.2
Một vài phương pháp Adams - Bashforth . . . . .
32
2.2.3
Các phương pháp Adams - Bashforth bậc cao . . .
36
Công thức Adams - Moulton . . . . . . . . . . . . . . . .
40
2.3.1
Xây dựng công thức . . . . . . . . . . . . . . . . .
40
2.3.2
Một vài công thức Adams - Moulton . . . . . . . .
42
2.3.3
Các phương pháp Adams - Moulton bậc cao . . . .
44
3 Sử dụng kết hợp các phương pháp Adams để giải số phương
trình vi phân
3.1
49
Kết hợp phương pháp Adams - Bashforth 2 bước và phương
pháp Adams - Moulton 2 bước để giải số phương trình vi
3.2
phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
3.1.1
Thuật toán . . . . . . . . . . . . . . . . . . . . . .
49
3.1.2
Áp dụng giải một số ví dụ . . . . . . . . . . . . .
50
Kết hợp phương pháp Adams - Bashforth 3 bước và phương
pháp Adams - Moulton 3 bước để giải số phương trình vi
phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
3.2.1
Thuật toán . . . . . . . . . . . . . . . . . . . . . .
61
3.2.2
Áp dụng giải một số ví dụ . . . . . . . . . . . . .
62
Phụ lục
73
Tài liệu tham khảo
81
−2−
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới 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 q trình thực hiện khóa luận. Em xin chân thành cảm ơn
thầy Tôn Thất Tú đã giúp đỡ em cách cài đặt và sử dụng Latex, cách lập
trình Maple ứng dụng giải số phương trình vi phân.
Em cũng xin bày tỏ lịng biết ơn chân thành tới tồn thể các thầy cơ
giáo trong khoa Tốn, trường Đại học Sư phạm, Đại học Đà Nẵng đã
cho em những kiến thức tốn học bổ ích trong suốt q trình học tập tại
trường.
Nhân dịp này em cũng xin được gửi lời cảm ơn chân thành tới gia
đình, bạn bè đã ln bên em, cổ vũ, động viên, giúp đỡ em trong suốt
q trình học tập và thực hiện khóa luận tốt nghiệp.
Đà Nẵng, ngày 22 tháng 05 năm 2012
Sinh viên
Nguyễn Thị Tuyết
−3−
LỜI MỞ ĐẦU
Phương trình vi phân là mơ hình mơ tả khá tốt các qui 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à giải số.
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
tố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 ứng dụng.
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. Để làm được điều này người ta thường tổ hợp các phương
pháp đa bước để nhận được các phương pháp mới đảm bảo độ chính xác
cao hơn. Phương pháp đa bước hiện ( yn+1 tính được tường minh thơng
qua yn , yn−1 , . . . ) dùng để dự báo (predict ) nghiệm. Phương pháp đa
bước ẩn ( yn+1 tính được bằng cách giải một phương trình phi tuyến
yn+1 = ϕ (yn+1 )) cho lượng hiệu chỉnh nghiệm (corrector). Từ đó có tên
gọi phương pháp dự báo- hiệu chỉnh (predict- corrector viết tắt là P-C).
Trong luận văn này em sẽ sử dụng một cặp phương pháp Adams gồm
phương pháp Adams-Bashforth và phương pháp Adams-Moulton, làm
một cặp phương pháp dự báo- hiệu chỉnh để giải số phương trình vi phân
nhằm tăng độ chính xác của nghiệm.
Bố cục của khóa luận bao gồm ba chương và một phụ lục
• Chương 1 của khóa luận trình bày những khái niệm cơ bản của
phương pháp số giải phương trình vi phân và các kiến thức liên
quan.
• Chương 2 của khóa luận 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à
−4−
phương pháp Adams-Bashforth và phương pháp Adams-Moulton.
• Chương 3 tập trung trình bày ý tưởng, thuật tốn sử dụng cặp
phương pháp dự báo- hiệu chỉnh trên để giải số phương trình vi
phân.Cuối chương có sử dụng phần mềm Maple vào giải số 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 bằng Maple để giải phương trình
vi phâ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 làm 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 22 tháng 05 năm 2012
Sinh viên
Nguyễn Thị Tuyết
−5−
Chương 1
Kiến thức chuẩn bị
1.1
1.1.1
Bài toán Cauchy
Bài toán
Cho hàm số y : [a, b] → Rn và hàm số f: [a, b] × Rn → Rn
Tìm nghiệm y(x) thỏa mãn điều kiện
1.1.2
y = f (x, y)
y (a)
1
y (a)
2
y (a) = η =
.........
yn (a)
(1.1)
Tiếp cận cách giải số bài toán Cauchy
Chia [a, b] thành N phần bằng nhau bởi các điểm chia
a = x0 < x1 < x2 < ... < xN = b
b−a
N
Giả sử y(x) là nghệm của bài tốn (1.1), kí hiệu yn
suy ra: xi = ai + ih với h =
−6−
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ị
N
xấp xỉ {yn }N
n=0 nghiệm của bài toán (1.1) trên tập rời rạc {xn }n=0
1.2
Định lý tồn tại duy nhất nghiệm
Định nghĩa 1.1. Cho hàm f(x,y) xác định trên miền D ⊂ R2 . Ta nói f
thỏa điều kiện Lipschitz theo biến y trên D nếu tồn tại hằng số dương L
(gọi là hằng số Lipschitz) sao cho
|f (x, y1 ) − f (x, y2 )| ≤ L |y1 − y2 | ; ∀ (x, y1 ) , (x, y2 ) ∈ D
Nhận xét 1.1. Điều kiện Lipschitz là mạnh hơn so với điều kiện giới
∂f
trên D.
nội của đạo hàm riêng
∂y
∂f
∂f
liên tục và
≤ L khi đó áp dụng định lý
∂y
∂y
Lagrange cho hàm f(x,y) theo biến y ta được
Thật vậy, giả sử
f (x, y1 ) − f (x, y2 ) = (y1 − y2 )
∂f
[x, y1 + θ (y2 − y1 )]
∂y
từ đó suy ra điều kiện Lipschitz.
Định lý 1.1. (Xem[13]) 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 tốn Cauchy là tồn tại và duy nhất trong đoạn
b
I := [x0 − h; x0 + h] với h := min a,
và M := max |f (x, y)|.
(x,y)∈D
M
−7−
Chứng minh. Giả sử y(x) là nghiệm của bài toán Cauchy, tích phân 2 vế
của phương trình y (x) = f (x, y) ta được phương trình tích phân đối
với y(x) là
x
y (x) = y0 +
f (t, y (t)) dt
x0
Ta chứng minh hai bước là sự tồn tại nghiệm và tính duy nhất.
* Sự tồn tại
Ta chứng minh rằng phép lặp Picard hội tụ đều trên I đến một nghiệm
của bài toán Cauchy.
Trước tiên ta chứng minh bằng quy nạp rằng
|yk+1 (x) − yk (x)| ≤ M L
− x0 |k+1
; ∀x ∈ I
(k + 1)!
k |x
Với k=0, bất đẳng thức trên chính là
x
f (t, y0 (t)) dt ≤ M |x − x0 |
x0
bất đẳng thức này đúng.
Giả sử ta có điều đó với k-1, khi đó với x0 ≤ x ≤ x0 + h ta có
x
|yk+1 (x) − yk (x)| =
x0
x
≤
[f (t, yk (t)) − f (t, yk−1 (t))] dt
|f (t, yk (t)) − f (t, yk−1 (t))|dt
x0
x
≤L
|yk (t) − yk−1 (t)|dt
x0
≤ ML
x
k
k+1
|x − x0 |k
k |x − x0 |
dt = M L
k!
(k + 1)!
x0
−8−
Trường hợp x0 − h ≤ x ≤ x0 ta đánh giá tương tự.
Xét dãy hàm {yk (x)} trên I, ta có
|yk+p (x) − yk (x)| ≤ |yk+p (x) − yk+p−1 (x)| + |yk+p−1 (x) − yk+p−2 (x)|
+... + |yk+1 (x) − yk (x)|
M
≤
L
M
≤
L
(L |x − x0 |)k+p
(L |x − x0 |)k+1
+ ... +
(k + p)!
(k + 1)!
(L.h)j
.
j!
j≥k+1
∞
Chuỗi số
j=0
(L.h)j
là hội tụ cho nên
j!
(L.h)j
có thể bé tùy ý khi k
j!
j≥k+1
đủ lớn. Theo tiêu chuẩn Cauchy, dãy {yk (x)} hội tụ đều trên I đến hàm
y(x). Để chứng minh y(x) là nghiệm ta chỉ cần qua giới hạn trong đẳng
thức
x
yk+1 (x) = y0 +
f (t, yk (t)) dt
x0
Vì dãy hàm {yk (x)} hội tụ đều, f liên tục trên hình chữ nhật D nên dãy
hàm {f (t, yk (t))} hội tụ đều trên I đến hàm f (t, yk (t)). Do đó có thể
chuyển giới hạn qua dấu tích phân để được đẳng thức
x
y (x) = y0 +
f (t, y (t)) dt
x0
Vậy y(x) chính là nghiệm của bài tốn Cauchy.
* Tính duy nhất.
Giả sử bài tốn Cauchy cịn có nghiệm là z(x), khi đó ta có
x
y (x) − z (x) =
[f (t, y (t)) − f (t, z (t))] dt
x0
−9−
suy ra
x
|y (x) − z (x)| =
[f (t, y (t)) − f (t, z (t))] ≤ 2M |x − x0 |
x0
từ đó
x
|y (x) − z (x)| =
x
[f (t, y (t)) − f (t, z (t))] ≤ L
x0
|y (t) − z (t)|dt
x0
|x − x0 |2
≤ 2M L
2
Lặp lại quá trình trên, ta dễ dàng chứng minh được rằng với mọi số tự
nhiên k ta có
|y (x) − z (x)| ≤ 2M L
− x0 |k+1
; ∀x ∈ I
(k + 1)!
k |x
cho k → +∞ ta có |y (x) − z (x)| = 0 trên I.
Như vậy, nghiệm y(x) là duy nhất.
1.3
Giới thiệu phương pháp số giải phương trình
vi phân
Nhiều bài tốn khoa học kỹ thuật quy về việc tìm nghiệm phương
trình vi phân thỏa mãn một số điều kiện nào đó. Những phương pháp
giải đúng chỉ áp dụng được cho một lớp rất hẹp các phương trình vi
phân. Đa số các phương trình vi phân mơ tả những hệ cơ học, lý học,
hóa học, sinh học cịn phức tạp hơn rất nhiều và khơng có hy vọng giải
đúng buộc ta phải sử dụng phương pháp giải gần đúng. Người ta phân
biệt có hai loại phương pháp giải gần đúng là các phương pháp giải tích
và các phương pháp số.
− 10 −
Các phương pháp giải tích cho phép tìm nghiệm gần đúng dưới dạng
biểu thức, tuy nhiên miền áp dụng của chúng khá hẹp. Các phương pháp
giải tích thường dùng là phương pháp xấp xỉ Picard và phương pháp
chuỗi nguyên.
Các phương pháp số liên quan đến việc tính nghiệm trên một tập rời
rạc các điểm {xn }N
n=0 của đoạn [a, b] được xác định bởi xn = a + nh,
b−a
. Tham số h được gọi là bước nhảy, nó được coi
n = 0, 1, 2, ..., N =
h
như một hằng số, mặc dù nhiều thuật tốn hiện đại có khả năng thay
đổi h bằng q trình tính tốn tự động. Chúng ta gọi {yn } là một lời giải
xấp xỉ của y (xn ) tại {xn } và đặt mục tiêu là để tìm ra một dãy các giá
trị {yn } của các điểm rời rạc {xn } như một trình tự tạo nên một lời giải
số cho bài toán Cauchy.
Một phương pháp số là một phương trình sai phân liên quan đến một số
liên tiếp xấp xỉ yn+1−i , i = 0, 1, 2, .., k từ đó ta sẽ tính tốn theo tuần tự
dãy {yn } , n = 0, 1, 2, ..., N , phương trình sai phân này sẽ liên quan đến
yếu tố hàm f. Số nguyên k được gọi là số bước của phương pháp, nếu
k = 1 thì phương pháp được gọi là phương pháp một bước, khi k > 1
phương pháp được gọi là phương pháp nhiều bước hay k-bước.
Ví dụ 1.1.
yn+2 + yn+1 − 2yn =
h
f (xn+2 , yn+2 ) + 8f (xn+1 , yn+1 ) + 3f (xn , yn )
4
Ví dụ 1.2.
yn+2 − yn+1 =
h
3f (xn+1 , yn+1 ) − 2f (xn , yn )
3
Ví dụ 1.3.
1
1
3
h
19f (xn+2 , yn+2 ) + 5f (xn , yn )
yn+3 + yn+2 − yn+1 − yn =
4
2
4
8
− 11 −
Ví dụ 1.4.
∗
yn+2 − yn = h [f (xn+2 , yn+2
) + f (xn , yn )]
trong đó
∗
yn+2
= 3yn+1 − 2yn =
h
f (xn+1 , yn+1 ) − 3f (xn , yn )
2
Ví dụ 1.5.
yn+1 − yn =
h
(k1 + 3k3 )
4
ở đây
k1 = f (xn , yn )
2
2
k3 = f xn + h, yn + hk2
3
3
Ví dụ 1.6.
yn+1 − yn =
h
(k1 + k2 )
2
ở đây
k1 = f (xn , yn )
1
1
k2 = f xn + h, yn + hk1 + hk2
2
2
Rõ ràng ở ví dụ 1.5 và 1.6 là phương pháp một bước , đặt y0 = η dãy
{yn } có thể được tính tốn một cách liên tiếp bởi tập hợp n = 0, 1, 2, ...
trong hằng số sai phân. Ví dụ 1.1, 1.2 và 1.4 là phương pháp 2 bước và nó
cần cung cấp 1 giá trị khởi đầu y1 trước khi dãy {yn } được tính. Trong
trường hợp ví dụ 1.3 là một phương pháp 3 bước, nó cần được cung cấp
2 giá trị ban đầu y1 và y2 . Tìm những giá trị ban đầu khơng có gì là khó
khăn và ta thường sử dụng các phương pháp một bước.
Một 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
− 12 −
(1.2)
(trong đó h là bước nhảy; k = 1 là phương pháp số một bước, k ≥ 2 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 (1.2) là phương pháp
hiển. Nếu Φf phụ thuộc vào yn+1 thì phương pháp số (1.2) là phương
pháp ẩn.
1.4
Cấp chính xác của một phương pháp số
Định lý 1.2. (Xem [13]) Phương pháp số (1.2) gọi là phương pháp có
cấp chính xác là p nếu
k
αj y (xn+1−j ) − hφf [y (xn+1 ) , ..., y (xn+1−k ) , xn+1−k , h] = 0(hp+1 )
y(xn+1 ) −
j=1
(trong đó 0(hp+1 ) là vô cùng bé cùng bậc với hp+1 khi h → 0).
Ví dụ 1.7. Tính cấp chính xác của phương pháp Euler hiển
yn+1 = yn + hf (xn , yn )
y0 = y(x0 )
Ta có
y(xn+1 ) = y(xn + h) = y(xn ) + hy (xn ) + 0(h2 )
⇒ y(xn+1 ) − y(xn ) = hy (xn ) + 0(h2 )
⇒ y(xn+1 ) − y(xn ) − hf (xn , y(xn )) = 0(h2 )
Vậy phương pháp Euler hiển có cấp chính xác p = 1.
Ví dụ 1.8. Tính cấp chính xác của phương pháp Euler ẩn
yn+1 = yn +
h
f (xn , yn ) + f (xn+1 , yn+1 )
2
− 13 −
Ta có
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 )
2
Vậy phương pháp Euler ẩn có cấp chính xác p = 2.
1.5
Tính phù hợp
Đặt R(xn+1 ) =
k
y(xn+1 ) −
αj y (xn+1−j ) + hφf [y (xn+1 ) , ..., y (xn+1−k ) , xn+1−k , h]
j=1
là sai số chặt cụt.
Định nghĩa 1.2. (Xem [13]) Phương pháp số (1.2) gọi là phù hợp nếu
R (xn+1 )
=0
h→0
h
lim
.
Hệ quả 1.1. Nếu phương pháp số (1.2) có cấp chính xác p ≥ 1 thì
phương pháp số (1.2) là phù hợp.
Định lý 1.3. (Xem [13]) Phương pháp số (1.2) phù hợp khi và chỉ khi
ρ (1) = 0
φf (yn+1 , ..., yn+1−k , xn+1−k , 0)
= f (xn+1−k , yn+1−k )
ρ (1)
− 14 −
k
1−
αj = 0
j=1
φ
(y
f
n+1 , ..., yn+1−k , xn+1−k , 0)
hay
= f (xn+1−k , yn+1−k )
k
k−
(k − j) αj
j=1
k
(trong đó ρ(ξ) = ξ k −
αj ξ k−j là đa thức đặc trưng thứ nhất của
j=1
phương pháp số (1.2) )
1.6
Tính zero - ổn định
Định nghĩa 1.3. Đa thức đặc trưng thứ nhất của phương pháp số (1.2)
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, nghiệm có modul bằng 1 phải là nghiệm đơn.
Định nghĩa 1.4. (Xem [10]) Phương pháp số (1.2) đượ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.
1.7
Sự hội tụ của phương pháp số
Định nghĩa 1.5. (Xem [3]) Phương pháp số (1.2) gọi là hội tụ nếu
lim max y (xn ) − yn = 0
h→0 n=0,N
Định lý 1.4. (Xem [10]) Phương pháp số (1.2) hội tụ khi và chỉ khi nó
phù hợp và zero - ổn định .
Ví dụ 1.9. Kiểm tra sự hội tụ của phương pháp Euler hiển
yn+1 = yn + hf (xn , yn )
y0 = y(x0 )
− 15 −
Để xét tính hội tụ của phương pháp Euler hiển thì theo định lý trên
ta cần xét tính phù hợp và zero - ổn định của nó.
Như ta đã tính cấp chính xác của phương pháp Euler hiển p=1, áp dụng
hệ quả 1.1 ta thấy phương pháp Euler hiển là phù hợp vì có cấp chính
xác p ≥ 1. Hoặc sử dụng định lý 1.3, đa thức đặc trưng thứ nhất là
ρ (ξ) = ξ − 1 khi đó ta cũng suy ra phương pháp Euler hiển phù hợp vì
ρ (1) = 0
φf (yn+1 , ..., yn , xn , 0)
= φf (yn+1 , yn , xn , 0) = f (xn , yn )
ρ (1)
Ta có nghiệm của đa thức đặc trưng thứ nhất ξ = 1 thỏa mãn điều kiện
nghiệm. Do đó phương pháp Euler hiển là zero - ổn định. Vậy phương
pháp Euler hiển hội tụ.
Ví dụ 1.10. Kiểm tra sự hội tụ của phương pháp số
1
1
3
h
yn+1 = − yn + yn−1 + yn−2 + 19f (xn , yn ) + 5f (xn−2 , yn−2 )
4
2
4
8
Ta có đa thức đặc trưng thứ nhất của phương pháp số trên là
k
k
ρ (ξ) = ξ −
1
1
3
αj ξ k−j = ξ 3 + ξ 2 − ξ −
4
2
4
j=1
√
5
23
ρ (ξ) = 0 ⇒ ξ = 1; ξ = − ± i
8
8
√
5
23
25 + 23
nghiệm ξ = − ± i
có modul
<1
8
8
64
ρ (ξ) thỏa mãn điều kiện nghiệm, do đó phương pháp số trên zero - ổn
định.
Ta có ρ (1) = 0
− 16 −
1
1
và ρ (ξ) = 3ξ 2 + ξ − ⇒ ρ (1) = 3
2
2
suy ra
1
φf (yn+1 , yn , yn−1 , yn−2 , xn−2 , h) = 19f (xn , yn ) + 5f (xn−2 , y−2 )
8
⇒ φf (yn+1 , yn , yn−1 , yn−2 , xn−2 , 0) = 3f (xn−2 , yn−2 )
φf (yn+1 , yn , yn−1 , yn−2 , xn−2 , 0)
⇒
= f (xn−2 , yn−2 )
3
Vậy phương pháp số này hội tụ.
1.8
Đa thức nội suy Newton
1.8.1
Sai phân và một số tính chất
Định nghĩa 1.6. (Xem [1]) Giả sử y=f(x) là một hàm số thực, xác định
trên đoạn [a, b], h = const = 0 .
Khi đó hiệu số ∆f (x) = f (x + h) − f (x) là sai phân cấp một của hàm
số y=f(x) tại x. Một cách tổng quát
∆0 f (x) = f (x)
∆1 f (x) = f (x + h) − f (x)
.......................................
∆n f (x) = ∆ ∆n−1 f (x) ; n ∈ N, n ≥ 1
lần lượt là sai phân cấp 0, cấp 1,.., cấp n của hàm số y=f(x) tại x.
Tính chất 1.1. ∆[αf (x)+βg(x)] = α∆[f (x)]+β∆[g(x)]với mọi α, β ∈
R ; f(x) và g(x) là hai hàm tùy ý xác định trên [a, b]
Tính chất 1.2. Nếu c = const thì ∆c = 0
Tính chất 1.3. ∆n (xn ) = n!hn và ∆m (xn ) = 0 (m > n)
Chứng minh. Ta có
∆ (xn ) = (x + h)n − xn = nhxn−1 + ...
− 17 −
∆2 (xn ) = ∆ (∆ (xn )) = ∆ nhxn−1 + ... = n (n − 1) h2 xn−2 + ...
...............................
∆n (xn ) = ∆ ∆n−1 (xn ) = n!hn
Từ tính chất 2 ta suy ra ∆m (xn ) = 0 với mọi m > n.
Tính chất 1.4. Nếu P(x) là đa thức bậc n thì
n
∆P := P (x + h) − P (x) =
i=1
hi (i)
P (x)
i!
n
Cni ∆i f (x)
Tính chất 1.5. f (x + nh) =
j=0
Chứng minh. Ta có f (x + h) = f (x) + ∆f (x) = (1 + ∆) f (x) ở đây 1
là toán tử đơn vị. Áp dụng nhiều lần ta được
f (x + nh) = (1 + ∆) f [x + (n − 1) h] = ... = (1 + ∆)n f (x)
n
Cni ∆i f (x)
=
i=0
n
(−1)i Cni f [x + (n − i) h]
n
Tính chất 1.6. ∆ f (x) =
i=0
Chứng minh. Ta có
∆n f (x) = [(1 + ∆) − 1]n f (x) =
n
=
i=0
n
i=0
(−1)i Cni (1 + ∆)n−i f (x)
i
(−1) Cni f [x + (n − i) h]
Tính chất 1.7. Giả sử f ∈ C n [a, b] và (x, x + nh) ⊂ [a, b] khi đó:
∆n f (x)
= f (n) (x + θnh) ; θ ∈ (0, 1) (*)
n
h
Chứng minh. Với n = 1 ta có cơng thức số gia hữu hạn
f (x + h) − f (x)
= f (x + θh)
h
Giả sử (*) đúng với mọi k ≤ n ta chứng minh cho trường hợp k = n + 1.
Thật vậy
− 18 −
∆n+1 f (x) = ∆ [∆n f (x)] = ∆ hn f (n) (x + θ nh) .
Áp dụng công thức số gia hữu hạn cho f (n) (x + θ nh), ta được
∆n+1 f (x) = hn ∆f (n) (x + θ nh)
= hn f (n) (x + θ nh + h) − f (n) (x + θ nh)
= hn+1 f (n+1) (x + θ nh + θ h)
trong đó θ , θ ∈ (0, 1).
θn+θ
Đặt θ =
∈ (0, 1), ta được
n+1
∆n+1 f (x) = f (n+1) [x + θ (n + 1) h]
1.8.2
Đa thức nội suy cuối bảng với mốc cách đều
Giả sử x0 < x1 < ... < xn và xi+1 − xi = h với mọi i = 0, n − 1
Ta tìm đa thức nội suy
Ln (x) = a0 + a1 (x − xn ) + a2 (x − xn ) (x − xn−1 ) + ...
+ an (x − xn ) (x − xn−1 ) ... (x − x1 )
Cho x lần lượt bằng xn , xn−1 , ..., x0 và chú ý rằng
Ln (xi ) = f (xi ) = yi , i = 0, n
∆yn−1
∆i yn−i
∆n y0
ta thu được a0 = yn , a1 =
, ..., ai =
, ..., an =
h
i!hi
n!hn
Từ đó ta có
∆yn−1
∆2 yn−2
Ln (x) = yn +
(x − xn ) +
(x − xn ) (x − xn−1 ) + ...
2
h
2!h
∆n y0
+
(x − xn ) (x − xn−1 ) ... (x − x1 )
n!hn
Nếu ta biến đổi x = xn + th, xi = x0 + ih, i = 1, n thì ta được cơng
thức nội suy Newton thứ nhất
∆yn−1
∆2 yn−2
Ln (x) = Ln (xn + th) = yn +
t+
t(t + 1) + ...+
1!
2!
∆n y0
+
t(t + 1)...(t + n − 1) = Pn (t)
n!
Với ∆yn = yn+1 − yn , kí hiệu ∇yn = yn − yn−1 là sai phân lùi của f tại
− 19 −
n suy ra
∆yn−1 = ∇yn
∆2 yn−2 = ∇2 yn
∆3 yn−3 = ∇3 yn
.................
∆k yn−k = ∇k yn
khi đó ta có công thức nội suy Newton dạng sai phân lùi
∇ 2 yn
∇n y n
∇yn
t+
t (t + 1) + .. +
t (t + 1) .. (t + n − 1)
Pn (t) = yn +
1!
2!
n!
(1.3)
Ví dụ 1.11. 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 ở cuối bảng 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 y4
P4 (t) = y4 +
t+
t(t + 1) +
t(t + 1)(t + 2)
1!
2!
3!
∇ 4 y4
1
1
+
t(t + 1)(t + 2)(t + 3) = 18 + 2t − t(t + 1) + t(t + 1)(t + 2)
4!
2
6
1
+ t(t + 1)(t + 2)(t + 3)
6
− 20 −
1.9
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.4)
trong đó P(x), Q(x), R(x) là các hàm liên tục trên khoảng (a,b) nào đó.
P(x), Q(x) khơng đồng nhất bằng 0 trên (a,b)
1.9.1
Dạng chính tắc của phương trình Riccati
Phương trình dạng
y = ±y 2 + R1 (x)
(1.5)
được gọi là phương trình chính tắc của phương trình Riccati.
Xét phương trình Riccati đặc biệt y = Ay 2 +Bxα trong đó A, B, α là các
α
khơng
số thực (A, B = 0). Người ta chứng minh được rằng nếu
2α + 4
phải là số ngun thì phương trình Riccati khơng tích phân được bằng
cầu phương.
1.9.2
Một số tính chất của phương trình Riccati
Tính chất 1.8. Nếu biết được một nghiệm của phương trình Riccati thì
có thể đưa nó về phương trình Bernoulli.
Chứng minh. Thật vậy, giả sử y1 (x) là một nghiệm đã biết của phương
trình (1.4) thì ta có
y1 = p (x) y12 + q (x) y1 + r (x)
Ta đặt y = y1 (x) + z với z là hàm số phải tìm, thay vào phương trình
− 21 −
(1.4) 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.12. 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
− 22 −
Vậy nghiệm tổng quát của phương trình đã cho là
2
e−x
y =x+
;y = x
C + 2 e−x2 dx
Ví dụ 1.13. Giải phương trình y = xy 2 + x2 y − 2x3 + 1
Nhận thấy y = x là một nghiệm của phương trình trên.
1
Đặt y = x + z = z + ta đưa phương trình đã cho về dạng
u
u + 3x2 u = −x
đây là phương trình tuyến tính cấp 1, nghiệm tổng quát của nó là
u = e−x
3
4
ex xdx
C−
Vậy nghiệm tổng qt của phương trình có dạng
ex
y =x+
C−
1.10
3
3
ex xdx
Phương pháp lặp đơn giải phương trình đại
số và siêu việt
Giả sử ta có phương trình
y = ϕ (y) , ϕ : Rm → Rm
− 23 −
(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 [13]) 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 → ∞
1.11
Phương pháp Runge - Kutta
c1
c2
Cho A = (aij )s , b = (b1 , b2 , ..., bs ), c = .
.
cs
Bảng
c1 a11 a12 . . a1s
c2 a21 a22 . . a2s
.
.
.
. . .
.
.
.
. . .
cs as1 as2 . . ass
b1
b2
. . bs
được gọi là một bảng Butcher.
− 24 −