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

Phần mềm toán học Maple và ứng dụng nghiên cứu đ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 (433.16 KB, 26 trang )

Header Page 1 of 145.
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

TƠN NỮ LÊ DIỆU THẢO

PHẦN MỀM TỐN HỌC MAPLE
VÀ ỨNG DỤNG NGHIÊN CỨU
ĐA THỨC NỘI SUY

Chuyên ngành: Phương pháp Toán sơ cấp
Mã số: 60. 46. 01.13

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

Đà Nẵng - Năm 2015

Footer Page 1 of 145.


Header Page 2 of 145.
Cơng trình được hồn thành tại
ĐẠI HỌC ĐÀ NẴNG

Người hướng dẫn khoa học: PGS.TSKH Trần Quốc Chiến

Phản biện 1: TS. Lê Hải Trung
Phản biện 2: PGS. TS. Huỳnh Thế Phùng

Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn
tốt nghiệp thạc sĩ Khoa học họp tại Đại học Đà Nẵng vào ngày


27 tháng 6 năm 2015

Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
- Trung tâm Học liệu, Đại học Đà Nẵng

Footer Page 2 of 145.


Header Page 3 of 145.

1
MỞ ĐẦU

1. Lý do chọn đề tài
Tốn học có vai trị rất quan trọng, là mơn học nền tảng cho các
mơn học khác: Vật lý, hóa học hay trong các bài toán kinh tế… Nhưng
việc dạy và học Tốn là khơng phải dễ dàng. Vậy phải làm sao để dạy
và học mơn Tốn có hiệu quả hơn.
Trong giai đoạn hiện nay, có phần mềm Tốn trong việc hỗ trợ
dạy và học Toán trở nên phổ biến như Maple, Sketchpat…
Maple là một phần mềm Toán do Đại học Tổng hợp Waterloo
(Canada) xây dựng và đưa vào sử dụng năm 1985. Maple hổ trợ cho cả
tính tốn số và tính tốn hình thức, cũng như hiển thị. Với khả năng
tính tốn, minh họa trực quan, Maple có khả năng lập trình, các gói
lệnh tự học gắn liền với tốn phổ thơng và đại học. Do đó, lập trình
Maple là một công cụ rất tốt giúp cho người học và người dạy thuận lợi
hơn. Đây là một phần mềm đa dạng và sẽ giúp ích nhiều trong q trình
dạy và học. Vì vậy, dưới sự hướng dẫn của thầy Trần Quốc Chiến, tơi
chọn “ Phần mềm tốn học Maple và ứng dụng nghiên cứu đa thức nội

suy” làm đề tài nghiện cứu cho luận văn thạc sĩ khoa học của mình.
2. Mục đích và nhiệm vụ nghiên cứu
Đề tài: “Phần mềm toán học Maple và ứng dụng nghiên cứu đa
thức nội suy” nhằm mục đích góp phần thực hiện chủ trương ứng dụng
công nghệ thông tin để nâng cao chất lượng dạy và học mơn Tốn. Hệ
thống hóa lại các kiến thức về Đa thức nội suy và ứng dụng của Maple
trong Đa thức nội suy.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu: Đa thức nội suy Lagrange, đa thức nội
suy Newton và ứng dụng của chúng trong phần mền toán học maple.
3.2. Phạm vi nghiên cứu: Các khái niệm, định lý liên quan đến đa thức
nội suy Lagrange, đa thức nội suy Newtơn và phần mền toán học maple.
4. Phương pháp nghiên cứu
Cơ bản sử dụng phương pháp nghiên cứu tài liệu ( sách, báo và các
tài liệu trên internet có liên quan đến đề tài luận văn ) để thu thập thông tin

Footer Page 3 of 145.


Header Page 4 of 145.

2

nhằm hệ thống lại các vấn đề một cách lơgic, tìm hiểu cách sử dụng phần
mền tốn học maple và tìm hiểu các bài tốn, các ví dụ minh họa.
5. Ý nghĩa khoa học và thực tiễn của đề tài
Làm rõ các nghiên cứu đã có, tìm hiểu sâu hơn về phần mềm
maple và các ứng dụng của nó.
Tạo được một đề tài phù hợp cho việc giảng dạy.
6. Cấu trúc của luận văn: Ngoài phần mở đầu và kết luận, luận

văn được chia thành ba chương :
Chương 1: Phần mềm maple
Chương này trình bày cách sử dụng phần mềm Maple, các câu
lệnh toán tử, hàm, hằng, các phép toán cơ bản và các hàm dùng để tìm
đa thức nội suy.
Chương 2: Đa thức nội suy
Chương này trình bày các định nghĩa, tính chất, định lý, ví dụ về
đa thức nội suy lagrange, sai số của đa thức nội suy, sai phân và đa thức
nội suy newtơn.
Chương 3: Ứng dụng phần mềm Maple trong Đa thức nội suy
Chương này trình bày một số ứng dụng của phần mềm Maple để
tìm các đa thức nội suy lagrange và đa thức nội suy newtơn.
CHƯƠNG 1
PHẦN MỀM MAPLE
1.1. CÁC THAO TÁC ĐẦU TIÊN
1.1.1. Nhập các biểu thức
Maple cho phép nhập ba loại dữ liệu là lệnh, công thức và văn
bản. Mỗi lệnh trong Maple phải kết thúc bằng dấu (:) hoặc dấu (;). Để
thực hiện lệnh đó ta nhấn Enter. Nếu lệnh được kết thúc bằng dấu (;)
thì kết quả sẽ được hiển thị trên màn hình. Nếu lệnh được kết thúc bằng
dấu (:) thì kết quả sẽ khơng hiển thị trên màn hình.
1.1.2. Tập ký tự
Bao gồm bảng chữ cái tiếng Anh (kể cả chữ hoa và chữ

Footer Page 4 of 145.


3

Header Page 5 of 145.

thường)

Chữ số: 0,1, 2, 3, 4, 5, 6, 7, 8, 9.
Chú ý: Maple phân biệt chữ hoa và chữ thường.
1.1.3. Tốn tử, hàm và hằng
1.1.4. Tính toán các giá trị thập phân của biểu thức
1.2. PHÉP GÁN VÀ TÍNH TỐN
1.2.1. Biến
1.2.2. Phép gán
1.2.3. Biến tự do và biến ràng buộc
1.3. CÁC HÀM TÍNH TỐN
1.3.1. Tính tốn trên số ngun
1.3.2. Tính tốn trên biểu thức
1.4. ĐỐI TƯỢNG TRONG MAPLE
1.4.1. Các biểu thức cơ bản
a. Kiểu +, * và ^
Các biểu thức gồm các hằng hữu tỉ, biến và các toán tử +, -, *, /
và ^ được chia thành ba kiểu cơ bản như sau.
Kiểu +: là các biểu thức dạng x + y , x - y, x + y - z với x, y, z là
các biểu thức.
Kiểu *: là các biểu thức dạng x * y, x * y * z , x * y / z với
x, y, z là các biểu thức.
Kiểu ^ : là các biểu thức dạng x Ù y ,1 / x với x, y là các biểu thức.
b. Các hàm whattype, op, nops
Hàm whattype ( expr ) : trả về kiểu biểu thức expr .
Hàm op ( expr ) : trả về dãy các thành phần của biểu thức expr .
Hàm nops ( expr ) : trả về các số lượng các thành phần của biểu
thức expr .
Hàm op ( n, expr ) : trả về thành phần thứ n của biểu thức expr .


(

)

Hàm op 0, expr : trả về kiểu của biểu thức expr .

Footer Page 5 of 145.


Header Page 6 of 145.

4

c. Kiểu hàm
Hàm op ( 0, expr ) : trả tên hàm f .
1.4.2. Biểu thức dãy
Hàm op ( a..b, expr ) : trả về dãy các thành phần thứ a đến thành
phần thứ b của biểu thức expr .
s [i ] trả về thành phần thứ i của dãy s .
s [ a..b ] trả về dãy thành phần a đến thành phần thứ b của dãy s .
1.5. GIẢI TÍCH
1.5.1. Giới hạn
a. Giới hạn của biểu thức
Cho biểu thức p và tham số x .
Hàm limit ( p, x = a ) : Trả về giới hạn của p khi x tiến đến a .
Hàm limit ( p, x = a, right ) : Trả về giới hạn của p khi x tiến đến
a bên phải.

Hàm limit ( p, x = a, left ) : Trả về giới hạn của p khi x tiến đến a
bên trái.

Hàm limit ( p, x = infinity ) : Trả về giới hạn của p khi x tiến +¥ .
Hàm limit ( p, x = -infinity ) : Trả về giới hạn của p khi x tiến -¥ .
Hàm limit ( p, x = infinity , real ) : Trả về giới hạn của p khi x
tiến +¥ .
Hàm Limit ( p, x = a ) : Trả về biểu thức giới hạn.
Hàm value ( ...) : Tính giá trị giới hạn.
b. Giới hạn của biểu thức phụ thuộc vào tham số
Hàm assume (<điều kiện>): thiết lập điều kiện đối với tham số.
c. Giới hạn của hàm
Hàm limit ( f ( x ) , x = a ) : trả về giới hạn của hàm f ( x ) khi x

Footer Page 6 of 145.


5

Header Page 7 of 145.
tiến đến a .

Hàm Limit ( f ( x ) , x = a ) …: trả về biểu thức giới hạn.
Hàm value ( ...) : tính giá trị giới hạn.
1.5.2. Đạo hàm
a. Đạo hàm của biểu thức một biến
Cho biểu thức p tham số x .
Hàm diff ( p, x ) : trả về đạo hàm của p theo x .
Hàm Diff ( p, x ) : trả về biểu thức đạo hàm của p theo x .
Hàm value ( ...) : trả về giá trị đạo hàm của p theo x .
Hàm diff ( p, x$n ) : trả về đạo hàm bậc n của p theo x .
Hàm Diff ( p, x$n ) : trả về biểu thức đạo hàm bậc n của p
theo x .

Hàm value ( ...) : trả về giá trị đạo hàm của p theo x .
b. Đạo hàm riêng của biểu thức nhiều biến
Cho biểu thức p và tham số x1, x 2,..., xn .

(

)

Hàm diff p , x1, x 2,..., xn : trả về đạo hàm riêng bậc n của p
theo x1 , x 2 ,…, xn .
Hàm Diff ( p, x1, x 2,..., xn ) : trả về biểu thức đạo hàm riêng bậc
n của p theo x1 , x 2 ,…, xn .

c. Đạo hàm của hàm một biến
Cho hàm f biến x .
Hàm D ( f ) : trả về đạo hàm f ' của f theo x .
Hàm unapply ( p, x ) : chuyển biểu thức p về dạng hàm theo
biến x .
Hàm ( D @@ n )( f ) : trả về đạo hàm bậc n của f theo x .

Footer Page 7 of 145.


Header Page 8 of 145.

6

1.5.3. Đồ thị hàm số
a. Hàm 1 biến
Đồ thị 2D.

Cú pháp: plot ( f ( x ) , x = a..b ) hoặc plot ( f , a..b ) .
Nếu không khai báo miền giá trị của x thì Maple mặc định là

[ -10,10] .
b. Hàm 2 biến
Đồ thị 3D.
Cú pháp: plot 3d ( f , x = a..b, y = c..d ) .
1.5.4. Tính tổng và tích
a. Tính tổng
Cho hàm f (k ) tham số k .
Hàm

sum ( f ( k ) , k ) :

trả

về

tổng

bất

định

f (1) + f (2) + ... + f ( k ) .
Hàm Sum ( f ( k ) , k ) : trả về biểu thức tổng bất định

å f (k ) .

Hàm value ( ...) : tính giá trị biểu thức.

b. Tính tích
Cho hàm f (k ) tham số k , số nguyên m , n .
Hàm product ( f ( k ) , k = m..n ) : trả về tích f ( m ) . f ( m + 1) ... f ( n ) .
Hàm Product ( f ( k ) , k = m..n ) : trả về biểu thức tích

n

Õ f (k ) .
k =m

Hàm value ( ...) : tính giá trị biểu thức.
1.6. LẬP TRÌNH TRONG MAPLE
1.6.1. Chương trình trong maple
a. Nhập dữ liệu từ bàn phím
Hàm readstat ( '' < prompt > '') : hiện dấu nhắc < prompt > trả
về dự liệu nhập từ bàn phím.

Footer Page 8 of 145.


Header Page 9 of 145.

7

b. Xuất dữ liệu ra màn hình
Hàm print ( data1, data 2,...) hiện thỉ dữ liệu ra màn hình. Lưu
ý: xâu ký tự đặt trong dấu ‘’.
Chương trình là tập hợp nhiều lệnh thực hiện một cơng việc
phức tạp.
Để tạo chương trình trong maple ta có thể làm theo các cách

sau
c. Gộp lệnh sau
(1) Viết và thực hiện từng lệnh, (2) Đánh dấu (bôi đen) các lệnh
rồi (3) ghép các lệnh lại thành chương trình bằng thực hiện các lệnh
thực đơn Edit\Split or Join\Join Execution Groups ( phím tắt F4).
Để thực hiện chương trình, đưa con trỏ vào bất cứ chỗ nào
trong đoạn chương trình và gõ ENTER.
d. Gộp lệnh trước
Viết các lệnh kế tiếp nhau nhưng không thực hiện, sử dụng tổ
hợp SHIFT + ENTER để xuống dịng.
Để thực hiện chương trình, đưa con trỏ vào bất cứ chỗ nào tỏng
đoạn chương trình và gõ ENTER.
1.6.2. Các cấu trúc điều khiển
a. Lệnh rẽ nhánh
Cú pháp:
if condition expression then statement sequence
elif condition expression then statement sequence
else statement sequence
end if
Chức năng: Nếu điều kiện condition expression đúng thì thực
hiện các câu lệnh sau then hoặc sau else tương ứng.
b. Vòng lặp for
Cú pháp:

Footer Page 9 of 145.


8

Header Page 10 of 145.


for name from expr1 by expr 0 to expr 2 while condition
do statement sequence end do;
hoặc
for name in exprL

while condition

do statement sequence end do;
Chức năng: Vòng lặp for được sử dụng để thực hiện dãy các lệnh
statement sequence . Mỗi lần lập tương ứng một giá trị của biến name
sau for. Trong dạng thứ nhất, biến name xuất phát từ expr1 , mỗi lần
tiếp theo cộng thêm bước nhảy expr 0 , cho tới khi vượt quá cận trên
expr 2 hoặc không thỏa điều kiện condition thì kết thúc. Trong
dạng thứ hai, biến name lần lượt lấy các phần tử trong danh sách
exprL và thỏa điều điện condition .
1.6.3. Thủ tục và hàm
a. Khái niệm thủ tục trong maple
Chương trình trong maple có nhiều bất tiện, như phải mở
chương trình nguồn, đưa con trỏ vào chương trình gõ ENTER, dễ làm
hỏng chương trình. Maple cho tạo lập và sử dụng chương trình linh
hoạt hơn bằng thủ tục (procedure). Thủ tục là chương trình được truy
xuất thơng qua định danh. Ngoài các thủ tục của Maple trong các gói
(package), thủ tục có thể được tạo lập, biên dịch, được nạp vào bộ nhớ
để sử dụng.
b. Xây dựng thủ tục
Khai báo thủ tục:
procedure _ name := proc ( parameter _ sequence )

[local local _ sequence]

[global global _ sequence]
Footer Page 10 of 145.


Header Page 11 of 145.

9

[options options _ sequence]
statements _ sequence
end;

trong đó
procedure _ name

là tên thủ tục

parameter _ sequence

là dãy các tham số truyền cho thủ tục.

local local _ sequence

là dãy các biến cục bộ, chỉ có giá trị

global global _ sequence

sử dụng trong phạm vi thủ tục.
là dãy các biến tồn cục, có giá trị sử


statements _ sequence

dụng trong và ngoài phạm vi thủ tục.
là dãy các câu lệnh của thủ tục.

Nạp thủ tục: Sau khi viết xong thủ tục, ta để con trỏ vào thủ tục và gõ
ENTER.
Thực hiện thủ tục
Gọi tên thủ tục
proceduce _ name (...) với các tham biến đặt trong dấu ngoặc, nếu
có, hoặc.
proceduce _ value := proceduce _ name (...) với các tham biến đặt
trong dấu ngoặc, nếu có.
Lưu ý: Thủ tục trả về giá trị cuối cùng trước khi kết thúc thủ tục.
c. Tham số
Thủ tục proc _ eq1 ở trên còn bất tiện vì muốn giải phương
trình khác ta lại phải nhập các hệ số a, b, c . Maple cho phép truyền
tham số cho thủ tục. Có hai loại tham số:
Tham trị chỉ đơn giản truyền giá trị cho thủ tục, còn tham
biến, ngồi khả năng truyền giá trị nó cịn có thể lưu kết quả tính tốn
của thủ tục, sử dụng cho cơng việc ngồi thủ tục.
Tham biến được khai báo trong thủ tục như sau: <tham biến> ::
<kiểu dữ liệu>.

Footer Page 11 of 145.


10

Header Page 12 of 145.


CHƯƠNG 2
ĐA THỨC NỘI SUY
2.1. BÀI TOÁN NỘI SUY
2.1.1. Vấn đề nội suy
Trên đoạn a £ x £ b cho một lưới các điểm chia ( điểm nút ) xi ,
i = 0, 1, 2, ..., n : a £ x0 , x1 , x2 ,..., xn £ b và tại các nút xi cho các giá
trị của hàm số y = f ( x) là yi = f ( xi ) , i = 0, 1, 2, ..., n viết thành bảng
sau:
X

x0

x1

x2



xn -1

xn

Y

y0

y1

y2




yn -1

yn

Hãy xây dựng một đa thức bậc n:
Pn ( x) = a 0 x n + a1 x n -1 + ... + a n -1 x + a n
Sao cho Pn ( x) trùng với f ( x) tại các nút xi , nghĩa là :
(2.1)
Pn ( x) = yi , i = 0, 1, 2, ..., n
Đa thức Pn ( x) gọi là đa thức nội suy của hàm f ( x) .
2.1.2. Sự duy nhất của đa thức nội suy
Định lý: Đa thức Pn ( x) ( bậc £ n ) sinh ra từ bảng sau thỏa mãn
điều kiện (2.1) là duy nhất.
2.2. ĐA THỨC NỘI SUY LAGRANGE
2.2.1. Đa thức nội suy Lagrange
Xét hàm số y = f ( x) trên đoạn [ a, b ] và giả sử tại n + 1 mốc

(

xi Ỵ [ a, b ] ta đã biết giá trị yi = f ( xi ) i = 0, n

)

Từ bảng số trên ta xây dựng đa thức Pn ( x) bậc không quá n sao
cho thỏa mãn điều kiện:
Pn ( xi ) = yi


( i = 0, n )

(2.2)

Theo cách của Lagrange, trước hết lập các đa thức bậc n , Li ( x )
thỏa mãn điều kiện:

Footer Page 12 of 145.


11

Header Page 13 of 145.
ì1 i = j
Li ( x j ) = ớ
ợ0 i ạ j

(i, j = 0, n )

(2.3)

Ta có:
Li ( x ) = Ai ( x - x0 )( x - x1 ) ...( x - xi -1 )( x - xi +1 ) ... ( x - xn )

Mà Li ( xi ) = 1 = Ai ( xi - x0 )( xi - x1 ) ... ( xi - xi -1 )( xi - xi +1 ) ... ( xi - xn )
Þ Ai =

1
( xi - x0 )( xi - x1 ) ...( xi - xi -1 )( xi - xi +1 ) ...( xi - xn )


Þ Li ( x ) =

( x - x0 )( x - x1 ) ...( x - xi -1 )( x - xi +1 ) ...( x - xn )
( xi - x0 )( xi - x1 ) ...( xi - xi -1 )( xi - xi +1 ) ...( xi - xn )

(2.4)

là đa thức bậc n và thỏa mãn điều kiện (2.3)
Ta chọn

n

Pn ( x ) = å Li ( x ) yi

(2.5)

i =0

Ta có

n

Pn ( x j ) = å Li ( x j ) yi = y j
j =0

Do yi = f ( xi ) , i = 0, n đã có nên Pn ( x ) là đa thức bậc n , và từ
(2.3) , (2.4) ta suy ra Pn ( x ) thỏa mãn điều kiện (2.2).
Đa thức dạng (2.5) gọi là đa thức nội suy Lagrange, còn đa thức
dạng (2.4) gọi là đa thức cơ sở của Lagrange.
Để cho gọn trong cách viết, ta đưa vào ký hiệu:

n

w ( x ) = ( x - x0 )( x - x1 ) ... ( x - xn ) = Õ ( x - xi )

(2.6)

i =0

Thì w ' ( x ) = ( xi - x0 )( xi - x1 ) ...( xi - xi -1 )( xi - xi +1 ) ... ( xi - xn ) là
đạo hàm của w ( x ) tại điểm xi và chính là mẫu số trong cơng thức (2.4)
. Vì vậy (2.5) được viết lại:
yi
x
x
i =0 (
i )w ' ( x )
n

Pn ( x ) = w ( x ) å

Footer Page 13 of 145.

(2.7)


12

Header Page 14 of 145.

2.2.2. Đa thức nội suy Lagrange với mốc cách đều

Giả sử hàm số f ( x) nhận giá trị yi tại các điểm tương ứng
xi

( i = 0, n ) cách đều một khoảng h .
Các mốc nội suy cách đều xi +1 - xi = h , i = 0, n
x - x0
Þ x = x0 + th .
h
( x - x0 )( x - x1 )...( x - xi -1 )( x - xi +1 )...( x - xn )
Ta có: Li ( x) =
( xi - x0 )( xi - x1 )...( xi - xi -1 )( xi - xi +1 )...( xi - xn )

Đặt t =

th(th - h)...(th - (i - 1)h)(th - (i + 1)h)...(th - nh)
ih(ih - h)...(ih - (i - 1)h)(ih - (i + 1)h)...(ih - nh)

=

( -1)
=

n -i

( -1)

n-i

t (t - 1)...(t - n)


i !(n - i)!(t - i )

Cni t (t - 1)...(t - n)
(t - i)
n!

=

i
t (t - 1)...(t - n) n ( -1) Cn
Þ Pn ( x) =
y
å
n!
(t - i ) i
i =0
n-i

(2.8)

2.2.3. Sai số của đa thức nội suy
Giả sử Pn ( x) là đa thức nội suy của hàm số f ( x) trên đoạn

[ a, b ] :

Pn ( xi ) = f ( xi ) = yi

( i = 0, n )

Với các mốc nội suy là a £ x0 < x1 < x2 < ... < xn £ b .

Cố định x Ỵ [ a, b ] , x ¹ xi

( i = 0, n ) , ta gặp sai số tại điểm x là:

R ( x) = f ( x ) - Pn ( x)

(2.9)

Để đánh giá sai số đó, ta đặt F ( x ) = R ( x ) - kw ( x) . Trong đó k là
hằng số sẽ được chọn sao cho F ( x) = 0 .
Nghĩa là k =

R ( x) f ( x) - Pn ( x)
.
=
w ( x)
w ( x)

Footer Page 14 of 145.


13

Header Page 15 of 145.

R ( xi ) = f ( xi ) - Pn ( xi ) "i = 0, n

Theo (2.9) thì

và w ( x ) = 0


"i = 0, n nên F ( xi ) = 0 "i = 0, n , ta suy ra F ( x) = 0 có n + 2 nghiệm là
x, x0 , x1 ,..., xn . Theo định lý Ron thì F '( x) có n + 1 nghiệm …,

F ( n +1) ( x) có một nghiệm x Ỵëé a, b ûù , nghĩa là:
0 = F ( n +1) (x ) = R ( n +1) (x ) - kw ( n +1) (x ) = f ( n +1) (x ) - k (n + 1)!
Từ đó ta suy ra k =
Vậy

R( x) =

f ( n +1) (x )
(n + 1)!

+1
f ( n ) (x )
w ( x)
(n + 1)!

(2.10)

Gọi M = Sup f ( n +1) ( x ) thì từ (2.10) ta có:
a £ x £b

R ( x) = f ( x) - Pn ( x) £

M
w ( x)
(n + 1)!


(2.11)

2.2.4. Chọn mốc nội suy tối ưu
a. Đa thức Chebysev

(x

Tn ( x):= cos [ n arccos x ]

£ 1)

Đặt q = arccos x và để ý rằng cos( n ± 1)q = cosq cos nq m sin q sin nq , ta
đặt cos( n + 1)q + cos( n - 1)q = 2q cos nq hay:
Tn +1 ( x) = 2 xTn ( x) - Tn -1 ( x) .

Định lý: Trong tất cả các đa thức bậc
thức Chebysey Tn ( x) / 2

n -1

n

(2.12)

với hệ số đầu bằng 1, đa

có độ lệch ( so với 0 ) nhỏ nhất trên đoạn

[ -1,1] . Nghĩa là, nếu:
P ( x) = x n + an -1 x n -1 + ... + a0

Thì

max P( x) ³ max
x £1

x £1

Tn ( x)
2

n -1

=

1
.
2n -1

b. Chọn mốc nội suy
Trong trường hợp a = - 1 , b =1 ta lấy mốc nội suy xi là nghiệm

Footer Page 15 of 145.


14

Header Page 16 of 145.

2i + 1
p

2(n + 1)

của đa thức Chebysev Tn +1 ( x) nghĩa là: xi = cos
Khi đó w ( x) = ( x - x0 )( x - x1 ) ... ( x - xn ) =

( i = 0, n ) .

Tn +1 ( x)
có độ lệch nhỏ nhất
2n

và ước lượng tốt nhất của phép nội suy là:
M
M
P ( x) - f ( x) £
w ( x) £ n
(n + 1)!
2 (n + 1)!
Trong trường hợp a < b bất kỳ, ta dùng phép biến đổi

2x - b - a
trên [ a, b] về đoạn [ -1,1] . Các mốc nội suy tối ưu là
b-a
nghiệm của đa thức Chebysev:
t=

ì
ü
2i + 1
xi = í( b - a ) cos

p + (b + a ) ý i = 0, n
2(n + 1)


c lng tt nht ca phép nội suy trong trường hợp này là:

(

P ( x ) - f ( x) £

)

M
(b - a )n +1
(n + 1)! 22 n +1

2.3. ĐA THỨC NỘI SUY NEWTƠN
2.3.1. Đa thức nội suy Newtơn
a. Tỷ sai phân: Xét hàm số y = f ( x) trên đoạn [ a, b]

(

)

Định nghĩa: Từ bảng số yi = f ( xi ) , i = 0, n .
Các mốc nội suy: a º x0 < x1 < x2 < ... < xn º b .
Ta gọi f [ xi , xi -1 ] =

f ( xi ) - f ( xi -1 )
, i = 1, n

xi - xi -1

(

)

là tỷ sai phân cấp

một của hàm f ( x) .
Tỷ sai phân cấp hai là tỷ sai phân của tỷ sai phân cấp một, ký hiệu
là:
f [ xi +1 , xi , xi -1 ] =

Footer Page 16 of 145.

f [ xi +1 , xi ] - f [ xi , xi -1 ]
xi +1 - xi -1

, i = 1, n - 1


15

Header Page 17 of 145.
Tỷ sai phân cấp
hiệu là:

n

là tỷ sai phân của tỷ sai phân cấp n - 1 , ký


f [ xn , xn -1 ,..., x1 , x0 ] =

f [ xn , xn -1 ,..., x1 ] - f [ xn -1 ,..., x1 , x0 ]
xn - x0

Ta thấy tỷ sai phân cấp một cần hai mốc nội suy, cấp hai cần ba
mốc, …, cấp n cần n + 1 mốc.
Các tỷ sai phân định nghĩa như trên được cho trong bảng:

[ ]

[ ]

f .,.

[

f .,.,.

x

y

x0

y0

x1


y1

x2

y2

f [ x3 , x2 ]

x3

y3

f [ x4 , x3 ]

x4

y4

f [ x1 , x0 ]
f [ x2 , x1 ]

]

f .,.,.,.

[

]

f .,.,.,.


f [ x2 , x1 , x0 ]
f [ x3 , x2 , x1 ]
f [ x4 , x3 , x2 ]

f [ x3 , x2 , x1 , x0 ]
f [ x4 , x3 , x2 , x1 ]

f [ x4 , x3 , x2 , x1 , x0 ]

b. Các tính chất của tỷ sai phân
Tính chất 1: Tỷ sai phân cấp k của một tổng bằng tổng các sai
phân cùng cấp.
( f + g ) [ xk , xk -1 ,..., x0 ] = f [ xk , xk -1 ,..., x0 ] + g [ xk , xk -1 ,..., x0 ]

Hằng số nhân được đưa ra ngoài tỷ sai phân:
(c f ) [ xk , xk -1 ,..., x0 ] = c. f [ xk , xk -1 ,..., x0 ] .

Tính chất 2:

f ( xi )
i = 0 w '( xi )
k

f [ xk ,..., x0 ] = å
k

Trong đó w ( x) = Õ ( x - x j ) .
j =0


Footer Page 17 of 145.


16

Header Page 18 of 145.

Hệ quả 1: Tỷ sai phân là tốn tử tuyến tính.
Ta có:

(a f

+ b g ) [ xn ,..., x1 , x0 ] = å

(a f

i =0

=aå
i =0

+ b g )( xi )
w '( xi )

f ( xi )
g ( xi )
+ bå
w '( xi )
i = 0 w '( xi )


= a f [ xn ,..., x1 , x0 ] + b g [ xn ,..., x1 , x0 ]
Hệ quả 2: Tỷ sai phân có tính chất đối xứng:
f [ xi -1 , xi ] = f [ xi , xi -1 ] , i = 1, n
f [ xi -1 , xi , xi +1 ] = f [ xi +1 , xi , xi -1 ] , i = 1, n - 1
f [ x0 , x1 ,..., xn -1 , xn ] = f [ xn , xn -1 ,..., x1 , x0 ]
Tính chất này được suy ra từ định nghĩa.
Tính chất 3: Tỷ sai phân của hằng số thì bằng không.
Tỷ sai phân cấp m của đa thức bậc n có tính chất:
Nếu m = n thì tỷ sai phân cấp n là hằng số.
Cịn m>n thì tỷ sai phân cấp > n là bằng không.
c. Đa thức nội suy Newtơn

(

)

Xuất phát từ bảng số yi = f ( xi ) i = 0, n với các mốc nội suy là
x0 , x1 ,..., xn , xi Ỵ [ a , b ] .

Dựa vào định nghĩa của tỷ sai phân Newtơn xây dựng đa thức nội
suy như sau: cùng với các mốc nội suy xi , i = 0, n , đưa thêm vào mốc
x bất kỳ.

Ta có:
Do đó
Ta lại có

f [ x, x0 ] =

f ( x) - f ( x0 )

x - x0

f ( x) = f ( x0 ) + ( x - x0 ) f [ x, x0 ]
f [ x, x0 , x1 ] =

Footer Page 18 of 145.

f [ x, x0 ] - f [ x0 , x1 ]
x - x1

(2.13)


17

Header Page 19 of 145.

Từ đó ta có: f [ x, x0 ] = f [ x0 , x1 ] + ( x - x1 ) f [ x, x0 , x1 ]
Và cứ thế tiếp tục, cuối cùng ta thu được:
f ( x) = f ( x0 ) + ( x - x0 ) f [ x0 , x1 ] + ( x - x0 )( x - x1 ) [ x0 , x1 , x2 ] +
... + ( x - x0 )( x - x1 ) ... ( x - xn -1 ) f [ x0 , x1 ,..., xn ] + ...
+ ( x - x0 )( x - x1 ) ... ( x - xn -1 )( x - xn ) f [ x, x0 , x1 ,..., xn

]

(2.14)

Trong công thức (2.14) nếu đặt:
Pn ( x) = f ( x0 ) + ( x - x0 ) f [ x0 , x1 ] + ...
+ ( x - x0 )( x - x1 ) ... ( x - xn -1 ) f [ x0 , x1 ,..., xn


Và R ( x ) = ( x - x0 )( x - x1 ) ... ( x - xn ) f [ x, x0 , x1 ,..., xn
Thì

(2.15)

]
]

f ( x) = Pn ( x) + R ( x)

(2.16)
(2.17)

Pn - là đa thức bậc n . Ta chỉ cần chỉ ra Pn ( x) thỏa mãn điều kiện
Pn ( xi ) = yi , i = 0, n .

Thật vậy, từ (2.17) ta có: f ( xi ) = yi = Pn ( xi ) + R ( xi ) , i = 0, n
Nhưng rõ ràng R ( xi ) = 0 , i = 0, n nên Pn ( xi ) = yi , i = 0, n .
Công thức (2.15) được viết lại như sau:
n -1

i

i =0

j =0

Pn ( x ) = f ( x0 ) + å f [ xi +1 , xi -1 ,..., x0 ]Õ ( x - x j )
Công thức trên là đa thức nội suy Newton tiến (do xuất phát từ

mốc x0 )
Do tỷ sai phân có tính chất đối xứng, nên nếu ta sắp xếp lại các
mốc nội suy theo thứ tự :
xn , xn -1 , xn - 2 ,..., x1 , x0
Và xây dựng tương tự như trên, ta có cơng thức:
Pn ( x ) = f ( xn ) + ( x - xn ) f [ xn , xn -1 ] + ... +
+ ( x - xn ) ... ( x - x1 ) f [ xn , xn -1 ,..., x0 ]

(2.18)

Đây là đa thức nội suy Newton lùi (do xuất phát từ mốc xn ).

Footer Page 19 of 145.


18

Header Page 20 of 145.
d. Sai số
Theo công thức (2.17) ta có:

R( x) = f ( x) - Pn ( x) = w f [ x, x0 , x1 ,..., xn

]

Trong cơng thức (2.10) ta lại có:
R( x) =
Vậy f [ x, x0 , x1 ,..., xn ] =

f ( n +1) (x )

w ( x)
(n + 1)!

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

x Ỵ [ a, b ]

2.3.2. Đa thức nội suy Newtơn với các mốc cách đều
a. Sai phân hữu hạn
Cho hàm số f ( x) xác định trên [ a, b ] . Giả sử xi là các mốc nội
suy cách đều: xi = x0 + ih , i = 0, n
h gọi là bước sai phân ( h > 0 ) .

Sai phân cấp 1 của f ( x) tại x :
Df ( x) = f ( x + h) - f ( x)
Sai phân cấp 2 của f ( x) tại x :

D 2 f ( x) = D ( Df ( x) ) = [ f ( x + 2h) - f ( x + h)] - [ f ( x + h) - f ( x)]
Þ D 2 f ( x ) = f ( x + 2 h) - 2 f ( x + h) + f ( x )
……………….
Tương tự ta có sai phân cấp n của f ( x) tại x :
n

D m f ( x) = å (-1)k Cnk f [ x + (n - k )h]
k =0

b. Tính chất cơ bản của sai phân hữu hạn
Tính chất 1: D là tốn tử tuyến tính.

"a , b Ỵ R; "y , z Þ D (a y + b z ) = a .Dy + b .Dz
Và DC = 0 với C = const
D n ( x n ) = n ! h n ( h = Dx )

Footer Page 20 of 145.


19

Header Page 21 of 145.

Dn ( xn ) = 0 ( m > n )
D m ( D k y ) = D m + k y với D 0 y = y .

Tính chất 2: Giá trị của hàm số f ( x) được biểu diễn qua sai
phân hữu hạn các cấp của nó:
m

F ( x + mDx) = å Cmk D k f ( x)

(2.19)

k =0

Trong đó Cmk =

m(m - 1)...(m - k + 1)
m!
=
k!

k !(m - k )!

Tính chất 3: Sai phân hữu hạn cấp m của hàm f ( x) được biểu
diễn qua các giá trị liên tiếp của nó:
D m f ( x) = f ( x + mDx) - C1m f ( x + ( m - 1) Dx) +
Cm2 f ( x + ( m - 2 ) Dx) - ... + (-1) m f ( x)

(2.21)

Tính chất 4: Giả sử hàm số f ( x) có đạo hàm liên tục đến cấp m
trên đoạn [ x, x + mDx] thì ta có:
D m f ( x) = ( Dx ) f ( ) ( x + q mDx)
m

m

(2.22)

Trong đó 0 < q < 1 .
c. Bảng sai phân
Giả sử hàm số y = f ( x) được cho trong dạng bảng số yi = f ( xi ) ,

(

i = 0, n , các mốc nội suy xi = x0 + ih i = 0, n

)

( h = Dx = xi - xi -1 "i )


Sai phân hữu hạn các cấp được xác định theo công thức:
Dyi = yi +1 - yi , i = 0, n - 1
D 2 yi = D ( Dyi ) = Dyi +1 - Dyi , i = 0, n - 2

D 3 yi = D ( D 2 yi ) = D 2 yi +1 - Dyi , i = 0, n - 3

…...

D m yi = D ( D n -1 yi ) = D n -1 yi +1 - D n -1 yi , i = 0

Footer Page 21 of 145.


20

Header Page 22 of 145.

Công thức trên được mô tả theo bảng sau:
x

y

x0

y0

x1

y1


x2

y2

x3
x4
x5

Dy

D2 y

Dy0

D y1
2

Dy2

D 2 y2

D y3

y4

D 2 y3

Dy4

y5










xn

yn

D4 y

……

D 2 y0

Dy1

y3

D3 y

D yn - 2
2

Dyn -1


D 3 y0
D y1
3

D y2

3

D3 yn -3

D 4 y0
D 4 y1

D 4 yn - 4

d. Đa thức nội suy Newtơn với mốc cách đều
Trước hết ta viết lại đa thức nội suy newtơn tiến xuất phát từ
x0 (các mốc sắp xếp theo thứ tự x0 , x1 ,..., xn ).
Theo công thức (2.14) ta có:
Pn ( x) = f ( x0 ) + ( x - x0 ) f [ x0 , x1 ] + ( x - x1 )( x - x0 ) f [ x0 , x1 , x2 ] +
+ ... + ( x - x0 )( x - x1 ) ... ( x - xn -1 ) f é x0 , x1 ,..., xn ù
ë
û
Đặt x = x0 + ht Þ x - x0 = ht . Ta có:
f [ x0 , x1 ] =

y1 - y0 Dy0
=
x1 - x0
h


f [ x0 , x1 , x2 ] =

Footer Page 22 of 145.

f [ x0 , x1 ] - f [ x1 , x2 ]
x0 - x2


21

Header Page 23 of 145.

y1 - y0 y2 - y1
y - 2 y1 + y2 D 2 y
x1 - x0 x2 - x1
= 0
= 2
=
x0 - x2
2h 2
2h

f [ x0 , x1 ,..., xn ] =

Dn y
n !h n

Từ đó:
Pn ( x) = Pn ( x0 + ht )

(2.23)
Dy0
Dn y0
t (t - 1) + ... +
t (t - 1)(t - 2)...(t - n + 1)
1!
n!
(2.23) còn gọi là đa thức nội suy Newtơn tiến có mốc cách đều.
Bây giờ xét cơng thức nội suy Newtơn lùi có mốc xuất phát là
= y0 +

xn ( các mốc sắp xếp theo thứ tự xn , xn -1 ,..., x1 , x0 )

Theo cơng thức (2.18) ta có:
Pn ( x) = f ( xn ) + ( x - xn ) f [ xn , xn -1 ] + ( x - xn )( x - xn -1 ) f [ xn , xn -1 , xn - 2 ] +
+ ... + ( x - xn )...( x - x1 ) f [ xn , xn -1 ,..., x0 ]
Đặt x = xn + ht , tương tự như trên ta được:
Dyn
D 2 yn
t+
t (t + 1) + ... +
1!
2!
D n yn
+
t (t + 1)(t + 2)...(t + n - 1)
n!
(2.24) còn gọi là đa thức nội suy Newtơn lùi có mốc cách đều.
e. Sai số
Pn ( x) = Pn ( xn + ht ) = yn +


(2.24)

f ( n +1) (x )
Từ cơng thức (2.10) ta có: R ( x) =
w ( x) ,
(n + 1)!
n

n

k =0

k =0

mà w ( x) = Õ ( x - xk ) = h n +1t (t - 1)(t - 2)...(t - n) = h n +1 Õ (t - k ) .
Do sai phân hữu hạn cấp n là hằng số nên:
D n +1 y0
h ® 0 h n +1

f ( n + ) ( x) = lim
1

Footer Page 23 of 145.


22

Header Page 24 of 145.
Nên nếu xem


f

( n +1)

D n+1 y0
(x ) » n+1
h

thì: R ( x) »

D n+1 y0

n

Õ (t - k ) .
(n + 1)!
k =0

là sai số trong cơng thức nội suy Newtơn tiến.
Hồn tồn tương tự ta cũng có cơng thức đánh giá sai số đối với
công thức nội suy Newtơn lùi:
R ( x) »

D n+1 y0

n

Õ (t + k ) .
(n + 1)!

k =0

CHƯƠNG 3
ỨNG DỤNG PHẦN MỀM MAPLE
TRONG ĐA THỨC NỘI SUY
3.1. ỨNG DỤNG PHẦN MỀM ĐỂ GIẢI CÁC BÀI TOÁN VỀ ĐA
THỨC NỘI SUY LAGRANGE
Cách 1: Ta sẽ dùng hàm trong phần mềm maple:
Để giải các bài toán về đa thức nội suy Lagrange, ta sẽ dùng gói
lệnh CurveFitting[Polynomiallnterpolation].
Vẽ đồ thị so sánh.
Cách 2: Ta tự xây dựng bằng các câu lệnh sau:
- Trả về hàm được gán giá trị biểu thức p theo biến x .
unapply(p, x ,..)
- Trả về số lượng các thành phần của biểu thức expr.
nops(expr)
- Gán giá trị biểu thức x = a cho biểu thức p , trong đó p là
biểu thức theo biến tự do x : subs ( x = a, p )
- Trả về đạo hàm của p theo x : diff ( p, x )
- Trả về tích f (m). f (m + 1)... f (n) : product ( f ( k ) , k = m..n )
Ta xây dựng như sau:

Footer Page 24 of 145.


Header Page 25 of 145.

23

(


)

> w := unapply product ( x - points [i ][1] , i = 1..nops ( points ) ) , x ;

(

)

> L := ( i, x ) ® w ( x ) / ( x - points [i ][1]) / subs x = points [i ][1] , diff ( w ( x ) , x ) ;

> f ( x) := sum( points[i ][2]* L(i, x), i = 1..nops( points ));
> f ( x ) := simplify ( f ( x ) ) ;
3.2. ỨNG DỤNG PHẦN MỀM ĐỂ GIẢI CÁC BÀI TOÁN VỀ ĐA
THỨC NỘI SUY NEWTƠN
Ta tự xây dựng bằng các câu lệnh sau:
> # tính tỷ sai phân
f:=proc(x,y) # x, y là các dãy điểm
option remember;
if nops (x)=1 then return y[1];
else return (f (x[2..nops(x)], y[2..nops(y)]) – f (x[1..nops(x) – 1],
y[1..nops(y) – 1]) ) / (x[nops(x)] – x[1]);
end if;
end proc:
> # Nội suy tiến
# gtx, gty : các dãy giá trị của x và y
# x : tên biến
NST :=proc (gtx, gty, x)
local i, j, n, s;
s:=gty [1] ; n:=nops(gtx) ;

for i from 2 to n do
s :=s+f (gtx [1..i], gty [1..i])*product (x-gtx[j], j=1..i – 1);
end;
return s;
end proc:
> # Nội suy lùi
# gtx, gty : các dãy giá trị của x và y
# x : tên biến

Footer Page 25 of 145.


×