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

Phương pháp xấp xỉ đạo hàm với độ chính xác bậc cao và ứng dụ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 (558.46 KB, 66 trang )

..

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
--------------------------------

LƯƠNG THỊ THANH GIANG

PHƯƠNG PHÁP XẤP XỈ ĐẠO HÀM VỚI ĐỘ
CHÍNH XÁC BẬC CAO VÀ ỨNG DỤNG

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

THÁI NGUYÊN - 2017


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
--------------------------------

LƯƠNG THỊ THANH GIANG

PHƯƠNG PHÁP XẤP XỈ ĐẠO HÀM VỚI ĐỘ
CHÍNH XÁC BẬC CAO VÀ ỨNG DỤNG

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

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

NGƯỜI HƯỚNG DẪN KHOA HỌC



TS. VŨ VINH QUANG

THÁI NGUYÊN - 2017


i

Mục lục
Lời cảm ơn

iii

Bảng ký hiệu

1

Danh sách bảng

2

Mở đầu

3

1 Một số kiến thức cơ bản
1.1 Công thức khai triển Taylor . . . . . . . .
1.2 Nội suy và xấp xỉ hàm số . . . . . . . . .
1.2.1 Bài toán xấp xỉ hàm số tổng quát .
1.2.2 Bài toán nội suy hàm số . . . . . .

1.2.3 Lý thuyết về đa thức nội suy . . .
1.2.4 Đa thức nội suy Lagrange . . . . .
1.2.5 Chọn mốc nội suy tối ưu . . . . . .
1.2.6 Sai phân và các tính chất . . . . .
1.2.7 Một số quy tắc nội suy hàm số trên
1.2.8 Nội suy hàm số trên lưới khơng đều
1.2.9 Bài tốn nội suy ngược . . . . . . .
1.2.10 Lý thuyết về hàm ghép trơn Spline

. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
lưới đều
. . . . .
. . . . .
. . . . .

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

5
5
6

6
6
7
8
11
13
14
20
24
25

2 Một số phương pháp xấp xỉ đạo hàm với độ chính xác bậc
cao
29
2.1 Trường hợp lưới đều sử dụng đa thức nội suy . . . . . . . . . 29
2.1.1 Mô tả phương pháp tổng quát . . . . . . . . . . . . . 29
2.1.2 Một số kết quả trong trường hợp lưới 5 điểm . . . . . 31
2.2 Phương pháp xấp xỉ đạo hàm trong trường hợp lưới không
đều dựa trên thuật toán đại số . . . . . . . . . . . . . . . . . 36


3 Một số ứng dụng xây dựng thuật toán số giải phương trình
vi phân cấp cao
42
3.1 Hệ truy đuổi 3 đường chéo . . . . . . . . . . . . . . . . . . . 42
3.2 Thuật toán số giải bài toán biên tuyến tính cấp 2 . . . . . . 44
3.2.1 Thuật tốn thơng thường . . . . . . . . . . . . . . . 44
3.2.2 Thuật tốn sai phân với độ chính xác bậc cao . . . . 45
3.3 Thuật toán số giải phương trình vi phân phi tuyến cấp cao . 49
3.3.1 Phương trình phi tuyến cấp 4 . . . . . . . . . . . . . 49

3.3.2 Phương trình phi tuyến cấp 6 . . . . . . . . . . . . . 52
Kết luận

57

Tài liệu tham khảo

58

Phần phụ lục

59


Lời cảm ơn
Tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy tôi TS. Vũ Vinh Quang,
người đã trực tiếp hướng dẫn luận văn, đã tận tình chỉ bảo và hướng dẫn
tơi tìm ra hướng nghiên cứu, tìm kiếm tài liệu, giải quyết vấn đề... nhờ đó
tơi mới có thể hồn thành luận văn cao học của mình. Từ tận đáy lịng,
tơi xin bày tỏ lịng biết ơn chân thành và sâu sắc nhất tới Thầy của tôi và
tôi sẽ cố gắng hơn nữa để xứng đáng với công lao của Thầy.
Tôi xin chân thành cảm ơn Ban giám hiệu, phòng Đào tạo trường Đại
học Khoa học - Đại học Thái Nguyên đã quan tâm và giúp đỡ tôi trong
suốt thời gian học tập tại trường. Tôi xin cảm ơn q thầy cơ Khoa Tốn
- Tin và đặc biệt là PGS.TS. Nguyễn Thị Thu Thủy, trưởng Khoa Toán Tin, đã ln quan tâm, động viên, trao đổi và đóng góp những ý kiến q
báu trong suốt q trình học tập, nghiên cứu và hồn thành ln văn.
Cuối cùng, tơi muốn bày tỏ lòng biết ơn sâu sắc tới những người thân
trong gia đình, đặc biệt là bố mẹ - những người ln động viên, chia sẽ
mọi khó khăn cùng tôi trong suốt thời gian qua và đặc biệt là trong thời
gian tơi theo học khóa thạc sỹ tại trường Đại học Khoa học - Đại học Thái

Nguyên.
Thái Nguyên, ngày 27 tháng 6 năm 2017
Tác giả luận văn

Lương Thị Thanh Giang


1

Bảng ký hiệu
R
Rn
f (n)
∆n f (x)

trường số thực
không gian Euclide n-chiều
đạo hàm cấp n của hàm số f(x)
sai phân cấp n của hàm số f(x)


2

Danh sách bảng
3.1
3.2
3.3
3.4
3.5
3.6

3.7

Một số kết quả kiểm tra sai số đối với thuật toán
Một số kết quả so sánh với nghiệm đúng . . . . .
Một số kết quả so sánh với nghiệm đúng . . . . .
Một số kết quả so sánh với nghiệm đúng . . . . .
Hàm nghiệm đúng . . . . . . . . . . . . . . . . .
Hàm nghiệm đúng . . . . . . . . . . . . . . . . .
Hàm nghiệm đúng . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

48
51

51
52
55
55
56


3

Mở đầu
Khi nghiên cứu về các bài toán thực tế trong các mơi trường liên tục
thì đại đa số các bài, qua mơ hình hóa tốn học đều đưa đến các dạng
bài tốn biên đối với phương trình vi phân đối với hàm một biến số hoặc
phương trình đạo hàm riêng đối với hàm nhiều biến số. Đối với các bài
toán này, việc nghiên cứu về sự tồn tại duy nhất nghiệm đã được toán
học lý thuyết giải quyết đối với từng mơ hình chi tiết. Đối với tốn học
ứng dụng, người ta thường quan tâm đến vấn đề xác định nghiệm của các
dạng bài toán cụ thể đối với từng mơ hình. Có thể thấy rằng việc xác định
nghiệm chính xác của các bài tốn biên thơng qua các phương pháp giải
tích chỉ có thể thực hiện được đối với một số bài toán dạng rất đơn giản
(vế phải, điều kiện biên,. . . ) còn đại đa số các bài tốn phức tạp chỉ có thể
tìm được nghiệm xấp xỉ của nó.
Tư tưởng chính của các phương pháp xấp xỉ là chuyển miền xác định
đối với các biến số độc lập của phương trình trong khơng gian vơ hạn chiều
về miền trong không gian hữu hạn chiều được cấu trúc bởi một số hữu
hạn điểm, từ đó tìm cách xấp xỉ các hàm số cùng các đạo hàm tương ứng
với các bài tốn để chuyển các phương trình vi phân hoặc phương trình
đạo hàm riêng cùng các hệ điều kiện biên tương ứng về các hệ phương
trình đại số tuyến tính. Từ đó xây dựng các thuật tốn giải hệ đại số để
thu được nghiệm xấp xỉ của bài toán. Một trong các phương pháp truyền

thống hiện nay là phương pháp lưới.
Đối với phương pháp lưới, người ta thường quan tâm đến 2 vấn đề quan
trọng:
1. Độ chính xác của phương pháp hay là sai số mắc phải trong quá trình
xấp xỉ hàm và đạo hàm.
2. Độ phức tạp của thuật toán giải các hệ đại số tuyến tính.


4

Xuất phát từ thực tế đó, mục tiêu nghiên cứu chính của luận văn là
tìm hiểu về cơ sở của một số phương pháp xấp xỉ hàm và đạo hàm với độ
chính xác bậc cao dựa trên khai triển Taylor và đa thức nội suy, từ đó áp
dụng vào việc xây dựng các thuật toán giải số đối với một số bài tốn biên
cho phương trình vi phân với độ chính xác bậc cao và kiểm tra các thuật
tốn trên máy tính điện tử.
Nội dung luận văn chia làm 3 chương
Chương 1: Một số kiến thức cơ bản.
Chương 2: Một số phương pháp xấp xỉ đạo hàm với độ chính xác bậc
cao.
Chương 3: Một số ứng dụng.


5

Chương 1

Một số kiến thức cơ bản
Trong chương này chúng tơi trình bày một số kết quả lý thuyết về
cơng thức khai triển Taylor, lý thuyết về đa thức nội suy, đa thức nội suy

Lagrange, đa thức nội suy Newton và lý thuyết về hàm ghép trơn Spline.
Những kết quả này là những kiến thức bổ trợ cho việc trình bày các kết
quả chính trong chương 2 và chương 3. Nội dung của chương 1 được tham
khảo trong các tài liệu [1],[2],[3].
1.1

Công thức khai triển Taylor

1.1.1 Công thức khai triển Taylor đối với hàm một biến số
Định lý 1.1.1 Cho n là số nguyên dương và f là hàm khả vi liên tục
đến cấp n trên khoảng đóng [a, x] và khả vi cấp (n+1) trên khoảng mở
(a, x) thì
f (a)
f (a)
f (n) (a)
2
f (x) = f (a)+
(x−a)+
(x − a) +...+
(x − a)n +Rn (x)
1!
2!
n!
với Rn (x) là phần dư bậc n.
Dạng Lagrange của phần dư trong công thức trên là:
f (n+1) (ξ)
Rn (x) =
(x − a)n+1
(n + 1)!
với ξ là số nằm giữa a và x.



6

Ngồi ra cịn có dạng tích phân của phần dư:
x

Rn (x) =

f (n+1) (t)
(x − t)n dt
(n + 1)!

a

với f (n) là hàm liên tục tuyệt đối trên [a, x].

1.1.2 Công thức khai triển Taylor đối với hàm nhiều biến số
Định lý 1.1.2 Giả sử Ω là một tập hợp mở trong không gian Rp và
f : Ω → R là một hàm số thuộc lớp C n trên Ω , a ∈ Ω, b = a + h ∈
Ω, h = (h1 , h2 , ..., hp ) ∈ Rp và [a, b] ∈ Ω . Khi đó tồn tại một điểm
c ∈ (a, b) sao cho
f (a + h) = f (a) +
+
1.2
1.2.1

1
1
df (a)(h) + d2 f (a)(h)2 + ...

1!
2!

1
1
dn−1 f (a)(h)n−1 + dn f (c)(h)n .
(n − 1)!
n!

Nội suy và xấp xỉ hàm số
Bài toán xấp xỉ hàm số tổng quát

Cho hàm số f ∈ [a, b] . Gọi Pn là tập hợp các đa thức có bậc khơng q
n trên [a, b] . Ta phải tìm đa thức P ∈ Pn có ”độ lệch” nhỏ nhất so với f
trên [a, b] , tức là:
max |f (x) − P (x)| = min max |f (x) − Q(x)| .
x∈[a,b]

Q∈Pn x∈[a,b]

Có thể kể đến một số phương pháp xấp xỉ hàm số sau: Phương pháp
nội suy, phương pháp xấp xỉ đều, phương pháp xấp xỉ trung bình phương.
1.2.2

Bài tốn nội suy hàm số

Một trong các bài toán cơ bản của giải tích số là nội suy hàm số. Bài
tốn này thường gặp trong các trường hợp sau :
i) Cần phục hồi hàm số f (x) đối với mọi điểm x thuộc khoảng [a, b] nếu
chỉ biết giá trị của nó tại một số điểm x0 , x1 , ..., xn ∈ [a, b] . Những giá trị



7

này thường là các giá trị quan sát, hoặc đo đạc được.
ii) Khi hàm f (x) cho bởi công thức quá phức tạp chẳng hạn f (x) =
x2

3
(x+t) /2
et +sin(xt) dt

và cần tính f (x) ∀x ∈ [a, b]. Khi đó người ta tính gần

cos(x)

đúng f (x) tại một số điểm rồi xây dựng cơng thức nội suy để tính các giá
trị khác.
iii) Ngồi ra, nội suy hàm số cịn được sử dụng để xây dựng các cơng thức
tính đạo hàm, tính tích phân số hoặc tìm gần đúng nghiệm của phương
trình.
Bài tốn nội suy hàm một biến số được phát biểu như sau: Trên đoạn [a, b]
cho tập các điểm nút a ≤ x0 , x1 , ..., xn ≤ b và tại các điểm này cho các giá
trị của hàm f (x). Cần xây dựng hàm g(x) dễ tính và trùng với hàm f (x)
tại các điểm nút trên tức là g(xi ) = f (xi ) (i = 0, n).
Một số dạng hàm thường được dùng để nội suy hàm số là:
- Đa thức đại số.
- Hàm hữu tỉ tức là phân thức đại số.
- Đa thức lượng giác.
- Hàm ghép trơn (spline) tức là hàm đa thức từng mẩu.

Trong phạm vi chương này chúng ta chỉ tập trung vào nội suy bởi đa thức
đại số - một công cụ nội suy kinh điển và một phần vào nội suy bởi hàm
ghép trơn - công cụ nội suy hiện đại. Các dạng nội suy khác sẽ chỉ được
giới thiệu qua.
1.2.3

Lý thuyết về đa thức nội suy

Trong thực tế, nhiều khi ta phải tìm hàm y = f (x), chỉ biết giá trị yi tại
các điểm xi ∈ [a, b] i = 0, n . Cũng có trường hợp biểu thức giải tích f (x)
đã cho nhưng quá cồng kềnh. Khi đó dùng phép nội suy ta có thể đễ dàng
tính được f tại bất kì x ∈ [a, b] mà độ chính xác khơng kém bao nhiêu.
Mục tiêu của phép nội suy khá nhiều, nhưng chủ yếu là tìm thuật
tốn đơn giản tính giá trị f (x) cho những x không nằm trong bảng
xi , yi i = 0, n . Một bộ số liệu xi , yi i = 0, n và một chương trình ngắn
gọn có thể thay thế một bảng rất dài các giá trị xi , f (xi ). Ngoài ra, sử
dụng kết quả của phép nội suy có thể tìm đạo hàm f (x) hoặc tích phân
của f (x) trên đoạn [a, b].


8

Đa thức đại số thường được dùng trong phép nội suy vì lý do đơn giản
sau: các phép tốn cộng, trừ, nhân, đạo hàm tích phân dễ dàng thực hiện
trên đa thức. Hơn nữa, nếu P(x) là đa thức, còn c là hằng số thì P(cx) và
P(x+c) cũng là đa thức. Bài toán nội suy đặt ra như sau: Cho các mốc
nội suy
a ≤ x0 < x1 < ... < xn ≤ b
m


Hãy tìm đa thức bậc m, Pm (x) =

ai xi sao cho
i=0

Pm (xi ) = yi = f (xi )(i =0, n)
Ý nghĩa hình học của bài tốn nội suy là: Hãy xây dựng đường cong đại
số y = Pm (x) đi qua các điểm cho trước (xi , yi )(i =0, n) . Như vậy ta cần
xác định (m+1) hệ số ai (i =0, m) từ hệ phương trình tuyến tính sau:
m

aj xji = yi (i =0, n)

(1.2.1)

j=0

Dễ thấy nếu m<n (m>n) hệ nói chung vơ nghiệm (vơ định). Khi m=n, hệ
(1.2.1) có định thức Vandermond
1
1
∆=
.
1

x0 x20 ... xn0
x1 x21 ... xn1
... ... ...
xn x2n ... xnn


(xi − xj ) = 0

=
0≤i
Suy ra phương trình (1.2.1) có nghiệm duy nhất.
1.2.4

Đa thức nội suy Lagrange

* Thiết lập đa thức nội suy
Ta sẽ trình bày cách xây dựng đa thức nội suy mà không cần giải hệ
(1.2.1).
Trước hết ta tìm đa thức Pi (x) có bậc n, sao cho Pi (xj ) = δij , (i, j = 0, n)
Dễ thấy Pi (x) = Ai (x − x0 )...(x − xi−1 )(x − xi+1 )...(x − xn ).


9

Vì 1 = Pi (xi ) = Ai (xi − x0 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn ) nên
Pi (x) =

(x − x0 )...(x − xi−1 )(x − xi+1 )...(x − xn )
.
(xi − x0 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )

n

Đặt P (x) =


n

yi Pi (x), ta có P (xj ) =
i=0

yi Pi (xj ) = yj (j = 0, n).
i=0

Như vậy P(x) là đa thức nội suy (duy nhất) cần tìm.
Nếu các mốc nội suy cách đều, tức là xi+1 − xi = h(i = 0, n − 1) thì đặt
x = x0 + th ta được
(−1)n−1 Cni t(t − 1)...(t − n)
.
Pi (x) = Pi (x0 + th) =
t−i
n!
Tóm lại,
t(t − 1)...(t − n)
P (x0 + th) =
n!

n

i=0

(−1)n−1 Cni
yi
t−i

(1.2.2)


Trong công thức (1.2.2), các hệ số (−1)n−1 Cni không phụ thuộc vào hàm
số f (x), mốc nội suy và bước h. Do đó chúng được tính sẵn, lập bảng và
sử dụng nhiều lần.
Cơng thức nội suy Lagrange trình bày ở trên có ưu điểm là đơn giản nhưng
nếu thêm mốc nội suy thì phải tính lại từ đầu.
* Đánh giá sai số
Vấn đề quan trọng đặt ra khi xấp xỉ hàm f (x) tại điểm x bất kì bởi đa
thức nội suy là phải đánh giá được sai số, tức độ lệch f (x) − Ln (x). Định
lí sau đây cho ta đánh giá đó.
Định lý 1.2.1 Giả sử hàm số f (x) ∈ C (n+1) [a, b] , tức là có đạo hàm liên
tục đến cấp n+1 trên [a, b] chứa tất cả các nút nội suy xi (i = 0, n). Khi đó
sai số nội suy Rn (x) = f (x) − Ln (x) có dạng
Rn (x) =

f (n+1) (ξ)
ωn+1 (x),
(n + 1)!

trong đó ξ là một diểm phụ thuộc x và thuộc [a, b].

(1.2.3)


10

Chứng minh. Khi x trùng với một trong các nút nội suy thì Rn (x) = 0.
Vì thế ta sẽ chỉ xét sai số Rn (x) khi x = xi (i = 0, n). Khi đó ωn+1 (x) = 0.
Đặt
K=


f (x) − Ln (x)
Rn (x)
=
ωn+1 (x)
ωn+1 (x)

(1.2.4)

và xét hàm của biến số z
ϕ(z) = f (z) − Ln (z) − Kωn+1 (z)

(1.2.5)

Ta có ϕ(x) = 0 và ϕ(xi ) = 0(i = 0, n). Như vậy hàm ϕ(z) = 0 tại n+2
điểm x, x0 , . . . , xn . Theo định lý Roll thì đạo hàm bậc nhất của ϕ(z),
tức ϕ (z) phải bằng 0 tại ít nhất n+1 điểm, do đó ϕ (z) = 0 tại ít nhất
n điểm. Tiếp tục lập luận như trên, thì ϕ(n+1) (z) = 0 tại ít nhất 1 điểm.
Giả sử điểm này là ξ. Rõ ràng, ξ = ξ(x) và nằm trong [a, b]. Như vậy
ϕ(n+1) (ξ) = 0.
(n+1)
Từ (1.2.5) ta có ϕ(n+1) (z) = f (n+1) (z) = (n + 1)! vì Ln (z) = 0 và
(n+1)
ωn+1 (z) = (n + 1)!.
Do đó, f (n+1) (ξ) − K(n + 1)! = 0. Từ đây suy ra K =
Từ hệ thức trên và (1.2.4) suy ra đpcm.

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


Hệ quả 1.2.2 Đối với sai số của đa thức nội suy Lagrange cho hàm f(x)
tại các mút x, x0 , . . . , xn ∈ [a, b] có đánh giá
|f (x) − Ln (x)| ≤

Mn+1
|ωn+1 (x)| ,
(n + 1)!

(1.2.6)

trong đó Mn+1 = max f (n+1) (x) .
a≤x≤b

Chú ý. Công thức sai số (1.2.3) và đánh giá sai số (1.2.6) được thiết lập
với giả thiết f (x) ∈ C (n+1) [a, b]. Nếu điều kiện trên không thoả mãn, tức
là khi hàm f (x) khơng có đủ độ trơn cần thiết thì ta khơng thể nói gì về
sai số nội suy cả. Trong trường hợp này cần phải xem xét bài tốn cụ thể.
* Gợi ý lập trình
Bài tốn: Cho bảng các giá trị (xi , yi )(i = 0, n). Tính giá trị của đa thức


11

nội suy Lagrange Ln (x) tại điểm x cho trước theo công thức:
n

y = Ln (x) =

n


yi
i=0

i=j=0

x − xj
xi − xj

Mã giả:
input xi , yi (i = 0, n), x
y=0
for i=0 to n
P = 1;
for j=0 to n
if j <>i then
P = P ∗ (x − xj )/(xi − xj )
end if
end for j;
y = y + yi ∗ P
end for i
output x,y
1.2.5

Chọn mốc nội suy tối ưu

Nếu hàm f(x) đã cho thì M = sup f (n) (x) hồn toàn xác định. Từ hệ
a≤x≤b

quả của định lý (1.2.1) suy ra sai số tuyệt đối của phép nội suy chỉ còn
phụ thuộc vào ω(x) = (x − x0 )...(x − xn ).Vấn đề đặt ra là phải chọn các

mốc nội suy a ≤ x0 < ... < xn ≤ b như thế nào để max |ω(x)| nhỏ nhất?
a≤x≤b

Ta đi đến bài toán min-max sau:
max |ω(x)| →

a≤x≤b

min

a≤x0 <...
* Đa thức Chebysev
Tn (x) := cos [narccosx] (|x| ≤ 1)


12

Đặt θ = arccosx và để ý rằng cos(n ± 1)θ = cos θ cos nθ ∓ sin θ sin nθ, ta
được cos(n + 1)θ + cos(n − 1)θ = 2θ cos nθ hay:
Tn+1 (x) = 2xTn (x) − Tn−1 (x)

(1.2.7)

Ngoài ra T1 (x) = x; T2 (x) = cos [2arccosx] = 2x2 − 1; T0 (x) = 1. Bằng qui
nạp, dễ dàng chứng minh được Tn (x) là đa thức bậc n với hệ số đầu là
2n−1 .
Nghiệm của Tn (x) là xi = cos 2i+1
2n p i = 0, n − 1 và cực trị của nó
max|x|≤1 |Tn (x)| = 1

đạt tại
xi = cos

πi
i = 0, n
n

Định lý 1.2.3 Trong tất cả các đa thức bậc n với hệ số đầu bằng 1, đa
thức Chebysev Tn (x)/2n−1 có độ lệch ( so với 0) nhỏ nhất trên đoạn [−1, 1].
Nghĩa là, nếu
P (x) = xn + an−1 xn−1 + ... + a0
thì
max |P (x)| ≥ max
|x|≤1

|x|≤1

|Tn (x)|
1
= n−1
n−1
2
2

Chứng minh. Giả sử tìm được đa thức
P (x) = xn + an−1 xn−1 + ... + a0
sao cho max |P (x)| <
|x|≤1

1

2n−1 .

Khi đó đa thức G(x) =

Tn (x)
2n−1

− P (x) có bậc

khơng q n-1, ngồi ra tại các điểm xi = cos πi
n i = 0, n , ta có:
G(xi ) = ±

1
2n−1

− P (xi )

Như vậy G (x) luân phiên đổi dấu qua xi i = 0, n , do đó G (x) có ít nhất
(x)
n nghiệm. Suy ra G(x) ≡ 0 hay P (x) ≡ T2nn−1
. Điều này mâu thuẫn với giả
1
thiết max |P (x)| < 2n−1
(đpcm)
|x|≤1

* Chọn mốc nội suy



13

Trong trường hợp a=-1; b=1 ta lấy mốc nội suy xi là nghiệm của đa thức
2i+1
Chebysev Tn+1 (x), nghĩa là: xi = cos 2(n+1)
π i = 0, n . Khi đó ω(x) =(x −
x0 )...(x − xn ) =
phép nội suy là:

Tn+1 (x)
2n

có độ lệch nhỏ nhất, và ước lượng tốt nhất của

|P (x) − f (x)| ≤

M
M
|ω(x)| ≤ n
(n + 1)!
2 (n + 1)!

Trong trường hợp ab−a đưa đoạn
[a, b] về đoạn [−1, 1]. Các mốc nội suy tối ưu là nghiệm của đa thức Chebysev:
1
2i + 1
xi = {(b − a) cos
π + (b + a)} i = 0, n
2

2(n + 1)
Ước lượng tốt nhất của phép nội suy trong trường hợp này là:
M (b − a)n+1
|P (x) − f (x)| ≤
(n + 1)! 22n+1
1.2.6

Sai phân và các tính chất

Giả sử f : R → R là một hàm cho trước và h = const = 0. Ta gọi sai
phân cấp 1 của f(x) là đại lượng: ∆f (x) = f (x + h) − f (x)
Tỷ sai phân cấp 1 của f(x) là ∆f(x)
h
n
Một cách tổng quát ∆ f (x) ∼= ∆ ∆n−1 f (x) (n ≥ 1) , ∆0 f (x) ∼= f (x).
Các tính chất của sai phân:
1)∆ là tốn tử tuyến tính, nghĩa là:
∀α, β ∈ R; ∀f, g ⇒ ∆(αf + βg) = α∆f + β∆g
2) c = const thì ∆c = 0.
3) ∆n (xn ) = n!hn ; ∆m (xn ) = 0(m > n)
4) P(x) là đa thức bậc n thì theo công thức Taylor:
n

∆P := P (x + h) − P (x) =
n

5) f (x + nh) =
6) ∆n f (x) =

n


i=0

hi i
i! P (x)

Cni ∆i f (x)

i=0

i=0

(−1)i Cni f (x + (n − i) h)


14

7) Giả sử f ∈ C n [a, b] và (x, x + nh) ∈ [a, b]
Khi đó
∆n f (x)
= f n (x + θnh)θ ∈ (0, 1)
hn

(1.2.8)

Ta chứng minh (1.2.8) bằng qui nạp.
(x)
Với n=1, ta có cơng thức số gia hữu hạn f (x+h)−f
= f (x + θh). Giả sử
h

(1.2.8) đúng cho mọi k ≤ n. Ta chứng minh cho k = n + 1. Thật vậy
∆n+1 f (x) = ∆ [∆n f (x)] = ∆ hn f (n) (x + θ nh)
trong đó θ ∈ (0, 1). Á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+ f (n+1) (x + θ nh + θ h)
trong đó θ , θ ∈ (0, 1). Đặt θ = (θ n + θ )/(n + 1) ∈ (0, 1), ta được
∆n+1 f (x) = f (n+1) (x + θ(n + 1)h)
Hệ quả. Nếu f ∈ C n [a, b] thì khi h đủ nhỏ f n (x) ≈
1.2.7

∆n f (x)
hn .

(đpcm)

Một số quy tắc nội suy hàm số trên lưới đều

* Bảng sai phân
Giả sử hàm số y = f(x) cho dưới dạng bảng yi = f (xi ) tại các mốc xi
cách đều:
xi+1 − xi = h = const(i ≥ 0)
Khi đó sai phân của dãy yi được xác định như sau:
∆yi = yi+1 − yi ;
∆2 yi = ∆ (∆yi ) = ∆yi+1 − ∆yi ; . . .
∆n yi = ∆ ∆n−1 yi = ∆n−1 yi+1 − ∆n−1 yi


15


Tính chất (5) và (6) được viết lại như sau:
n

yn+i =

Cnj ∆j yi

j=0
n

∆n yi =

(−1)j Cnj ∆j yi+n−j

j=0

Ta lập bảng:
...
yi−2
∆yi−2
∆2 yi−2
yi−1
∆3 yi−2
∆yi−1
∆4 yi−2 ...
∆2 yi−1
yi
3
∆ yi−1
∆yi

∆2 yi
yi+1
∆yi+1
yi+2
...
* Nội suy ở đầu bảng
Mốc nội suy được sắp xếp theo thứ tự x0 < x1 < ... < xn . Ta tìm đa
thức nội suy dưới dạng
P (x) = a0 +a1 (x−x0 )+a2 (x−x0 )(x−x1 )+...+an (x−x0 )(x−x1 )...(x−xn−1 )
Đặt x = xi , ta có ai =
f (x0 + th) = y0 +

∆ i y0
i!hi .

Đổi biến t =

x−x0
h

⇒ x = x0 + th, ta được

t
t(t − 1) 2
t(t − 1)...(t − n + 1) n
∆y0 +
∆ y0 + ... +
∆ y0
1!
2!

n!
f (n+1) (ξ) n+1
+
h t(t − 1)...(t − n)
(n + 1)!

(1.2.9)

Ta gọi công thức (1.2.9) là công thức nội suy Newton tiến.
* Nội suy ở cuối bảng
Mốc nội suy sắp xếp theo thứ tự giảm dần xn > xn−1 > ... > x0 . Đặt


16

t=

x−xn
h

⇒ x = xn + th . Đa thức nội suy Newton lùi tìm dưới dạng:

P (x) = a0 +a1 (x−xn )+a2 (x−xn )(x−xn−1 )+...+an (x−xn )(x−xn−1 )...(x−x1 )
Cho x = xn ⇒ a0 = yn ; x = xn−1 ⇒ a0 + a1 (−h) = yn−1 ⇒ a1 = ∆yhn−1
i
yn−i
Tổng quát, đặt x = xi , ta được ai = ∆i!h
i (i = 0, n). Như vậy công thức
Newton lùi có dạng
t(t + 1) 2

t(t + 1)...(t + n − 1) n
t
∆ yn−2 +...+
∆ y0 +
f (xn +th) = y0 + ∆yn−1 +
1!
2!
n!
f (n+1) (ξ) n+1
+
h t(t + 1)...(t + n)
(n + 1)!

(1.2.10)

Chú ý:
a. Công thức nội suy Newton tiến, lùi chỉ là một cách viết khác của công
thức Lagrange.
b. Nếu cần tính f(x) tại ta nên dùng cơng thức nội suy Newton tiến (lùi)
thì độ chính xác cao hơn.
c. Dùng công thức nội suy Newton tiến (lùi) không phải tính lại từ đầu
nếu thêm mốc nội suy.
* Nội suy ở giữa bảng
Các công thức Newton tiến lùi chỉ mang đặc trưng một phía. nhiều
khi ta cần sử dụng các công thức nội suy chứa giátrị trước và sau giá
trị ban đầu. Các công thức nội suy thông dụng nhất là các công thức
chứa sai phân trung tâm. Giả sử các mốc nội suy được sắp xếp như sau:
xi = x0 + ih(i = 0, ±1, ..., ±n).
a. Công thức nội suy Gauss I
Đa thức nội suy tìm dưới dạng ”hai tiến, một lùi”:

P (x) = a0 +a1 (x−x0 )+a2 (x−x0 )(x−x1 )+a3 (x−x−1 )(x−x0 )(x−x1 )+...
... + a2n−1 (x − x−(n−1) )...(x − x−1 )(x − x0 )...(x − xn−1 )+
+a2n (x − x−(n−1) )...(x − x−1 )(x − x0 )(x − x1 )...(x − xn−1 )(x − xn )
Cho x = x0 ⇒ a0 = y0 ; x = x1 ⇒ a1 =

∆y0
1!h ; x

= x−1 ⇒ a2 =

∆2 y−1
2!h2 , ...


17

Nói chung
a2i−1
.
Đặt biến mới t =

∆2i−1 y−(i−1)
∆2i y−i
=
; a2i =
(i =1, n)
(2i − 1)!h2i−1
(2i)!h2i

x−x0

h ,

ta có

P (x) = P (x0 + th) = y0 +
+

t(t − 1) 2
(t + 1)t(t − 1) 3
t
∆y0 +
∆ y−1 +
∆ y−1 +
1!
2!
3!

(t + 1)t(t − 1)(t − 2) 4
(t + 2)(t + 1)t(t − 1)(t − 2) 5
∆ y−2 +
∆ y−2 + ...+
4!
5!
(t + n − 1)...(t + 1)t(t − 1)...(t − n + 1) 2n−1
+

y−(n−1) +
(2n − 1)!
+


(t + n − 1)...(t + 1)t(t − 1)...(t − n) 2n
∆ y−n
(2n)!

b. Công thức nội suy Gauss II
Ta tìm cơng thức nội suy dưới dạng ”1 tiến, 1ùi”
P (x) = a0 + a1 (x − x0 ) + a2 (x − x−1 )(x − x0 ) + a3 (x − x−1 )(x − x0 )(x − x1 )+
+a4 (x − x−2 )(x − x−1 )(x − x0 )(x − x1 ) + ...+
... + a2n−1 (x − x−(n−1) )...(x − x−1 )(x − x0 )...(x − xn−1 )+
+a2n (x − x−n )...(x − x−1 )(x − x0 )(x − x1 )...(x − xn−1 )
Cho x = xi i = 0, n , ta có
a0 = y0 ; a1 =
a2i−1
Đổi biến t =

x−x0
h

∆y−1
∆2 y−1
∆3 y−2
; a2 =
;
a
=
; ...
3
1!h
2!h2
3!h3


∆2i−1 y−i
∆2i y−i
=
; a2i =
(2i − 1)!h2i−1
(2i)!h2i

ta được

t
t(t + 1) 2
(t + 1)t(t − 1) 3
P (x) = P (x0 +th) = y0 + ∆y−1 +
∆ y−1 +...+
∆ y−2 +
1!
2!
3!


18

(t + 2)(t + 1)t(t − 1) 4
∆ y−2 + ...
4!
(t + n − 1)...(t + 1)t(t − 1)...(t − n + 1) 2n−1
... +

y−n +

(2n − 1)!
+

+

(t + n)(t + n − 1)...(t + 1)t(t − 1)...(t − n + 1) 2n
∆ y−n
(2n)!

c. Công thức nội suy Stirling
0
Đặt t = x−x
h , lấy trung bình cộng hai cơng thức GaussI, II ta được công
thức Stirling
t ∆y−1 + ∆y0 t2 2
t(t2 − 1) ∆3 y−2 + ∆3 y−1
P (x) = P (x0 +th) = y0 +
+ ∆ y−1 +
1!
2
2!
3!
2
t(t2 − 1)(t2 − 22 ) ∆5 y−3 + ∆5 y−2
t2 (t2 − 1) 4
∆ y−2 +
+
+
4!
5!

2
t2 (t2 − 1)(t2 − 22 ) 6
+
∆ y−3 + ...
6!
t(t2 − 1)(t2 − 22 )...(t2 − (n − 1)2 ) ∆2n−1 y−n + ∆2n−1 y−(n−1)
+
+
(2n − 1)!
2
t2 (t2 − 12 )...(t2 − (n − 1)2 ) 2n
∆ y−n
+
(2n)!
d. Công thức nội suy Bessel
Sử dụng (2n+2) mốc cách đều x−n , x−(n−1) , ..., xn−1 , xn , xn+1 . Xuất phat
từ x0 , dùng các mốc nội suy xk (k = 0, ± 1,..., ± n) và cơng thức Gauss II
ta có:
t
(t + 1)t 2
(t + 1)t(t − 1) 3
P (x) = P (x0 +th) = y0 + ∆y−1 +
∆ y−1 +...+
∆ y−2 +
1!
2!
3!
+

(t + 2)(t + 1)t(t − 1) 4

(t + n − 1)...(t − n + 1) 2n−1
∆ y−2 + ... +

y−n +
4!
(2n − 1)!

+

(t + n)(t + n − 1)...(t − n + 1) 2n
∆ y−n
(2n)!

(1.2.11)


19

Sử dụng (1.2.11) xuất phát từ x1 , dùng các mốc xk+1 (k = 0, ± 1,..., ± n),
đặt
x − x1
x − x0 − (x1 − x0 )
=
=t−1
h
h
(thay t := t − 1; k := k + 1) ta có:
P (x) = y1 + (t − 1)∆y0 +
+


t(t − 1)(t − 2) 3
t(t − 1) 2
∆ y0 +
∆ y−1 +
2!
3!

(t + 1)t(t − 1)(t − 2) 4
(t + n − 2)...(t − n) 2n−1
∆ y−1 + ... +

y−(n−1) +
4!
(2n − 1)!

+

(t + n − 1)...(t − n) 2n
∆ y−(n−1)
(2n)!

(1.2.12)

Lấy trung bình cộng cơng thức Gauss I và cơng thức (1.2.12), ta được công
thức Bessel:
y0 + y1
1
t(t − 1) ∆2 y−1 + ∆2 y0
P (x) = P (x0 + th) =
+ (t − )∆y0 +

+
2
2
2!
2
(t − 1/2)t(t − 1) 3
t(t − 1)(t + 1)(t − 2) ∆4 y−2 + ∆4 y−1
∆ y−1 +
3!
4!
2
(t − 1/2)t(t − 1)(t + 1)(t − 2) 5
+
∆ y−2 + ...
5!
Nói riêng, với n=1,
t(t − 1) ∆2 y−1 + ∆2 y0
1
y0 + y1
+ (t − )∆y0 +
=
P (x) =
2
2
2!
2
=

y0 + y1 − (y1 − y0 )
t(t − 1)

+ t∆y0 +
[∆y0 − ∆y−1 + ∆y1 − ∆y0 ] =
2
4
t(1 − t)
= y0 + t∆y0 −
(∆y1 − ∆y−1 )
4

Kinh nghiệm cho thấy, khi |t| ≤ 0.25 nên dùng công thức Stirling, khi
t ∈ [0.25; 0.75] dùng Bessel. Nếu t 0(t 1) dùng công thức Newton tiến
(lùi).


20

1.2.8

Nội suy hàm số trên lưới không đều

* Tỷ sai phân
Giả sử các mốc nội suy được sắp xếp theo thứ tự:
a ≤ x0 < x1 < ... < xn ≤ b
Tỷ sai phân cấp một
f (x0 , x1 ) =

f (x1 ) − f (x0 )
x1 − x0

f (x1 , x2 ) =


f (x2 ) − f (x1 )
x2 − x1

f (x1 , x2 ) − f (x0 , x1 )
...
x2 − x0

f (x0 , x1 , x2 ) =
Một cách tổng quát:

f (x1 , ..., xk+1 ) − f (x0 , ..., xk )
...
xk+1 − x0

f (x0 , x1 , ..., xk , xk+1 ) =
Tính chất 1.

k

f (x0 , ..., xk ) =
i=0

f (xi )
ω (xi )

k

(x − xj )


trong đó ω(x) =
j=0

Chứng minh. Với k = 1, ta có
f (x0 , x1 ) =

f (x1 )
f (x0 )
+
x0 − x1 x1 − x0

Giả sử ta chứng minh được cho k ≤ n. Khi đó
f (x0 , x1 , ..., xn+1 ) =
1
=
{
xn+1 − x0

f (x1 , ..., xn+1 ) − f (x0 , ..., xn )
xn+1 − x0

n+1

i=1

f (xi )

ω 1 (xi )

n


i=0

f (xi )
}
ω 0 (xi )