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

Sử dụng ngôn ngữ lập trình wolfram mathematica xấp xỉ hàm số bằng đa thức nội suy

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 (1010.2 KB, 50 trang )

LỜI CẢM ƠN
Để hoàn thành khóa luận với đề tài “Sử dụng ngôn ngữ lập trình Wolfram
Mathematica xấp xỉ hàm số bằng đa thức nội suy”, bên cạnh sự nỗ lực của bản
thân đã vận dụng những kiến thức tiếp thu được ở trường, tìm tòi học hỏi, em
luôn nhận được sự giúp đỡ, hướng dẫn tận tình của cô giáo Phạm Hồng Minh.
Em xin tỏ lòng biết ơn sâu sắc nhất đến cô – người đã trực tiếp hướng dẫn, chỉ
bảo để em hoàn thành khóa luận của mình.
Em xin chân thành cảm ơn Ban giám hiệu trường Đại học Quảng Bình,
toàn thể các thầy cô, đặc biệt là thầy cô giáo khoa Khoa học tự nhiên đã tận tình
giảng dạy và giúp đỡ em trong suốt thời gian qua. Cũng như những sự động
viên, giúp đỡ từ gia đình và bạn bè đã tạo điều kiện thuận lợi cho em trong suốt
quá trình thực hiện khóa luận.
Mặc dù đã có nhiều cố gắng để thực hiện khóa luận một cách hoàn chỉnh
nhất, song với thời gian và khả năng còn hạn chế, khóa luận không thể tránh
khỏi những thiếu sót. Em rất mong nhận được sự góp ý chân tình từ các thầy, cô
và bạn bè.
Cuối cùng, em xin kính chúc quý thầy, cô giáo sức khỏe và nhiều thành
công.
Em xin chân thành cảm ơn!
Đồng Hới, tháng 5 năm 2017
Sinh viên

Hoàng Thị Hòa

i


MỤC LỤC
LỜI CẢM ƠN ....................................................................................................... i
MỤC LỤC ............................................................................................................ ii
PHẦN MỞ ĐẦU .................................................................................................. 1


1. Lý do chọn đề tài ............................................................................................ 1
2. Mục đính nghiên cứu ..................................................................................... 2
3. Nhiệm vụ nghiên cứu ..................................................................................... 2
4. Đối tượng và phạm vi nghiên cứu ................................................................. 2
5. Phương pháp nghiên cứu............................................................................... 2
PHẦN NỘI DUNG .............................................................................................. 3
CHƯƠNG I .......................................................................................................... 3
KIẾN THỨC CHUẨN BỊ ................................................................................... 3
I. ĐẶT VẤN ĐỀ .................................................................................................. 3
II. ĐA THỨC NỘI SUY LAGRANGE ............................................................ 3
1. Đa thức nội suy Lagrange với mốc bất kỳ .................................................... 3
2. Đa thức nội suy Lagrange với mốc cách đều ................................................ 7
3. Sai số của đa thức nội suy ............................................................................... 9
III. ĐA THỨC NỘI SUY NEWTON............................................................... 11
1. Tỷ sai phân và một vài tính chất .................................................................. 11
2. Đa thức nội suy Newton với mốc bất kỳ...................................................... 13
3. Sai phân và một vài tính chất ....................................................................... 15
4. Đa thức nội suy Newton với mốc cách đều ................................................. 17
CHƯƠNG II....................................................................................................... 25
ỨNG DỤNG CỦA MATHEMATICA ............................................................ 25
ĐỂ GIẢI BÀI TOÁN NỘI SUY ....................................................................... 25
I. Tổng quan về ngôn ngữ lập trình Mathematica ......................................... 25
1. Giới thiệu sơ bộ về ngôn ngữ lập trình mathematica: ............................... 25
1.1.Giới thiệu ...................................................................................................... 25
1.2.Giao diện tương tác của Mathematica ...................................................... 26
ii


2. Các quy tắc cơ bản về ngữ pháp của Mathematica: ................................. 26
3. Tính toán cơ bản trong Mathematica ......................................................... 27

3.1. Các phép tính đại số ................................................................................... 27
4. Danh sách trong Mathematica ..................................................................... 30
4.1. Xây dựng danh sách ................................................................................... 30
4.2. Đếm các phần tử trong danh sách ............................................................ 31
4.3. Chuyển đổi dạng một danh sách ............................................................... 31
4.4. Tính toán với danh sách: ........................................................................... 31
5. Đồ họa với Mathematica ............................................................................... 32
5.1.Vẽ đồ thị trong mặt phẳng.......................................................................... 32
II. Lập trình Mathematica trong giải bài toán nội suy .................................. 35
1. Phép nội suy Lagrange trong Mathematica .............................................. 35
2. Phép nội suy Newton trong Mathematica .................................................. 36
KẾT LUẬN ........................................................................................................ 44
TÀI LIỆU THAM KHẢO ................................................................................ 46

iii


PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Lý thuyết nội suy – một lý thuyết toán học có lịch sử phát triển lâu dài gắn
liền với tên tuổi của nhiều nhà toán học nổi tiếng trên thế giới như Lagrange,
Newton, Chebyshev,…
Lý thuyết nội suy còn là cơ sở cho nhiều lý thuyết toán học khác nhau,
chẳng hạn trong việc giải gần đúng phương trình vi phân thường, phương trình
đạo hàm riêng nhờ sai phân…
Bài toán cơ bản của lý thuyết nội suy là dựng một hàm đơn giản xấp xỉ một
hàm cho trước được cho bằng bảng hoặc là có công thức giải tích phức tạp. Từ
đó ta có thể tính gần đúng đạo hàm, gần đúng tích phân hay giải gần đúng một
số bài toán về phương trình đã nêu.
Về cơ bản bài toán nội suy đã được sử dụng sớm bởi Newton vào năm

1686, được Lagrange sử dụng, đề xuất lại năm 1795 và ước lượng sai số cổ điển
được Cauchy thiết lập năm 1840.
Các vấn đề về lý thuyết nội suy rất đa dạng, nhưng trong đề tài này sẽ trình
bày chủ yếu về cách sử dụng đa thức nội suy Lagrange và đa thức nội suy
Newton để tính giá trị của hàm số f(x) cho dưới dạng bảng tại một số giá trị
trong bảng.
Song song với đó là tìm hiểu về ngôn ngữ lập trình Mathematica nổi lên
với ưu điểm vượt trội về giao diện thân thiện, về khả năng đồ thị siêu việt và khả
năng xử lý số liệu nhanh đã trở thành một công cụ đắc lực cho các nhà khoa học.
Với phiên bản mới nhất là 7.0. Ngoài ra, Mathematica còn được ứng dụng để
giải các bài toán nội suy bằng cách sử dụng các thao tác đơn giản mà không cần
lập trình nặng nề như trước. Nên việc tìm hiểu về Mathematica là rất cần thiết.
Chính vì các lý do đó em đã chọn nghiên cứu đề tài “Sử dụng ngôn ngữ lập
trình Wolfram Mathematica xấp xỉ hàm số bằng đa thức nội suy” nhằm cung cấp
một tài liệu cơ bản về các vấn đề liên quan đến nội suy và ứng dụng của phần
mềm Mathematica trong giải toán nội suy.

1


2. Mục đính nghiên cứu
- Hệ thống lại các vấn đề cơ bản của đa thức nội suy Lagrange và đa thức
nội suy Newton.
- Nghiên cứu và khai thác sử dụng phần mềm Mathematica vào việc giải
các bài toán nội suy đơn giản và vẽ đồ thị.
3. Nhiệm vụ nghiên cứu
- Tập trung tư liệu, nghiên cứu lý thuyết.
- Nghiên cứu về cấu trúc của các đa thức nội suy.
- Nghiên cứu về một số bài toán nội suy, một số công thức cơ bản của nội
suy.

- Nghiên cứu một số ứng dụng của lý thuyết nội suy.
4. Đối tượng và phạm vi nghiên cứu
- Đa thức nội suy Lagrange, đa thức nội suy Newton và các vấn đề liên
quan.
- Ngôn ngữ lập trình Mathematica và ứng dụng của nó trong vẽ đồ thị và
giải bài toán nội suy.
5. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Đọc và tìm hiểu các đa thức nội suy,
phân tích, làm rõ các bước hình thành nên đa thức.
- Bằng những ví dụ cụ thể để áp dụng đa thức nội suy.
- Thực hiện các lập trình cơ bản để xây dựng đa thức nội suy và vẽ đồ thị.

2


PHẦN NỘI DUNG
CHƯƠNG I
KIẾN THỨC CHUẨN BỊ
I. ĐẶT VẤN ĐỀ
Trong thực tế tính toán, ta thường phải tính giá trị của hàm số y  f ( x) với
x bất kì trên đoạn [a, b] , trong khi chỉ biết các giá trị:

yi  f ( xi ) , xi  [a, b], i  0,1,..., n.
Ở một số trường hợp khác, biểu thức giải tích của f ( x) đã biết, nhưng quá
phức tạp. Với những trường hợp như vậy, người ta thường xây dựng một hàm
số P( x) đơn giản và thỏa mãn điều kiện P( xi )  f ( xi ) , i  0,1,..., n và

xi  x j , i  j, xi  [a, b] ; ngoài ra tại x   a, b ,

x  xi thì P( x) xấp xỉ


y  f ( x) theo một độ chính xác nào đó. Hàm số P( x) như vậy được gọi là hàm

nội suy của f ( x) , còn các

xi (i  0,1,..., n) gọi là các mốc nội suy. Bài toán xây

dựng P( x) như vậy gọi là bài toán nội suy.
Mục đích của phép nội suy khá nhiều, nhưng chủ yếu là tìm thuật toá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,1,..., n).
Một bộ số liệu xi , yi (i  0,1,..., n) và một chương trình ngắn gọn có thể
thay 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] .
II. ĐA THỨC NỘI SUY LAGRANGE
1. Đa thức nội suy Lagrange với mốc bất kỳ
Bài toán:
Cho xi   a, b , i  0,1,..., n ; xi  x j , i  j , và yi  f ( xi ) i  0,1,..., n .
Hãy xây dựng đa thức nội suy Ln ( x) thỏa mãn deg Ln ( x)  n , Ln ( xi )  yi ,
i  0,1,..., n .

Trước tiên ta xét:
3


n

 (x  x )
 j ( x) 

i


i 0
i j
n

 (x
i 0
i j



j

 xi )

( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
( x j  x0 )( x j  x1 )...( x j  xi 1 )( x j  xi 1 )...( x j  xn )

Rõ ràng: deg  j ( x)  n, j  0,1,..., n và :

( xi  x0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...( xi  xn )
 j ( xi ) =
( x j  x0 )( x j  x1 )...( x j  xi 1 )( x j  xi 1 )...( x j  xn )
0 (i  j )

1 (i  j )
Đặt Ln ( x) 

n


 y  ( x)  y  ( x)  y  ( x)  ...  y 
j 0

j

j

o 0

1 1

n n

( x).

Vì y0 , y1 ,..., yn = const và deg 0 ( x) = deg 1 ( x) =…= deg n ( x)  n nên
deg Ln ( x)  n và:

Ln ( x0 )  y00 ( x0 )  y11 ( x0 )  ...  ynn ( x0 )  y0 ,
Ln ( x1 )  y00 ( x1 )  y11 ( x1 )  ...  ynn ( x1 )  y1 ,


Ln ( xn )  y00 ( xn )  y11 ( xn )  ...  ynn ( xn )  yn .
Vì vậy, ta có: Ln ( xi )  yi , i  0,1,..., n .
Vậy Ln ( x) thỏa mãn mọi yêu cầu của bài toán đặt ra và Ln ( x) xây dựng như vậy
được gọi là đa thức nội suy Lagrange.

4



Đặt:
n

n1 ( x)   ( x  xi )  ( x  x0 )( x  x1 )...( x  xi 1 )( x  xi )( x  xi 1 )...( x  xn ).
i 0

Ta có:

 'n1 ( x)  ( x  x1 )( x  x2 )...( x  xn )  ( x  x0 )( x  x2 )...( x  xn )  ...
( x  x0 )( x  x1 )...( x  xn 1 ).
Thay x lần lượt bằng x0 , x1 ,...., x j , ta có:

 'n1 ( x0 )  ( x0  x1 )( x0  x2 )...( x0  xn ),
 'n1 ( x1 )  ( x1  x0 )( x1  x2 )...( x1  xn ),

n

 'n1 ( x j )  ( x j  x0 )( x j  x1 )...( x j  x j 1 )( x j  x j 1 )...( x j  xn )   ( x j  xi ).
i 0
i j

Ta có:
n

(x  x )
n

n

j 0


j 0

Ln ( x)   y j j ( x)   y j

i

i 0
i j
n

n

 (x
i 0
i j

j

 xi )

  yj
j 0

n1 ( x)
( x  x j ) 'n1 ( x j )
(1)

Giả sử ngoài ra còn có đa thức Ln ( x) thỏa mãn các điều kiện trên khi đó gọi


 ( x)  [Ln ( x)  Ln ( x)] thì deg  ( x)  n và nhận ít nhất là (n  1) nghiệm

x0 , x1 ,..., xn , do đó  ( x)  0 , do vậy Ln ( x)  Ln ( x) .
Như vậy tồn tại duy nhất một đa thức với các điều kiện nêu trên.
Ví dụ 1:
Xây dựng đa thức nội suy Lagrange của hàm số y  f ( x) cho dưới dạng bảng
sau:

xi

0

2

3

5

f ( xi )  yi

1

3

2

5

Lời giải:
5



Áp dụng công thức (1)
Ta có: n  3
Nên: n1 ( x)  4 ( x)  ( x  0)( x  2)( x  3)( x  5)

 x( x  2)( x  3)( x  5)

 'n1 ( x)  ( x  2)( x  3)( x  5)  x( x  3)( x  5)  x( x  2)( x  5)  x( x  2)( x  3).

  '4 (0)  (0  2)(0  3)(0  5)
 '4 (2)  2(2  3)(2  5)  6
 '4 (3)  3(3  2)(3  5)  6
 '4 (5)  5(5  2)(5  3)  30
Suy ra:
x( x  2)( x  3)( x  5)
x( x  2)( x  3)( x  5)
x( x  2)( x  3)( x  5)
3
2
( x  0)(30)
( x  2)6
( x  3)(6)
x( x  2)( x  3)( x  5)
5
( x  5)30
L3 ( x)  1




( x  2)( x  3)( x  5) x( x  3)( x  5) x( x  2)( x  5) x( x  2)( x  3)



(30)
2
(3)
6

 x3  10 x 2  31x  30 x3  8 x 2  15 x  x3  7 x 2  10 x x 3  5 x 2  6 x




30
2
3
6
3
2
9 x  65 x  124 x  30

30
3
13
62
 x3  x 2  x  1
10
6
5

Vậy đa thức nội suy cần tìm là: L3 ( x) 

3 3 13 2 62
x  x 
x  1.
10
6
15

Ví dụ 2: Cho hàm số y  f ( x) cho bởi bảng sau:

xi

0

1

2

3

f ( xi )  yi

1

0

2

1


Hãy tính đa thức nội suy Lagrange L3 ( x) của nó trên đoạn [0 , 3] và tính gần
1
1
1
đúng f   bằng cách đặt f    L3   .
2
2
2

 

 

6


Lời giải:
Ta có: n  3
Nên: n1 ( x)  4 ( x)  x( x  1)( x  2)( x  3)

 'n1 ( x)  ( x  1)( x  2)( x  3)  x( x  2)( x  3)  x( x  1)( x  3)  x( x  1)( x  2)
  '4 (0)  (0  1)(0  2)(0  3)  6

 '4 (1)  1(1  2)(1  3)  2
 '4 (2)  2(2  1)(2  3)  2

 '4 (3)  3(3  1)(3  2)  6
 L3 ( x)  1


x( x  1)( x  2)( x  3)
x( x  1)( x  2)( x  3) x( x  1)( x  2)( x  3)
2
1
x(6)
( x  2)(2)
( x  3)6

x3  6 x 2  11x  6 x3  4 x 2  3x x3  3x 2  2 x



6
1
6
6 x3  27 x 2  27 x  6

6

  x3 

9 2 9
x  x 1
2
2

3
Vậy đa thức nội suy cần tìm là: L3 ( x)   x 
3


9 2 9
x  x  1.
2
2

2

1
1
1
1 91 9 1
1  
Suy ra: f    L3          
4
2
2
2 22 2 2

2. Đa thức nội suy Lagrange với mốc cách đều
Giả sử xi 1  xi  h , i  0,1,...,(n  1) , x0  a, xn  b . Khi đó dùng phép
đổi biến x  x0  th, x j  x0  jh với j  0,1,...(n  1) và thay vào biểu thức

 j ( x) 

n 1 ( x)
( x  x j ) 'n 1 ( x)

Ta có:

n1 ( x)  ( x  x0 )( x  x1 )...( x  xi 1 )( x  xi )( x  xi 1 )...( x  xn )

 ( x0  th  x0 )( x0  th  x0  h)...( x0  th  x0  (i  1)h)
7


( x0  th  x0  ih)( x0  th  x0  (i  1)h...( x0  th  x0  nh)
 th(t  1)h...(t  i  1)h(t  i)h(t  i  1)h...(t  n)h
 hn1t (t  1)...(t  n).

x  x j  x0  th  x0  jh  (t  j )h.

 'n1 ( x)  ( x j  x0 )( x j  x1 )...( x j  x j 1 )( x j  x j 1 )...( x j  xn )
 ( x0  jh  x0 )( x0  jh  x0  h)...( x0  jh  x0  ( j  1)h)

( x0  jh  x0  ( j  1)h)...( x0  jh  x0  nh)
 jh( j  1)h...( j  ( j  1)h)( j  ( j  1)h)...( j  n)h
 hn j ( j  1)...( j  ( j  1))( j  ( j  1))...( j  n).

Suy ra:
hn 1t (t  1)...(t  n)
 j ( x)  n1
h (t  j ) j ( j  1)...( j  ( j  1))( j  ( j  1))...( j  n)

Rút gọn ta được:

t (t  1)...(t  n)
t (t  1)...(t  n) ( 1) n  j
 j ( x) 

t j
j !(n  j )!

(t  j ) j !(n  j )!(1) j n
Từ đó ta thu được :

Ln ( x)  Ln ( x0  th)
n
t (t  1)...(t  n)
n!
t (t  1)...(t  n) (1)n j
yj

y j   (1)n j
(t  j )n !
j !(n  j )!
(t  j )
j !(n  j )!
i 0
i 0
n

Cnj
t (t  1)...(t  n) n
n j

(1)
yj.

n!
(t  j )
i 0


(2)

Trong công thức (2), các hệ số (1)

n j

Cnj là không phụ thuộc vào hàm

số f ( x) , mốc nội suy, bước h. Nên có thể tính sẵn và lập bảng để sử dụng trong
quá trình tính toán.
Nhận xét:

8


 Đa thức nội suy Lagrange có ưu điểm là đơn giản, dễ tính và nhược
điểm là nếu thêm mốc nội suy thì phải tính lại từ đầu.
 Nếu f ( x) là đa thức, deg f ( x)  n thì Ln ( x)  f ( x).
Ví dụ 3: Cho hàm số y  f ( x) cho bởi bảng sau:

xi

0

1

2

3


f ( xi )  yi

1

0

2

1

Hãy tính đa thức nội suy Lagrange L3 ( x) của nó trên đoạn [0, 3] và tính gần
1

1
1
đúng f   bằng cách đặt f    L3   .
2
2
2

Lời giải:
Áp dụng công thức (2)
Ta có: n  3
Suy ra:

L3 ( x)  L3 ( x0  th) mà x0  0; h  1
 L3 ( x)  L3 (t )
1
2
3


t (t  1)(t  2)(t  3)  30 C30
31 C3
3 2 C3
33 C3

(

1)
1

(

1)
0

(

1)
2

(

1)
1


3!
(t  0)
(t  1)

(t  2)
(t  3) 


(t  1)(t  2)(t  3) t (t  1)(t  3) t (t  1)(t  2)


6
1
6
3
2
6t  27t  27t  6

6
9
9
 t 3  t 2  t  1
2
2


3
Vậy đa thức nội suy cần tìm là: L3 ( x)   x 

3

2

9 2 9

x  x 1
2
2

1
1
1
1 91 9 1
1  
Suy ra: f    L3          
4
2
2
2 22 2 2

3. Sai số của đa thức nội suy

9


Định lý Rolle phát biểu: Cho f ( x) là hàm số thực liên tục trên [a,b], và khả
vi trên (a, b) và f (a)  f (b) . Khi đó tồn tại điểm   (a, b) sao cho f '( )  0 .
Khi thay f ( x) bởi Ln ( x) thì yêu cầu đánh giá Ln ( x)  f ( x) là cần thiết tất yếu
(với x  xi , i  0,1,..., n ).
Giả sử f ( x) có đạo hàm liên tục đến cấp (n  1) trên đoạn [a, b].
Xét F ( x)  f ( x)  Ln ( x)  Cn1 ( x) , trong đó C là hằng số, được chọn từ điều
kiện F ( x )  0 , với x là điểm cần đánh giá sai số, từ đó:

C


f ( x )  Ln ( x )
n 1 ( x )

Dễ thấy F ( x) có ít nhất (n  2) nghiệm x0 , x1 ,..., xn , và x ở trên đoạn [a, b] ,
theo định lý Rolle thì F '( x) có ít nhất (n  1) nghiệm phân biệt trên (a, b) , và

F ( n1) ( x) có ít nhất 1 nghiệm x*  (a, b) , nghĩa là:
f n1 ( x* )  Lnn1 ( x* )  C (n  1)!  0
f n 1 ( x* )
Vậy: C 
, Từ đó ta thu được:
(n  1)!

f n1 ( x* )
f ( x )  Ln ( x ) 
n1 ( x )
(n  1)!
n 1
Gọi M  Max f ( x) , x  [a, b] khi đó có ước lượng:

Rn ( x)  Ln ( x)  f ( x) 

M
n1 ( x)
(n  1)!

Hệ thức trên cho ước lượng sai số của hàm số y  f ( x) cho trước và đa thức
nội suy Lagrange của nó tại mỗi điểm.

10



Ví dụ 4: Tìm đa thức nội suy Lagrange của hàm số y  sin  x với

1
1

 1
x0  0, x1  , x2  trên 0,  . Giả sử tính gần đúng sin bằng cách đặt
6
2
8
 2
sin


8

 L2 ( x) là đa thức tìm được ở trên. Hãy ước lượng sai số?

Lời giải:
Ta có:
x0  0  y0  0
1
1
 y1 
6
2
1
x2   y2  1

2
x1 

Áp dụng công thức (1), với n  2
1
1
 3 ( x)  x( x  )( x  )
6
2
1
1
1
1
 '3 ( x)  ( x  )( x  )  x( x  )  x( x  )
6
2
2
6

  '3  0  

1
1
1
1 1
;  '3     ;  '3   
12
18
6
2 6


1 
1
1 
1


x  x   x  
x  x   x  
1 
6 
2
6 
2
1 
Suy ra: L2 ( x)  0 
1  1 
11
2 

 x    
x 
6  18 
26


Rút gọn, ta được: L2 ( x)  3x 2 

7
x

2

1 M 1
 1 1  1 1 
Áp dụng công thức (3) thì R2   
  0     
 8  3!  8
 8 6  8 2 
Vì f ( x)  sin  x nên f '''( x)   3 cos  x nên M   3

 25
1
3 1
Vậy sai số R2   
,
khi
đó
sin
 .
3
8 64
8 6 8
III. ĐA THỨC NỘI SUY NEWTON
1. Tỷ sai phân và một vài tính chất
11


a) Khái niệm tỷ sai phân
Giả sử hàm số thực y  f ( x) xác định trên [a, b]
và xi  [a, b] , i  0,1,..., n, xi  x j .

Khi đó tỷ số

( yi 1  yi )
( xi 1  xi ) được gọi là tỷ sai phân cấp 1 của hàm số

y  f ( x) tại xi , xi 1 , (i  0,1,..., n  1) và được ký hiệu là f ( xi ; xi 1 ).
Tỷ số

f ( xi 1 ; xi  2 )  f ( xi ; xi 1 )
được gọi là tỷ sai phân cấp 2 của hàm số
xi  2  xi

y  f ( x) tại xi và được ký hiệu là f ( xi ; xi 1 ; xi  2 ) .

f ( xi 1 ;...; xi  k )  f ( xi ;...; xi  k  2 )
Tổng quát, tỷ số:
( xi  k  xi )
được gọi là tỷ sai phân cấp k của hàm số y  f ( x) tại xi và được ký hiệu là

f ( xi ; xi 1 ;...; xi k ).
b) Tính chất
k

f ( xi )
i  0  'n 1 ( xi )

i) f ( x0 ;...; xk )  

ii) Tỷ sai phân là hàm đối xứng đối với các xi .
iii) Tỷ sai phân cấp (m  1) của đa thức bậc m là đồng nhất 0.

Ta chứng minh tính chất iii)
Giả sử P( x) là đa thức bậc m , ta cần chứng minh P( x; x0 ; x1 ;...; xm )  0
x   a, b và (m  2) số x, x0 ,..., xm là đôi một khác nhau. Ta có:
P( x; x0 ) 

P( x)  P( x0 )
là đa thức bậc (m  1).
x  x0

Từ đó có: P( x; x0 ; x1 ) 

P( x; x0 )  P( x0 ; x1 )
là đa thức bậc (m  2).
x  x1

Bằng phương pháp quy nạp toán học ta chứng minh được:

12


P( x; x0 ; x1 ;...; xk ) là đa thức có bậc [m  (k  1)]

Vậy P( x; x0 ; x1 ;...; xm1 ) là đa thức bậc 0, từ đó:
P( x; x0 ; x1 ;...; xm1 ; xm )  0.

2. Đa thức nội suy Newton với mốc bất kỳ
Với nội suy Newton, khi sử dụng các mốc không cách đều thì công thức nội
suy phức tạp hơn.
Trong thực tế, các điểm x0 , x1 ,..., xn có thể không cách đều. Lúc này khoảng
cách xi 1  xi không phải là hằng số.

Giả sử hàm số thực y  f ( x) xác định trên đoạn [a, b] và xi  [a, b] ,

i  0,1,..., n và xi  x j , i  j. Gọi Ln ( x) là đa thức nội suy Lagrange của
hàm số y  f ( x) , kí hiệu Ln ( x; xo ) , Ln ( x; x0 ; x1 ) v.v... là các tỉ sai phân của
Ln ( x) tại x.

Khi đó ta có: Ln ( x; x0 ) 

Ln ( x)  Ln ( x0 )
, vậy có :
x  x0

Ln ( x)  Ln ( x0 )  Ln ( x; x0 )( x  x0 )
Lại có: Ln ( x; x0 ; x1 ) 

Ln ( x; x0 )  Ln ( x0 ; x1 )
, từ đó rút ra :
x  x1

Ln ( x; x0 )  Ln ( x0 ; x1 )  Ln ( x; x0 ; x1 )( x  x1 )
Tương tự ta có:

Ln ( x; x0 ;...; xi 1 )  Ln ( x0 ;...; xi 1 )  Ln ( x; x0 ;...; xi )( x  xi )
Từ đó rút ra:

Ln ( x)  Ln ( x0 )  Ln ( x0 ; x1 )( x  x0 )  Ln ( x0 ; x1 ; x2 )( x  x0 )( x  x1 )
...  Ln ( x0 ; x1 ...xn )( x  x0 )( x  x1 )...( x  xn 1 )
Để ý Ln ( xi )  yi  f ( xi ) và Ln ( x0 ; x1 ...xk )  f ( x0 ; x1 ...xk ) k  1,..., n
Ta có:


13


Ln ( x)  f ( x0 )  f ( x0 ; x1 )( x  x0 )  f ( x0 ; x1 ; x2 )( x  x0 )( x  x1 )
(3)

...  f ( x0 ; x1 ...xn )( x  x0 )( x  x1 )...( x  xn 1 )

Đa thức Ln ( x) cho bởi công thức (3) được gọi là đa thức nội suy Newton với
mốc bất kì.
Chú ý:
+) Nếu thêm một vài mốc nội suy thì để tính đa thức nội suy Newton, ta chỉ
tính thêm một vài số hạng mới, không phải tính từ đầu.Đây chính là ưu điểm căn
bản của đa thức nội suy Newton so với đa thức nội suy Lagrange.
+) Đa thức nội suy Newton cũng chính là đa thức nội suy Lagrange ở dạng
khác.
Ví dụ 5: Xét hàm số y  f ( x) cho bởi bảng:
xi

0

2

3

5

f ( xi )  yi

1


3

2

5

Hãy tính đa thức nội suy Newton của nó?
Lời giải:
Ta có bảng tỷ sai phân:
TSP cấp 1

TSP cấp 2

3

1

3

2

-1

2
3

5

5


3
2

xi

yi

0

1

2

TSP cấp 3

5
6

Áp dụng công thức (3) ta có:

2
3
L3 ( x)  1  1( x  0)  ( x  0)( x  2)  ( x  0)( x  2)( x  3)
3
10
2
3
3
3

9
 1  x  x 2  x  x3  x 2  x
3
4
10
2
5
3
13
62
 x3  x 2 
x 1
10
6
15
14

3
10


Vậy đa thức nội suy cần tìm là: L3 ( x) 

3 3 13 2 62
x  x 
x 1
10
6
15


Ví dụ 6: Cho hàm số y  f ( x) cho bởi bảng sau:
xi

0

1

2

3

f ( xi )  yi

1

0

2

1

Hãy tính đa thức nội suy Newton của nó trên đoạn [0, 3] và tính gần đúng
1
1
1
f   bằng cách đặt f    L3   .
2
2
2


Lời giải:
Ta có bảng tỷ sai phân:
TSP cấp 1

TSP cấp 2

TSP cấp 3

0

-1

2

2

2

3
2

-1

3

1

-1

xi


yi

0

1

1



3
2

Áp dụng công thức (3) ta có:

3
L3 ( x)  1  1( x  0)  ( x  0)( x  1)  1( x  0)( x  1)( x  2)
2
3
3
 1  x  x 2  x  x3  3x 2  2 x
2
2
9
9
  x3  x 2  x  1
2
2
3

Vậy đa thức nội suy cần tìm là: L3 ( x)   x 

3

2

9 2 9
x  x  1.
2
2

1
1
1
1 91 9 1
1  
Suy ra: f    L3          
4
2
2
2 22 2 2

3. Sai phân và một vài tính chất
a) Khái niệm về sai phân

15


Giả sử y  f ( x) là hàm số thực, liên tục 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 1 của hàm

số y  f ( x) tại x . Một cách tổng quát ta có:

 0 f ( x)  f ( x),
1 f ( x)  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.
b) Tính chất
Tính chất 1:

 là toán tử tuyến tính xác định trên không gian vectơ X các hàm số thực xác
định trên đoạn [a, b] . Nghĩa là,  ,   R , f , g  X , ta có:

( f   g )  f  g

(c)  0 với c = const.
Tính chất 2:

 n ( x n )  n !h n
m ( xn )  0, m  n.

Ta chứng minh tính chất 2:
Thật vậy:

( x n )  ( x  h) n  x n  nhx n 2  ...
 2 ( x n )  (nhx n 1 )  ...  nh( x n 1 )  ...  n(n  1)h 2 x n 2  ...
n
n
n
n

Từ đó:  ( x )  n(n  1)...1h  n!h

Ngoài hai tính chất nêu trên ta có thể thấy sai phân còn có một số tính chất
khác nữa, chẳng hạn:
n



f ( x  nh)   Cni i f ( x).
i 0

16


n



 f ( x)   (1)i Cni f ( x  (n  i)h).



n
Nếu f  C [a, b] , h đủ nhỏ thì f ( x) 

n

i 0

n


 n f ( x)
.
hn

4. Đa thức nội suy Newton với mốc cách đều
a) Đa thức nội suy ở đầu bảng:
Giả sử x0  x1  ...  xn và xi 1  xi  h , i  0,1,...( n  1) . Ta tìm được
đa thức nội suy Ln ( x) ở dạng:

Ln ( x)  a0  a1 ( x  x0 )  a2 ( x  x0 )( x  x1 )  ...  an ( x  x0 )...( x  xn1 )
Thay thế x lần lượt là x0 , x1 ,..., xn và chú ý rằng

Ln ( xi )  f ( xi )  yi , i  0,1,...n.
Ta có:

Ln ( x0 )  a0  0  a0  y0
Ln ( x1 )  a0  a1 ( x1  x0 )  0  y1  y0  a1 ( x0  h  x0 )
 y1  y0  a1 h  a1 

y1  y0 y0

h
h

Ln ( x2 )  a0  a1 ( x2  x0 )  a2 ( x2  x0 )( x2  x1 )  0
y0
( x0  2h  x0 )  a2 ( x0  2h  x0 )( x0  2h  x0  h)
h
 y2  y0  2y0  a2 2h 2

 y2  y0 

 a2 

y2  y0  2y0
y2  y0  2( y1  y0 )

2h 2
2h 2

( y2  y1 )  ( y1  y0 ) y1  y0
 2 y0



2h 2
2h 2
2h 2

i y0
Tương tự như vậy, ta có: ai 
i ! hi

Từ đó có:
y0
 2 y0
 n y0
Ln ( x)  y0 
( x  x0 ) 
( x  x0 )( x  x1 )  ... 

( x  x0 )( x  x1 )...( x  xn1 )
1!h
2!h2
n !h n

17


Nếu ta đổi biến x  x0  th , x j  x0  jh , j  0,1,...,( n  1) . Thì ta có:

y0
 2 y0
 n y0
Ln ( x0  th)  y0 
t
t (t  1)  ... 
t (t  1)...(t  n  1)
1!
2!
n!

(4)

Công thức (4) cho ta đa thức nội suy Newton ở đầu bảng.
Ví dụ 7: Cho hàm số y  f ( x) cho bởi bảng sau:
xi

0

1


2

3

f ( xi )  yi

1

0

2

1

Hãy tìm đa thức nội suy Newton của nó trên đoạn [0, 3] và tính gần đúng
1
1
1
f   bằng cách đặt f    L3   .
2
2
2

Lời giải:
Ta có:

y0  y1  y0  1
 2 y0  y1  y0  ( y2  y1 )  ( y1  y0 )  3
3 y0   2 y1   2 y0  ( y3  y2 )  ( y2  y1 )   2 y0  6

Áp dụng công thức (4), ta được:

L3 ( x)  L3 ( x0  th) với x0  0, h  1
 L3 ( x)  L3 (t )  1 

( 1)
3
( 6)
t
t (t  1) 
t (t  1)(t  2)
1!
2!
3!

3 2
(t  t )  t (t  1)(t  2)
2
3
3
 1  t  t 2  t  t 3  3t 2  2t
2
2
9
9
 t 3  t 2  t  1
2
2
 1 t 


3
Vậy đa thức nội suy cần tìm là: L3 ( x)   x 

3

2

9 2 9
x  x  1.
2
2

1
1
1
1 91 9 1
1  
Suy ra: f    L3          
4
2
2
2 22 2 2

b) Đa thức nội suy Newton ở cuối bảng:

18


Giả sử rằng x0  x1  ...  xn và xi 1  xi  h , i  0,1,...(n  1) . Ta tìm
được đa thức nội suy Lagrange ở dạng:

Ln ( x)  a0  a1 ( x  xn )  a2 ( x  xn )( x  xn1 )  ...  an ( x  xn )( x  xn1 )...( x  x1 )

Nếu thay thế x lần lượt là xn , xn 1 ,..., x0 và chú ý rằng:

Ln ( xi )  f ( xi )  yi , i  0,1,...n.
Ta có:
Ln ( xn )  a0  a1 ( xn  xn )  ...  a0  yn

Ln ( xn 1 )  a0  a1 ( xn 1  xn )  a2 ( xn 1  xn )( xn 1  xn 1 )  ...
 yn 1  yn  a1 ( xn  (n  n  1)h  xn )
 yn 1  yn  a1 h
 a1 

yn  yn 1 yn 1

h
h

Ln ( xn  2 )  a0  a1 ( xn  2  xn )  a2 ( xn  2  xn )( xn  2  xn 1 )
 a3 ( xn  2  xn )( xn  2  xn 1 )( xn  2  xn  2 )  ...
yn 1
( xn  (n  n  2)h  xn )
h
 a2 ( xn  (n  n  2)h  xn )( xn  (n  n  2)h  xn  (n  n  1)h)
 yn  2  yn 

 yn  2  yn  2yn 1  a2 2h 2
 a2 




yn  2  yn  2yn 1 yn  2  yn  2( yn  yn 1 )

2h 2
2h 2

yn2  yn  2 yn1 yn  yn1  ( yn1  yn2 )

2h 2
2h 2

yn 1  yn  2
 2 yn  2


2h 2
2h 2
 n y0
Tương tự như vậy, ta có: an 
n !h n

Từ đó có:

19


yn 1
 2 yn  2
Ln ( x)  yn 
( x  xn ) 

( x  xn )( x  xn 1 )  ...
1!h
2!h 2
 n y0

( x  xn )...( x  x1 )
n !h n
Nếu ta đổi biến x  xn  th , x j  xn  (n  j )h , j  0,1,..., n, thì ta có:

yn1  2 yn2
 n y0
Ln ( xn  th)  yn 
t
t (t  1)  ... 
t (t  1)...(t  n  1)
1!
2!
n!

(5)

Công thức (5) cho ta đa thức nội suy Newton ở cuối bảng.
Ví dụ 8: Cho hàm số y  f ( x) cho bởi bảng sau:
xi

0

1

2


3

f ( xi )  yi

1

0

2

1

Hãy tính đa thức nội suy Newton của nó trên đoạn [0, 3] và tính gần đúng
1
1
1
f   bằng cách đặt f    L3   .
2
2
2

Lời giải:
Ta có:

y2  y3  y2  1
 2 y1  y2  y1  1  ( y2  y1 )  3
3 y0   2 y1   2 y0  3  (y1  y0 )  3  ( y2  y1  y1  y0 )  6
Áp dụng công thức (5), ta được:
L3 ( xn  th)  1 


(1)
( 3)
( 6)
t
t (t  1) 
t (t  1)(t  2)
1!
2!
3!

3 2
(t  t )  (t 3  3t 2  2t )
2
3
3
 1  t  t 2  t  t 3  3t 2  2t
2
2
9
9
 t 3  t 2  t  1
2
2
 1 t 

Mà x  xn  th  3  t  t  x  3

20



Vậy đa thức nội suy cần tìm là:
9
9
L3 ( x)  ( x  3)3  ( x  3) 2  ( x  3)  1
2
2
9
81 9
27
9
9
  x3  9 x 2  27 x  27  x 2  27 x   x 
 1   x3  x 2  x  1
2
2 2
2
2
2
3

2

1
1
1
1 91 9 1
1  
Suy ra: f    L3          
4

2
2
2 22 2 2

c) Đa thức nội suy Newton ở giữa bảng:
Nhận xét rằng, đa thức nội suy Newton ở đầu bảng hay cuối bảng mang đặc
trưng là một phía. Trong nhiều trường hợp, việc áp dụng công thức nội suy chứa
những giá trị trước và sau giá trị ban đầu sẽ có lợi, trong những công thức nội
suy như vậy người ta thường dùng công thức sai phân trung tâm. Trong mục này
sẽ trình bày một công thức dạng “một tiến, một lùi”.
Giả sử xi  x0  ih , i  0,1,..., n . Ta sẽ tìm đa thức nội suy ở dạng:

L2 n1 ( x)  a0  a1 ( x  x0 )  a2 ( x  x1 )( x  x0 )  a3 ( x  x1 )( x  x0 )( x  x1 )
...  a2 n 1 ( x  x ( n 1) )...( x  x1 )( x  x0 )( x  x1 )...( x  xn1 )
 a2 n ( x  x n )...( x  x1 )( x  x0 )( x  x1 )...( x  xn 1 )
Thay thế x lần lượt bởi xi , (i  0, 1, 2,..., n) , ta có:

L2n1 ( x0 )  a0  0  a0  y0
L2 n 1 ( x1 )  a0  a1 ( x1  x0 )  0
 y1  y0  a1 ( x0  h  x0 )  a1 

y0  y1 y1

h
h

L2 n 1 ( x1 )  a0  a1 ( x1  x0 )  a2 ( x1  x1 )( x1  x0 )  0
y1
( x0  h  x0 )  a2 ( x0  h  x0  h)( x0  h  x0 )
h

y1  y0  y1 y0  y1  2 y1
 a2 


2h 2
2h 2
2h 2
 y1  y0 

21


L2 n 1 ( x2 )  a0  a1 ( x2  x0 )  a2 ( x2  x1 )( x2  x0 )
 a3 ( x2  x1 )( x2  x0 )( x2  x1 )
y1
 2 y1
 y2  y0 
( x0  2h  x0 ) 
( x0  2h  x0  h)( x0  2h  x0 )
h
2h 2
 a3 ( x0  2h  x0  h)( x0  2h  x0 )( x0  2h  x0  h)
 y2  y0  2y1   2 y1  a3 6h3
y0  2y1  y2   2 y1
 a3 
6h 3
y0  y0  y1  y2  y1   2 y1 y2  y1   2 y1


6h 3

6h 3
 2 y1   2 y2 3 y2


6h 3
6h 3
Tương tự như vậy, ta được:

a2i 1

 2i 1 yi
 2 i y i

, a2i 
(2i  1)!h 2i 1
(2i)! h 2i

Từ đó ta rút ra:

y1
 2 y1
L2 n 1 ( x)  y0 
( x  x0 ) 
( x  x1 )( x  x0 )
1!h
2!h 2
 3 y2

( x  x1 )( x  x0 )( x  x1 )  ...
3!h3

 2 n 1 y n

( x  x ( n 1) )...( x  x1 )( x  x0 )( x  x1 )...( x  xn 1 )
(2n  1)! h 2 n 1
 2 n y n

( x  x n )...( x  x1 )( x  x0 )( x  x1 )...( x  xn 1 )
(2n)! h 2 n
Nếu dùng phép đổi biến x  x0  th , thì ta rút ra:

y1
 2 y1
 3 y2
L2 n 1 ( x0  th)  y0 
t
t (t  1) 
t (t  1)(t  1)
1!
2!
3!
 2 n 1 y n
... 
(t  n  1)...(t  1)t (t  1)...(t  n  1)
(2n  1)!
 2 n y n

(t  n)(t  n  1)...(t  1)t (t  1)...(t  n  1)
(2n)!
22


(6)


×