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

Phương pháp lặp giải bài toán biên cho phương trình vi phân phi tuyến cấp 4 (Luận văn thạc sĩ)

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 (412.69 KB, 63 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
——————–o0o——————–

HÀ HOÀNG VIỆT

PHƯƠNG PHÁP LẶP GIẢI BÀI TOÁN BIÊN
CHO PHƯƠNG TRÌNH VI PHÂN
PHI TUYẾN CẤP 4

THÁI NGUYÊN, 10/2018


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
——————–o0o——————–

HÀ HOÀNG VIỆT

PHƯƠNG PHÁP LẶP GIẢI BÀI TOÁN BIÊN
CHO PHƯƠNG TRÌNH VI PHÂN
PHI TUYẾN CẤP 4

Chuyên ngành: Toán ứng dụng
Mã số: 846 01 12

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

GIÁO VIÊN HƯỚNG DẪN
TS. VŨ VINH QUANG


THÁI NGUYÊN, 10/2018


1

Mục lục
Danh mục các ký hiệu, các chữ viết tắt

3

Danh mục các bảng

4

Danh mục các hình vẽ, đồ thị

5

Lời nói đầu

6

Chương 1 Một số kiến thức cơ bản
1.1. Một số kiến thức cơ bản về phương pháp lưới . . . .
1.1.1. Lưới sai phân . . . . . . . . . . . . . . . . . . . . . . .
1.1.2. Hàm lưới . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3. Đạo hàm lưới . . . . . . . . . . . . . . . . . . . . . . .
1.1.4. Quy ước viết vô cùng bé . . . . . . . . . . . . . . . . .
1.1.5. Công thức Taylor . . . . . . . . . . . . . . . . . . . . .
1.1.6. Liên hệ giữa đạo hàm và hàm lưới . . . . . . . . . . . .

1.2. Phương pháp số giải bài toán Cauchy . . . . . . . . . .
1.2.1. Phương pháp Euler 1 . . . . . . . . . . . . . . . . . . .
1.2.2. Phương pháp Euler 2 . . . . . . . . . . . . . . . . . . .
1.2.3. Thuật toán RK4 . . . . . . . . . . . . . . . . . . . . .
1.3. Phương pháp số giải bài toán biên cho phương trình
vi phân tuyến tính cấp 2 với độ chính xác cấp cao . .
1.3.1. Thuật toán truy đuổi 3 đường chéo . . . . . . . . . . .
1.3.2. Phương pháp xấp xỉ đạo hàm với độ chính xác bậc cao
1.3.3. Lược đồ sai phân giải bài toán biên cho phương trình
cấp hai với độ chính xác bậc cao . . . . . . . . . . . . .

9
9
9
9
10
10
10
11
12
13
13
14
15
15
17
21

Chương 2 Phương pháp lặp giải bài toán biên cho phương
trình vi phân phi tuyến cấp bốn

26
2.1. Mô hình bài toán phi tuyến tổng quát . . . . . . . . . 26
2.2. Mô hình bài toán phi tuyến cấp 4 với hệ điều kiện
biên thuần nhất . . . . . . . . . . . . . . . . . . . . . . . . 27


2

2.2.1. Sự tồn tại duy nhất nghiệm . . . . . . . . . . . . . .
2.2.2. Phương pháp lặp xây dựng dãy lặp đơn điệu . . . . .
2.3. Mô hình bài toán phi tuyến cấp 4 với hệ điều kiện
đầu thuần nhất . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Mô hình bài toán . . . . . . . . . . . . . . . . . . . .
2.3.2. Sự tồn tại và duy nhất của nghiệm . . . . . . . . . .

. 27
. 31
. 33
. 33
. 33

Chương 3 Một số kết quả thực nghiệm
41
3.1. Mô hình bài toán cấp 4 phi tuyến với giá trị biên . . 41
3.2. Mô hình bài toán cấp 4 phi tuyến với giá trị ban đầu 47
Kết luận

54

Tài liệu tham khảo


55

Phần phụ lục

57


3

Danh mục các ký hiệu, các chữ
viết tắt
N
Ωk
ρ(h)

∆x
RK4
A
Pn (x)
Lk (x)
v
G(x, t)
B[O, M ]
R+

Lưới sai phân
Không gian lưới
Vô cùng bé so với h
Vô cùng bé bậc α

Số gia hàm
Phương pháp Runge-Kutta
Ma trận Aij cấp n × n
Đa thức bậc n
Nhân tử Lagrange bậc k
Chuẩn trong không gian Rn
Hàm Green
Hình cầu tâm O, bán kính M
Nửa dương của đường thẳng thực


4

Danh mục các bảng
Bảng 1.1: Sai số ε trên lưới điểm c0 = 1; c1 = 2; d0 = 2; d1 = 3
Bảng 1.2: Sai số ε trên lưới điểm c0 = 1; c1 = 0; d0 = 1; d1 = 0
Bảng 3.1: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.1)
Bảng 3.2: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.2)
Bảng 3.3: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.3)
Bảng 3.4: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.4)
Bảng 3.5: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.5)
Bảng 3.6: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.6)
Bảng 3.7: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.7)
Bảng 3.8: Giá trị sai số ε, số điểm lưới N = 100 (Bài toán 3.8)


5

Danh mục các hình vẽ, đồ thị
Hình 3.1: Đồ thị nghiệm dương (Bài toán 3.1)

Hình 3.2: Đồ thị nghiệm dương (Bài toán 3.2)
Hình 3.3: Đồ thị nghiệm dương (Bài toán 3.3)
Hình 3.4: Đồ thị nghiệm dương (Bài toán 3.4)
Hình 3.5: Đồ thị nghiệm dương (Bài toán 3.5)
Hình 3.6: Đồ thị nghiệm dương (Bài toán 3.6)
Hình 3.7: Đồ thị nghiệm dương (Bài toán 3.7)
Hình 3.8: Đồ thị nghiệm dương (Bài toán 3.8)


6

Lời nói đầu
Bài toán cơ học mô tả bởi phương trình vi phân phi tuyến tính với
hệ điều kiện biên đầy đủ là một bài toán khó, được các tác giả trên thế
giới cũng như trong nước quan tâm. Đã có rất nhiều tài liệu đề cập tới
việc chứng minh sự tồn tại và duy nhất nghiệm của bài toán, tuy nhiên
việc xác định nghiệm đúng của bài toán bằng phương pháp giải tích là
khó thực hiện, vì vậy người ta chú ý đến việc nghiên cứu các phương
pháp xác định nghiệm xấp xỉ của bài toán bằng phương pháp chuyển
bài toán phi tuyến về một dãy các bài toán tuyến tính thông qua một sơ
đồ lặp, từ đó dựa trên phương pháp chuyển các bài toán vi phân tuyến
tính về các bài toán sai phân được mô tả bằng các hệ phương trình đại
số sau đó xây dựng các phương pháp giải các hệ đại số tuyến tính. Có
hai vấn đề cần quan tâm là cơ sở toán học của việc xây dựng các sơ đồ
lặp cùng với sự hội tụ của sơ đồ và các thuật toán giải các hệ phương
trình sai phân với độ chính xác cao.
Mục tiêu của luận văn là tìm hiểu cơ sở toán học của việc xây dựng
các sơ đồ lặp dựa trên dãy lặp đơn điệu và phương pháp dựa trên phương
trình toán tử, tìm hiểu các thuật toán xây dựng và giải các hệ phương
trình lưới từ đó cài đặt các chương trình tìm nghiệm xấp xỉ của bài toán

phi tuyến tính cấp 4 được mô tả bằng các sơ đồ lặp thông qua các ví dụ
cụ thể.
Luận văn “Phương pháp lặp giải bài toán biên cho phương trình vi
phân phi tuyến cấp 4” gồm phần mở đầu, ba chương nội dung, kết luận
và tài liệu tham khảo.
Chương 1: Một số kiến thức cơ bản
Trong chương này luận văn trình bày một số kiến thức cơ bản về phương
pháp lưới, thuật toán truy đuổi giải hệ phương trình lưới và phương pháp


7

số giải bài toán biên cho phương trình vi phân tuyến tính cấp 2 với độ
chính xác cấp cao.
Chương 2: Phương pháp lặp giải bài toán biên cho phương trình vi
phân phi tuyến cấp bốn
Chương này, luận văn sẽ giới thiệu một số phương pháp lặp để tìm
nghiệm gần đúng cho một số mô hình mô tả bởi phương trình vi phân
phi tuyến bậc 4 bao gồm lý thuyết về phương pháp nghiệm trên và
nghiệm dưới, phương pháp lặp dựa trên phương trình toán tử áp dụng
cho trường hợp tổng quát.
Chương 3: Một số kết quả thực nghiệm
Trong chương này luận văn đưa ra một số kết quả số để khẳng định tính
đúng đắn về lý thuyết đối với sự hội tụ của các sơ đồ lặp đã được đưa
ra trong Chương 2. Mô hình các bài toán được tham khảo trong các tài
liệu [5, 6]. Các kết quả số được thực hiện bằng các chương trình trong
môi trường MATLAB trên máy tính PC.
Mặc dù đã rất nghiêm túc và cố gắng thực hiện luận văn này, nhưng
luận văn sẽ không tránh khỏi những khiếm khuyết nhất định. Kính mong
sự góp ý của các thầy cô để luận văn này được hoàn chỉnh và ý nghĩa hơn.

Luận văn này được thực hiện tại Trường Đại học Khoa học - Đại học
Thái Nguyên và hoàn thành dưới sự hướng dẫn của TS. Vũ Vinh Quang.
Tác giả xin được bày tỏ lòng biết ơn chân thành và sâu sắc tới người
hướng dẫn khoa học của mình, người đã đặt vấn đề nghiên cứu, dành
nhiều thời gian hướng dẫn tận tình và đầy trách nhiệm để tác giả hoàn
thành luận văn này.
Tác giả đã học tập được rất nhiều kiến thức chuyên ngành bổ ích cho
công tác và nghiên cứu của bản thân. Tác giả cũng xin được gửi lời cảm
ơn sâu sắc tới các Thầy giáo, Cô giáo đã tham gia giảng dạy lớp Cao
học Toán K10A; Nhà trường và các phòng chức năng của trường, Khoa
Toán - Tin, trường Đại học Khoa học, Đại học Thái Nguyên đã quan
tâm và giúp đỡ tác giả trong suốt thời gian học tập tại trường.
Cuối cùng tác giả xin cảm ơn gia đình và các bạn đồng nghiệp đã


8

động viên, ủng hộ cũng như tạo mọi điều kiện cho tác giả trong suốt
thời gian nghiên cứu và học tập.
Thái Nguyên, tháng 4 năm 2018
Tác giả

Hà Hoàng Việt


9

Chương 1

Một số kiến thức cơ bản

Nội dung chính của Chương 1 trình bày các kiến thức cơ bản về
phương pháp lưới, một số thuật toán giải số các phương trình vi phân
cấp 1 và cấp 2 với hệ điều kiện đầu và điều kiện biên. Các kiến thức
trình bày được tham khảo trong các tài liệu [1, 2, 3, 7, 8].

1.1.

Một số kiến thức cơ bản về phương pháp lưới

Cho khoảng [x0 , X]. Tìm hàm u = u(x) xác định trên [x0 , X] và thỏa
mãn:
u = f (x, u), x0 ≤ x < X,

(1.1)

u (x0 ) = η,

(1.2)

trong đó f (x, u) là một hàm cho trước và η là một số cho trước.
Giả sử bài toán (1.1), (1.2) có nghiệm u = u(x) đủ trơn, nghĩa là nó có
đạo hàm liên tục đến cấp mà ta cần.
1.1.1.

Lưới sai phân

Ta chia đoạn [x0 , X] thành N đoạn con bằng nhau, mỗi đoạn con có
(a − b)
độ dài h =
bởi các điểm xi = x0 + ih, i = 0, 1, ..., N . Tập điểm

N
xi gọi là một lưới sai phân trên [x0 , X] ký hiệu là Ωh .
1.1.2.

Hàm lưới

Giá trị của hàm lưới v tại nút xi viết là vi . Một số hàm u(x) xác
định tại mọi x ∈ [a, b] sẽ tạo ra hàm lưới u có giá trị tại nút xi là
ui = u (xi ).


10

1.1.3.

Đạo hàm lưới

Xét hàm lưới v. Đạo hàm lưới cấp một của v ký hiệu là vx , có giá trị
tại nút xi là:
vxi =

vi+1 − vi
.
h

Đạo hàm lưới lùi cấp một của v, ký hiệu là vx , có giá trị tại nút xi là:
vxi =

vi − vi−1
.

h

Ta sẽ thấy rằng khi h đủ bé thì đạo hàm lưới "xấp xỉ" được đạo hàm
thường.

1.1.4.

Quy ước viết vô cùng bé

Khái niệm xấp xỉ liên quan đến khái niệm vô cùng bé. Để viết các vô
cùng bé một cách đơn giản ta sẽ áp dụng qui ước sau đây:
Giả sử đại lượng ρ(h) là một vô cùng bé khi h → 0. Nếu tồn tại α > 0 và
hằng số M > 0 sao cho: | ρ (h) |
M hα thì ta viết: ρ (h) = O (hα ).
Cách viết như trên có nghĩa là: Khi h nhỏ thì ρ(h) là một đại lượng nhỏ
và khi h → 0 thì ρ(h) tiến đến số 0 không chậm hơn M hα .
1.1.5.

Công thức Taylor

Giả sử F (x) là một hàm số xác định và có đạo hàm đến cấp m + 1
trong khoảng (α, β) chứa x và x + ∆x, ∆x có thể âm hay dương. Khi
đó ta có công thức khai triển
(∆x)2
F (x + ∆x) = F (x) + ∆xF (x) +
F (x) + ...
2! m+1
m
(∆x)
(∆x)

... +
F (m) (x) +
F (m+1) (c)
m!
(m + 1)!
trong đó c là một điểm ở trong khoảng từ x đến x + ∆x. Có thể viết
c = x + θ∆x với 0 < θ < 1.
Ta giả thiết thêm: F (m+1) (x)
M = const, x ∈ [α, β]. Khi đó
(∆x)(m+1) (m+1)
F
(c) là một vô cùng bé khi ∆x → 0
(m + 1)!


11

tức là tồn tại hằng số K > 0 không phụ thuộc vào ∆x sao cho:
(∆x)(m+1) (m+1)
F
(c)
(m + 1)!

K(∆x)(m+1) .

Công thức Taylor ở trên có thể viết gọn hơn như sau:
(∆x)2
F (x) + ...
F (x + ∆x) = F (x) + ∆xF (x) +
2!

(∆x)m m
F (x) + O (∆x)(m+1) .
... +
m!
1.1.6.

Liên hệ giữa đạo hàm và hàm lưới

Giả sử hàm u(x) đủ trơn. Theo công thức Taylor ta có:
u(xx + 1) = u(xi + h) = u(xi ) + hu (xi ) + O(h2 ).
Ta suy ra
uxi =

u (xi+1 ) − u (xi )
= u (xi ) + O(h).
h

(1.3)

Tương tự:
u(xi − 1) = u(xi − h) = u(xi ) − hu (xi ) + O(h2 ).
Do đó:
u (xi ) − u (xi−1 )
= u (xi ) + O(h).
h
Ngoài ra với quy ước:
h
xi+ 12 = xi + , ui+ 12 = u xi+ 12 .
2
h

Ta còn có: u (xi+1 ) = u xi+ 12 +
2
uxi =

h
1 h
= u xi+ 12 + u xi+ 21 +
2
2! 2
h
u(xi ) = u xi+ 21 −
2

2

h
1 h
− u xi+ 12 +
2
2! 2

2

= u xi+ 12

u

u

xi+ 12 + O h3 ,


xi+ 21 +O h3 .

Ta suy ra:
u (xi+1 ) − u (xi ) = hu

xi+ 12

(1.4)

+ O h3 .


12

Do đó:
ux i +1 − uxi =

u (xi+1 ) − u (xi )
= u xi+ 12 + O(h2 ).
h

(1.5)

Đồng thời:
u (xi+1 ) + u (xi )
= u xi+ 12
h

1.2.


+ O h2 .

(1.6)

Phương pháp số giải bài toán Cauchy

Xét bài toán Cauchy, hay còn gọi là bài toán giá trị ban đầu: Tìm
y(x) thỏa mãn điều kiện:
y = f (x, y), x0 ≤ x ≤ x
y(x0 ) = y0 , (y, f ∈ Rm )

(1.7)

Ta quan tâm đến phương pháp tìm nghiệm của (1.7) tại điểm x1 = x0 +h
với bước h > 0. Hai nhà toán học người Đức Runge và Kutta đã đề xuất
một phương pháp tìm nghiệm y1 , chỉ phải tính một hàm f (x, y) tại một
số điểm khác nhau:
Đặt y1 = y0 + ∆y0 , trong đó ∆y0 = pr1 k1 (h) + ... + prr kr (h)
ki (h) = hf (ξi , vi ) ; ξi = x0 + αi h; α1 = 0;
vi = y0 + βi1 k1 (h) + ... + βi,i−1 ki−1 (h).
Gọi ϕr (h) := y (x0 + h) − y1 = y (x0 + h) − y (x0 ) − ∆y0 là sai số (địa
(s+1)
phương) của phương pháp Runge-Kutta. Nếu ϕr (0) = 0 thì:
r

(i)

ϕr (h) =
i=0


ϕr (0) i
h + O hs+1 .
i!

Runge-Kutta chọn các hệ số αi , βij , prj từ điều kiện:
(s+1)
ϕ(i)
(0) = 0,
r (0) = 0, (i = 0, s); ϕr

với s càng lớn càng tốt.
(i)
(i)
(i)
(i)
Như vậy, ϕr (0) = y0 − pr1 k1 (0) + ... + prr kr (0) = 0, i = 0, s ,
hay ta có phương trình phi tuyến để xác định các hệ số αi , βij , prj :
(i)

(i)

(i)

(i)

pr1 k1 (0) + pr2 k2 (0) + ... + prr kr (0) = y0
i = 0, s.

(1.8)


Xuất phát từ phương pháp Runge-Kutta tổng quát, chúng ta thu được
một số phương pháp cụ thể như sau:


13

1.2.1.

Phương pháp Euler 1

Xét trường hợp riêng của phương pháp Runge-Kutta khi r = 1.
Ta có:
∆y0 = p11 k1 (h) ; k1 (h) = hf (x0 , y0 )
ϕ1 (h) := y (x0 + h) − y0 − p11 hf (x0 , y0 ) ; ϕ1 (0) = 0;
ϕ1 (0) = y0 − p11 f (x0 , y0 ) = (1 − p11 ) f (x0 , y0 ).
Để ϕ1 (0) = 0 với mọi hàm f , ta phải có p11 = 1.
Với ϕ1 (0) = y0 = 0 và ∆y0 = p11 k1 (h) = hf (x0 , y0 ). Ta nhận được công
thức Euler:
y1 = y0 + hf (x0 , y0 ) .

(1.9)

Nói chung yn+1 = yn + hf (xn , yn ) , xn = x0 + nh.
+ Sai số địa phương của phương pháp:
ϕ1 (ξ) 2 y (ξ) 2
h =
h = O h2
2!
2

+ Để nhận được công thức sai số toàn phần, ta giả thiết f (x, y) liên tục
Lipschitz theo biến y với hằng số Lipschitz L > 0, ngoài ra vi phân toàn
df
phần
M . Cho xn cố định
dx

xn

y (xn ) = y0 + f (x, y(x)) dx
R1 (h) =

x0


y
n

= yn−1 + hf (xn−1 , yn−1 ) .

Có thể thấy rằng phương pháp Euler 1 có độ chính xác O(h2 ).
1.2.2.

Phương pháp Euler 2

Trong phương pháp Runge-Kutta, ta xét trường hợp r = 2,
∆y0 = p21 k1 (h) + p22 k2 (h) .
Phương trình (1.8) có dạng:
(1)


(l)

(l)

y0 = p21 k1 (0) + p22 k2 (0); l = 1, 2 .

(1.10)

Vì k1 (h) = hf (x0 , y0 ) nên k1 (0) = 0; k1 (0) = f (x0 , y0 ) và k1 (0) = 0.
Tiếp theo k2 (h) = hf (ξ2 , v2 ) trong đó ξ2 = x0 +α2 h; v2 = y0 +β21 k1 (h).
Ta có:
∂f
∂f
α2 +
β21 k1 (h) ≡ f (ξ2 , v2 ) + h [.]
k2 (h) = f (ξ2 , v2 ) + h
∂x
∂y


14

Dễ thấy k2 (0) = 0; k2 (0) = f (x0 , y0 ).
Tiếp theo k2 (h) = [.] + [.] + h[.] nên:
k2 (0) = 2 [.]|h=0 = 2 α2

∂f0
∂f0
+ β21 f0
.

∂x
∂y

Ở đây chúng ta dùng kí hiệu f0 := f (x0 , y0 ) ;

∂f0 ∂f0
;
là đạo hàm
∂x ∂y

∂f ∂f
;
tương ứng tính tại điểm (x0 , y0 ).
∂x ∂y
Từ hệ thức (1.10), ta suy ra:


y0 = f0 = p21 f0 + p22 f0 ,
∂f0
∂f0
∂f0
∂f0

+ f0
= 2p22 α2
+ β21 f0
y0 =
∂x
∂y
∂x

∂y

(1.11)

.

Từ phương trình đầu của (1.11), suy ra: p21 + p22 = 1
Biến đổi phương trình thứ hai của hệ (1.11), ta được:
(1 − 2α2 p22 )

∂f0
∂f0
+ (1 − 2p22 β21 ) f0
= 0.
∂x
∂y

(1.12)

Vì công thức Runge-Kutta (ứng với r = 2) đúng với mọi hàm f , nên để
(1.12) nghiệm đúng, cần 1 − 2α2 p22 = 1 − 2p22 β21 = 0.
1
Như vậy: α2 = β21 = 1; p21 = p22 =
2
1

∆y0 = h {f (x0 , y0 ) + f (x0 + h, y0 + hf (x0 , y0 ))}.
2
Ta nhận được công thức gọi là công thức Euler 2 sau:


y0 := y0 + hf (x0 , y0 )
(1.13)
y1 = y0 + 1 h [f (x0 , y0 ) + f (x1 , y0 )] .
2
Có thể thấy rằng phương pháp Euler 2 có độ chính xác O(h2 ).
1.2.3.

Thuật toán RK4
4

Khi r = 4, ϕ4 (h) = y (x0 + h) − y (x0 ) −

p4i ki (h).
i=1

4

Dễ thấy: ϕ4 (0) = 0; ϕ4 (0) = y0 −
i=1
4

p4i = 1.

Từ đây suy ra:
i=1

4

p4i ki (0) =


1−

p4i f0 = 0.
i=1


15
(4)

Ngoài ra ta còn có: ϕ4 (0) = ϕ4 (0) = ϕ4 (0) = 0. Kết quả là có 11
phương trình đối với 10 ẩn: α2 , α3 , α4 , β21 , β31 , β32 , β41 , β42 , β43 , p4i (i =
1, 4).
Như vậy sẽ có một họ các công thức RK4. Công thức thông dụng nhất
có dạng:
1
∆y0 = [k1 + 2k2 + 2k3 + k4 ]
6
k1 = hf (x0 , y0 )
k1
h
(1.14)
k2 = hf (x0 + , y0 + )
2
2
h
k2
k3 = hf (x0 + , y0 + )
2
2
k4 = hf (x0 + h, y0 + k3 ).

(5)
5 ϕ4 (ξ)

Có thể chứng minh rằng R4 (h) = h
RK4.

1.3.

1.3.1.

120

là sai số địa phương của

Phương pháp số giải bài toán biên cho phương
trình vi phân tuyến tính cấp 2 với độ chính xác
cấp cao
Thuật toán truy đuổi 3 đường chéo

Xét hệ phương trình



C1 x1 + B1 x2
Ai xi−1 + Ci xi + Bi xi+1


A x
+C x
n


n−1

n

Hệ (1.15) có ma trận:

C1 B1
A C
 2 2

 0 A3
A=
 ... ...

 0 0
0 0

n

0
B2
C3
...
0
0

= f1 ,
= fi ,


(i = 1, 2, ..., n − 1)

(1.15)

= fn .

... 0
0
... 0
0
... 0
0
... ...
...
... Cn−1 Bn−1
... An
Cn






 dạng 3 đường chéo.




X = (x0 , x1 , ..., xn )T : ẩn phải tìm. D = (d0 , d1 , ..., dn ) : cột vế phải.
Các hệ số của ma trận 3 đường chéo cần thỏa mãn các điều kiện sau



16

đây: |Ci |
|Ai | + |Bi | , i = 1, 2, ..., n trong đó tồn tại ít nhất một bất
đẳng thức chặt. Hệ phương trình trên được gọi là hệ 3 đường chéo. Đối
với hệ dạng đặc biệt này, chúng ta có thể tìm nghiệm của hệ bằng thuật
toán sau đây:
Thuật toán truy đuổi 3 đường chéo
Ta đi tìm nghiệm của hệ (1.15) trong dạng:
xi = αi+1 xi+1 + βi+1 ; i = 0, 1, 2, ..., n − 1,

(1.16)

trong đó αi+1 , βi+1 được tìm từ điều kiện ràng buộc (1.16), là nghiệm
của hệ (1.15). Thay (1.16) vào (1.15) và sử dụng đẳng thức:
xi−1 = αi xi + βi = αi (αi+1 xi+1 + βi+1 ) + βi
ta được: [αi+1 (αi Ai − Ci ) + Bi ] xi+1 + [(αi Ai − Ci ) Bi+1 + βi Ai + di ] =
0; i = 1, 2, ..., n − 1.
Nên αi+1 (αi Ai − Ci ) + βi = 0, (αi Ai − Ci ) Bi+1 + βi Ai + di = 0.
Từ đó ta có công thức truy hồi:
αi+1 =

βi
βi Ai + di
; Bi+1 =
; i = 1, 2, ..., n − 1.
(Ci − αi Ai )
(Ci − αi Ai )


Để có các hệ số đó, ta cần xác định α1 , β1 .
Do đó phương trình đầu tiên: −C0 x0 + B0 x1 = −d0 ,
B0
d0
hay: x0 =
x1 +
= α1 x1 + β1 có dạng (1.16).
C0
C0
B0
d0
Nghĩa là: α1 =
, β1 =
.
C0
C0
Nhưng để tính theo công thức (1.16), ta cần có xn . Ẩn xn sẽ được tìm
nhờ phương trình cuối cùng của hệ (1.15):
An xn+1 − Cn xn = −dn .
Lại theo (1.16) ta có: xn−1 = αn xn + βn .
Loại trừ xn−1 từ hệ này, ta suy ra được: xn =

βn An + dn
.
Cn − An αn


17


Như vậy nghiệm của hệ (1.15) được tìm theo công thức:

Bi
Ai βi + di


αi+1 =
; βi+1 =
; i = 1, 2, ..., n − 1,



C

α
A
C

α
A
i
i
i
i
i
i



d0

B0
α
; β1 =
,
=
1
Co
Co


xi
= αi+1 xi+1 + βi+1 ; i = 1, 2, .., n − 1,




βn An + dn


=
.
xn
C n − An αn
Xuất phát từ các công thức trên, thuật toán truy đuổi 3 đường chéo
được thực hiện bằng thuật toán sau đây:
Thuật toán
B1
f1
, β1 =
, xác định tất cả các giá trị

C1
C1
αi , βi , ∀i = 2, 3, ..., n theo công thức:

Bước 1: Xuất phát từ α1 = −

Ai βi + di
Bi
; βi+1 =
; i = 1, 2, ..., n − 1.
C i − αi Ai
C i − αi Ai
βn An + dn
Bước 2: Xuất phát từ xn =
, xác định tất cả các xi , i =
C n − An αn
n − 1, n − 2, ..., 1 theo công thức:
αi+1 =

xi = αi+1 xi+1 + βi+1 ;

i = 1, 2, .., n − 1.

Chúng ta có thể thấy rằng kết quả của thuật toán là O(n).
1.3.2.

Phương pháp xấp xỉ đạo hàm với độ chính xác bậc cao

Xét bài toán tổng quát: Cho hàm số y = f (x), x ∈ [a, b], cho trước
(n + 1) mốc nội suy a = x0 < x1 < ... < xn = b. Hãy tìm đa thức

Pn (x) = a0 xn + a1 xn−1 + ... + an thỏa mãn tính chất:
Pn (xi ) = yi = f (xi );

(i = 0, 1, 2, ..., n).

Ý nghĩa hình học của bài toán nội suy là: Hãy xây dựng đường cong đại
số y = Pn (x) đi qua tất cả các điểm cho trước (xi , yi )(i = 0, 1, 2, ..., n).
Về mặt toán học, chúng ta chứng minh được: Với hàm số f (x) xác định
liên tục và các mốc nội suy tùy ý thì đa thức nội suy Pn (x) sẽ tồn tại
và duy nhất. Sau đây chúng ta sẽ nghiên cứu phương pháp xác định đa
thức nội suy Lagrange.


18

Định nghĩa: Đa thức Lk (x) bậc n sẽ được gọi là nhân tử Lagrange
thứ k nếu thỏa mãn điều kiện:
Lk (xi ) =

1, xi = xk ,

i = 0, 1, ..., n; k = 0, 1, ..., n.

0, xi = xk ,

Dễ thấy rằng các nhân tử sẽ được xác định bằng công thức
Lk (x) =

(x − x0 )...(x − xk−1 )(x − xk+1 )...(x − xn )
, k = 0, 1, 2, ..., n.

(xk − x0 )...(xk − xk−1 )(xk − xk+1 )...(xk − xn )

Nhận xét:
* Sử dụng khái niệm nhân tử Lagrange, chúng ta nhận được công thức
xác định đa thức nội suy Lagrange
Pn (x) = y0 L0 (x) + y1 L1 (x) + ... + yn Ln (x).

(1.17)

* Sai số của phương pháp xấp xỉ được xác định bằng công thức
f (n+1) (ξ) n
f (x) = Pn (x) + Rn (x), trong đó Rn (x) =
(x − xi ).
(n + 1)! i=0
(b − a)
Trong trường hợp lưới cách đều, kí hiệu h =
chúng ta có thể đánh
n
giá sai số của phép nội suy theo công thức f (x) = Pn (x) + O(h(n+1) ).
Chúng ta giả thiết hàm số f (x) là hàm khả vi mọi cấp trên đoạn [a, b].
(b − a)
Sử dụng lưới sai phân đều với bước lưới h =
bằng các mốc nội
n
suy a = x0 < x1 < ... < xn = b trong đó xi = a + ih, i = 0, 1, ..., n. Xuất
phát từ công thức về đa thức nội suy Lagrange, ta sẽ thu được các công
thức tính xấp xỉ đạo hàm như sau:
f (n+1) (ξ)
(n + 1)!


d
f (x) = Pn (x) + Rn (x) = Pn (x) +
dx

n

(x − xi )
i=0

n

= Pn (x) + O(h ),
d2
f (x) = Pn (x) + Rn (x) = Pn (x) + 2
dx

f (n+1) (ξ)
(n + 1)!
n−1

= Pn (x) + O(h

), ...

Một số kết quả trong trường hợp lưới năm điểm:
Giả sử xét lưới năm điểm x0 , x1 , x2 , x3 , x4 cách đều.
Ký hiệu: fk = f (xk ) = f (x0 + kh), k = 0, 1, 2, 3, 4.

n


(x − xi )
i=0


19

Ta xác định các nhân tử Lagrange:
L0 (x) =
L1 (x) =
L2 (x) =
L3 (x) =
L4 (x) =

(x − x1 )(x − x2 )(x − x3 )(x − x4 )
;
24h4
(x − x0 )(x − x2 )(x − x3 )(x − x4 )
;
−6h4
(x − x0 )(x − x1 )(x − x3 )(x − x4 )
;
4h4
(x − x0 )(x − x1 )(x − x2 )(x − x4 )
;
−6h4
(x − x0 )(x − x1 )(x − x2 )(x − x3 )
.
24h4

Vậy theo (1.17)

P4 (x) =
+
+
+
+

(x − x1 )(x − x2 )(x − x3 )(x − x4 )
f0
24h4
(x − x0 )(x − x2 )(x − x3 )(x − x4 )
f1
−6h4
(x − x0 )(x − x1 )(x − x3 )(x − x4 )
f2
4h4
(x − x0 )(x − x1 )(x − x2 )(x − x4 )
f3
−6h4
(x − x0 )(x − x1 )(x − x2 )(x − x3 )
f4 .
24h4

Xét tại điểm x = x0 , chúng ta có:
f (x0 ) = f0 L0 (x0 ) + f1 L1 (x0 ) + f2 L2 (x0 ) + f3 L3 (x0 ) + f4 L4 (x0 ) + O(h4 ),
f (x0 ) = f0 L0 (x0 ) + f1 L1 (x0 ) + f2 L2 (x0 ) + f3 L3 (x0 ) + f4 L4 (x0 ) + O(h3 ).


20



(x − x1 )(x − x2 )(x − x3 )(x − x4 )
24h4
25
35
⇒ L0 (x0 ) = −
; L0 (x0 ) =
;
12h
12h2
(x − x0 )(x − x2 )(x − x3 )(x − x4 )
L1 (x) =
−6h4
104
48
; L1 (x0 ) = −
;
⇒ L1 (x0 ) =
12h
12h2
(x − x0 )(x − x1 )(x − x3 )(x − x4 )
L2 (x) =
4h4
36
114
⇒ L2 (x0 ) =
; L2 (x0 ) =
;
12h
12h2
(x − x0 )(x − x1 )(x − x2 )(x − x4 )

L3 (x) =
−6h4
16
56
⇒ L3 (x0 ) =
; L3 (x0 ) = −
;
12h
12h2
(x − x0 )(x − x1 )(x − x2 )(x − x3 )
L4 (x) =
24h4
3
11
⇒ L4 (x0 ) = −
; L4 (x0 ) =
.
12h
12h2
L0 (x) =

Từ đó chúng ta thu được công thức

1


(−25f0 + 48f1 − 36f2 + 16f3 − 3f4 ) + O(h4 ),
f
(x
)

=

0

12h





 f (x0 ) =

(1.18)

1
(35f0 − 104f1 + 114f2 − 56f3 + 11f4 ) + O(h3 ).
2
12h

Hoàn toàn tương tự, lần lượt xét tại các mốc nội suy x, x1 , x2 , x3 , x4 ta
sẽ thu được các công thức tương ứng:

1


f
(x
)
=
(−3f0 − 10f1 + 18f2 − 6f3 + f4 ) + O(h4 ),


1

12h



1


 f (x2 ) =
(−f0 − 8f1 + 8f3 − f4 ) + O(h4 ),
12h
(1.19)
1

4

f (x3 ) =
(−f0 + 6f1 − 18f2 + 10f3 + 3f4 ) + O(h ),



12h



1

 f (x4 ) =

(3f0 − 16f1 + 36f2 − 48f3 + 25f4 ) + O(h4 ).
12h


21


1


f
(x
)
=
(11f0 − 20f1 + 6f2 + 4f3 − f4 ) + O(h3 ),

1
2

12h



1


 f (x2 ) =
(−f0 + 16f1 − 30f2 + 16f3 − f4 ) + O(h3 ),
2
12h

(1.20)
1

3

f (x3 ) =
(−f0 + 4f1 + 6f2 − 20f3 + 11f4 ) + O(h ),



12h2



1

 f (x4 ) =
(11f0 − 56f1 + 114f2 − 104f3 + 35f4 ) + O(h3 ).
2
12h
Nhận xét:
* Bộ công thức (1.18) - (1.20) cho ta các kết quả tính gần đúng đạo hàm
bậc nhất và bậc hai với độ chính xác cấp bốn và cấp ba thông qua việc
áp dụng đa thức nội suy Lagrange với số nút năm điểm.
* Hoàn toàn tương tự, chúng ta thu được các công thức tính xấp xỉ đạo
hàm bậc bốn với độ chính xác cấp một.

1

(4)


(f0 − 4f1 + 6f2 − 4f3 + f4 ) + O(h),
f
(x
)
=

0


h4



1

(4)

rf
(x
)
=
(f0 − 4f1 + 6f2 − 4f3 + f4 ) + O(h),
1

4

h



1
(1.21)
f (4) (x2 ) = 4 (f0 − 4f1 + 6f2 − 4f3 + f4 ) + O(h),

h



1

(4)

f
(x
)
=
(f0 − 4f1 + 6f2 − 4f3 + f4 ) + O(h),

3

h4




1

 f (4) (x4 ) = 4 (f0 − 4f1 + 6f2 − 4f3 + f4 ) + O(h).
h
* Trong ứng dụng tính toán, các mốc nội suy x0 , x1 , x2 , x3 , x4 được hiểu

tổng quát là năm mốc liên tiếp trong lưới sai phân n + 1, đó là các mốc
xk , xk+1 , xk+2 , xk+3 , xk+4 , k + 4 < n. Các công thức trên có ý nghĩa rất
quan trọng trong việc xây dựng các lược đồ sai phân giải phương trình
vi phân với độ chính xác bậc cao.
1.3.3.

Lược đồ sai phân giải bài toán biên cho phương trình
cấp hai với độ chính xác bậc cao

Mô hình bài toán: Xét bài toán biên

= f (x),
x ∈ [a, b]

u
c0 u(a) − c1 u (a) = C,


d0 u(b) + d1 u (b) = D,

(1.22)


22

0, c20 + c21 > 0, d20 + d21 > 0 là các hằng số tùy ý.
(b − a)
,
Chia đoạn [a, b] bằng n + 1 điểm chia với bước lưới h =
n

xi = a + ih(i = 0, 1, ..., n).
Kí hiệu: ui = u(xi ), ui = u (xi ), ui = u (xi ).
Xét công thức khai triển Taylor tổng quát
trong đó c0 , c1 , d0 , d1

h2
h3 (3) h(4) (4)
u(x ± h) = u(x) ± hu + u ± u +
u + ... + O(hn ).
2
6
24
Hay
ui+1
ui−1

h2
h3 (3) h4
h5 (5)
h6 (4)
= ui + hui + ui + ui + fi +
ui +
fi + O(h6 ),
2
6
24
120
720
3
4

5
2
h (3) h
h (5)
h6 (4)
h
ui +
fi + O(h6 ).
= ui − hui + ui − ui + fi −
2
6
24
120
720

Từ đây suy ra
ui−1 − 2ui + ui+1 h2
h4 (4)
ui =
− fi −
f + O(h4 ).
h2
12
360 i
Vậy ta thu được lược đồ sai phân với độ chính xác cấp bốn
ui−1 − 2ui + ui+1
h2
h4 (4)
= fi + fi +
f ; i = 1, 2, ..., n − 1.

h2
12
360 i
Sử dụng các công thức tính xấp xỉ đạo hàm với độ chính xác bậc cao
(1.18) - (1.21), áp dụng với các đạo hàm tương ứng trong phương trình
và điều kiện biên, ta thu được hệ phương trình sai phân với độ chính
xác cấp bốn như sau:

c1

c
u

(−25u0 + 48u1 − 36u2 + 16u3 − 3u4 )
= C,
0
0


12h

ui−1 − 2ui + ui+1 = Fi , i = 1, 2, ..., n − 1



 d u + d1 (25u − 48u
0 n
n
n−1 + 36un−2 − 16un−3 + 3un−4 ) = D.
12h

Trong đó
2

Fi = h

h4 (4)
h2
fi + fi +
f
,
12
360 i

i = 1, 2, ..., n − 1.

Hệ có dạng thu gọn
AU = F ,

(1.23)

ở đây U = (u0 , u1 , ..., un )T ; F = (F0 , F1 , ..., Fn )T , ma trận hệ số của hệ
được kí hiệu


23











A=









a0,0 a0,1
a1,0 a1,1
0 a2,1
0
0
... ...
... ...

a0,2
a1,2
a2,2
a3,2
...
...
an−3,n−2

0
0
an−2,n−2 an−2,n−1
0
an−1,n−2 an−1,n−1 an−1,n
an,n−2
an,n−1
an,n




















Nhận xét:
* Hệ phương trình sai phân (1.23) chính là hệ phương trình sai phân

tương ứng với bài toán biên cho phương trình vi phân (1.22) với độ chính
xác cấp bốn.
* Trong trường hợp khi điều kiện biên có dạng Dirichlet u(a) = C; u(b) =
D, ta thu được lược đồ sai phân với đội chính xác cấp sáu (do không
phải sai phân điều kiện biên).
* Ma trận của hệ phương trình không phải dạng ba đường chéo có tính
chất chéo trội, do đó hệ không giải được bằng thuật toán truy đuổi.
Bổ đề 1.1: Hệ phương trình AU = F qua hữu hạn phép toán biến
đổi luôn chuyển hệ về dạng ba đường chéo có tính chất chéo trội.
Chúng ta cần chứng minh hai vấn đề:
+ Hệ phương trình qua hữu hạn phép toán được chuyển về hệ đại số
tuyến tính dạng ba đường chéo.
+ Ma trận của hệ có tính chất chéo trội.
Chứng minh:
Theo tính chất của hệ đại số tuyến tính, hệ sẽ không thay đổi nếu ta
nhân một phương trình với một số bất kì sau đó cộng vào phương trình
khác. Sử dụng tính chất trên, ta sẽ biến đổi hệ phương trình (1.23) về
dạng hệ phương trình có ma trận ba đường chéo lần lượt qua các bước
như sau:
a0,4
sau đó cộng vào
Bước 1: Nhân phương trình thứ tư với số K1 = −
a3,4
phương trình thứ nhất của hệ. Qua phép biến đổi ta thu được a0,4 = 0.


×