• Không có kết quả nào được tìm thấy

NỘI SUY VÀ

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "NỘI SUY VÀ "

Copied!
56
0
0

Loading.... (view fulltext now)

Văn bản

(1)

Chương 4

NỘI SUY VÀ

XẤP XỈ HÀM

(2)

I. ĐẶT BÀI TOÁN :

Để tính giá trị của một hàm liên tục bất kỳ, ta có thể xấp xỉ hàm bằng một đa

thức, tính giá trị của đa thức từ đó tính

được giá trị gần đúng của hàm

(3)

Xét hàm y = f(x) cho dưới dạng bảng số

x xo x1 x2 . . . xn y yo y1 y2 . . . yn

 Các giá trị xk, k = 0, 1, .., n được sắp theo thứ tự tăng dần gọi là các điểm nút nội suy

 Các giá trị yk = f(xk) là các giá trị cho trước của hàm tại xk

Bài toán : xây dựng 1 đa thức pn(x) bậc ≤n thoả điều kiện pn(xk) = yk, k=0,1,.. n. Đa thức này gọi là đa thức nội suy của hàm f(x).

(4)

II. ĐA THỨC NỘI SUY LAGRANGE:

Cho hàm y = f(x) và bảng số

x xo x1 x2 . . . xn y yo y1 y2 . . . yn

Ta xây dựng đa thức nội suy hàm f(x)

trên [a,b]=[x

0

, x

n

].

(5)

Đặt

( ) 0,

0,

0 1 1 1

0 1 1 1

( )

( )

( )

( )( )...( )( )...( )

( )( )...( )( )...( )

n

i

k i i k

n n

k i

i i k

k k n

k k k k k k k n

x x p x

x x

x x x x x x x x x x

x x x x x x x x x x

Ta có

( ) 1

( ) 0

k

n i

i k p x

i k

 

(6)

Đa thức

( ) 0

( ) ( )

n

k

n n k

k

L x p x y

có bậc ≤ n và thỏa điều kiện L

n

(x

k

) = y

k

gọi là đa thức nội suy Lagrange của hàm f

Ví dụ : Cho hàm f và bảng số

x 0 1 3 y 1 -1 2

Xây dựng đa thức nội suy Lagrange và tính gần đúng f(2).

(7)

n = 2

pn(0)( )x ((0 1)(0 3)x 1)(x 3) 13 (x2 4x 3)

Giải

(1) ( 0)( 3) 1 2

( ) ( 3 )

(1 0)(1 3) 2

n

x x

p x x x

 

(2) ( 0)( 1) 1 2

( ) ( )

(3 0)(3 1) 6

n

x x

p x x x

Đa thức nội suy Lagrange

2 2 2 2

1 1 1 7 19

( ) ( 4 3) ( 3 ) ( ) 1

3 2 3 6 6

L xn x x x x x x x x

f(2)  Ln(2) = -2/3

(8)

 Cách biểu diễn khác :

’(xk) = (xk-x0)(xk-x1)...(xk-xk-1)(xk-xk+1)...(xk- xn) Đặt (x) = (x- x0)(x- x1) .... (x- xn)

( ) ( )

( ) '( )( )

k n

k k

p x x

x x x

0

( ) ( )

'( )( )

n

k n

k k k

L x x y

x x x

với Dk = ’(xk) (x-xk)

0

( ) ( )

n

k n

k k

L x x y

D

0 0

'( ) ( )

n n

i

k i

i k

x x x



(9)

Để tính giá trị của Ln(x), ta lập bảng

x x0 x1 .... xn x0

x1

xn

x- x0 x0- x1 .... x0- xn x1- x0 x- x1 .... x1- xn

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

xn- x0 xn- x1 .... x- xn

D0 D1

Dn

(x)

tích dòng

tích đường chéo

(10)

Ví dụ : Cho hàm f và bảng số

x -9 -7 -4 y -1 -4 -9

Tính gần đúng f(-6) Ta lập bảng tại x = -6

x = -6 -9 -7 -4 -9

-7 -4

3 -2 -5 2 1 -3 5 3 -2

30 -6 -30

-6

Vậy f(-6)  L2(-6) = -6(-1/30+4/6+9/30) = -5.6

(11)

Ví dụ : Cho hàm f và bảng số

x 0 1 3 4 y 1 1 2 -1

Tính gần đúng f(2) Ta lập bảng tại x = 2

x = 2 0 1 3 4 0

1 3 4

2 -1 -3 -4 1 1 -2 -3 3 2 -1 -1 4 3 1 -2

-24 6 6 -24

4

Vậy f(2)  L3(2) = 4(-1/24 + 1/6 + 1/3 +1/24) = 2

(12)

 TH đặc biệt : các điểm nút cách đều với bước h = x

k+1

– x

k

Đặt q (x x0 ) h

Ta có xk = xo + kh

 x-xk = x- xo-kh = (q-k)h

xi-xj = (xo+ih)-(xo+jh) = (i-j)h

 (x)=(x-x0)(x-x1) .... (x-xn)=q(q-1)…(q-n)hn+1

’(xk) = (xk-x0) ... (xk-xk-1)(xk-xk+1) … (xk-xn)

= k.(k-1) … 1.(-1)(-2) … (k-n)hn

= (-1)n-k k! (n-k)! hn

(13)

0

( ) ( )

'( )( )

n

k n

k k k

L x x y

x x x

0

( ) ( 1)...( ) ( 1)

!( )!( )

n n k

k n

k

L x q q q n y

k n k q k

Ví dụ : Cho hàm f và bảng số

x 1.1 1.2 1.3 1.4 y 15 18 19 24

Tính gần đúng f(1.25)

(14)

Ta có n = 3 x = 1.25

h = 0.1 q = (1.25-1.1)/0.1 = 1.5

Vậy f(1.25)  18.375

15 18 19 24

(1.25) (1.5)(0.5)( 0.5)( 1.5)[ ]

3!(1.5) 2!(0.5) 2!( 0.5) 3!( 1.5) 18.375

Ln

giải

(15)

 Công thức đánh giá sai số :

Giả sử hàm f(x) có đạo hàm đến cấp n+1 liên tục trên [a,b].

Đặt

( 1)

1 max |[ , ] n ( ) |

n x a b

M f x

Ta có công thức sai số

| ( ) ( ) | 1 | ( ) | ( 1)!

n n

f x L x M x

n

(16)

Ví dụ : Cho hàm f(x)=2x trên đoạn [0,1]. Đánh giá sai số khi tính gần đúng giá trị hàm tại điểm

x=0.45 sử dụng đa thức nội suy Lagrange khi chọn các điểm nút xo=0, x1=0.25, x2=0.5, x3=0.75, x4=1 Giải

Ta có n = 4, f(5)(x) = (ln2)52x

 M5 = max |f(5)(x)| = 2(ln2)5

1

5

5

| ( ) ( ) | | ( ) |

( 1)!

2(ln 2)

| (0.45)(0.20)( 0.05)( 0.30)( 0.55) | 0.198 10 5!

n n

f x L x M x

n

x

công thức sai số

(17)

III. ĐA THỨC NỘI SUY NEWTON:

1. Tỉ sai phân :

Cho hàm y = f(x) xác định trên [a,b]=[xo, xn] và bảng số

x xo x1 x2 . . . xn y yo y1 y2 . . . yn

Đại lượng 1 1

1

( ) ( )

[ ,k k ] k k

k k

f x f x f x x

x x

gọi là tỉ sai phân cấp 1 của hàm f trên [xk,xk+1]

(18)

Tỉ sai phân cấp 2

1 2 1

1 2

2

[ , ] [ , ]

[ ,k k , k ] k k k k

k k

f x x f x x f x x x

x x

Bằng qui nạp ta định nghĩa tỉ sai phân cấp p

1 2 1 1

1

[ , , ... , ] [ , , ... , ]

[ ,k k , ... , k p] k k k p k k k p

k p k

f x x x f x x x

f x x x

x x

 

(19)

Ví dụ : Cho hàm f và bảng số

x 1.0 1.3 1.6 2.0 y 0.76 0.62 0.46 0.28

Tính các tỉ sai phân

k xk f(xk) f[xk,xk+1] f[xk,xk+1,xk+2] f[xk,xk+1,xk+2,xk+3] 0

1 2 3

1.0 1.3 1.6 2.0

0.76 0.62 0.46 0.28

-0.4667 -0.5333

-0.45

-0.111 0.119

0.23

Giải : ta lập bảng các tỉ sai phân

(20)

2. Đa thức nội suy Newton :

Tỉ sai phân cấp 1

0 0

0

0 0 0

( ) ( ) [ , ]

( ) [ , ]( )

f x f x f x x

x x

f x y f x x x x

Tỉ sai phân cấp 2

0 1 0

0 1

1

0 0 1 0 1 1

[ , ] [ , ] [ , , ]

[ , ] [ , ] [ , , ]( ) f x x f x x

f x x x

x x

f x x f x x f x x x x x

nên f x( ) y0 f x x[ , ](0 1 x x 0) f x x x[ , 0, ](1 x x 0)(x x 1)

(21)

Tiếp tục bằng qui nạp ta được

Đặt

(1)

0 0 1 0 0 1 2 0 1

0 1 0 1 1

0 0 1

( ) [ , ]( ) [ , , ]( )( ) ...

[ , ,..., ]( )( ) ... ( )

( ) [ , ,..., ]( )( ) ... ( )

n

n n

n n n

x y f x x x x f x x x x x x x f x x x x x x x x x

x f x x x x x x x x x

0 0 1 0 0 1 2 0 1

0 1 0 1 1

0 0 1

( ) [ , ]( ) [ , , ]( )( ) ...

[ , ,..., ]( )( ) ... ( )

[ , ,..., ]( )( ) ... ( )

n n

n n

f x y f x x x x f x x x x x x x

f x x x x x x x x x

f x x x x x x x x x

Ta được f x( )  (1)n ( )x  n( )x

Công thức này gọi là công thức Newton tiến xuất phát từ điểm nút xo

(22)

Tương tự ta có công thức Newton lùi

(2) (2)

1 2 1 1

0 1 1 1

( ) [ , ]( ) [ , , ]( )( ) ...

[ , ,..., ]( )( ) ...

( ) ( ( )

( )

)

n n n n n n n n n n

n n

n

n n

x y f x x x x f x x x x x x x

f x x x x x x

f x

x

x x

x x

 

(1) (2)

( ) : ( ) : ( ) :

n n n

x đa thức nội suy Newton tiến x đa thức nội suy Newton lùi x xác định sai số

Nếu hàm f có đạo hàm liên tục đến cấp n+1, ta có công thức đánh giá sai số :

( 1) 1

| ( ) | | ( ) | 1 max | ( ) |

( 1)!

n n

n n

x M x với M f x

n

(23)

Ví dụ : Cho hàm f xác định trên [0,1] và bảng số

x 0 0.3 0.7 1 y 2 2.2599 2.5238 2.7183

Tính gần đúng f(0.12) bằng Newton tiến và f(0.9) bằng Newton lùi

xk f(xk) f[xk,xk+1] f[xk,xk+1,xk+2] f[xk,xk+1,xk+2,xk+3] 0

0.3 0.7 1

2 2.2599 2.5238 2.7183

0.8663 0.6598 0.6483

-0.2950 -0.0164

0.2786

Giải : ta lập bảng các tỉ sai phân

Newton lùi Newton tiến

(24)

(0.12) (1)(0.12)

2 0.8663(0.12) 0.2950(0.12)( 0.18) 0.2786(0.12)( 0.18)( 0.58) 2.1138

f n

 

(0.9) (2)(0.9)

2.7183 0.6483( 0.1) 0.0164( 0.1)(0.2) 0.2786( 0.1)(0.2)(0.6) 2.6505

f n

Ta có

(25)

3. TH các điểm nút cách đều :

Sai phân hữu hạn cấp 1 của hàm tại điểm xk

yk = yk+1 - yk

Bằng qui nạp, Sai phân hữu hạn cấp p của hàm tại điểm xk

pyk = (p-1yk) = p-1yk+1 - p-1yk Ta có công thức

[ , 1,..., ]

!

p k

k k k p p

f x x x y

p h

 

(26)

Công thức Newton tiến

0

(1)

0 0 1 0 0 1 2 0 1

0 1 0 1 1

2

0 0 0

0

( )

( ) [ , ]( ) [ , , ]( )( ) ...

[ , ,..., ]( )( ) ... ( )

( 1) ... ( 1)...( 1)

1! 2! !

n

n n

n

Đặt q x x

h

x y f x x x x f x x x x x x x f x x x x x x x x x

y y y

y q q q q q q n

n

 

Công thức Newton lùi

2

(2) 1 2 0

( )

( ) ( 1) ... ( 1)...( 1)

1! 2! !

n

n

n n

n n

Đặt p x x

h

y y y

x y p p p p p p n

n

 

(27)

Ví dụ : Cho hàm f xác định và bảng số

x 30 35 40 45 y 0.5 0.5736 0.6428 0.7071

Tính gần đúng f(32) và f(44)

xk f(xk) yk 2yk 3yk

30 35 40 45

0.5 0.5736 0.6428 0.7071

0.0736 0.0692 0.0643

-0.0044 -0.0049

-0.0005

Giải : ta lập bảng các sai phân hữu hạn

Newton lùi Newton tiến

(28)

Tính gần đúng f(32) : dùng công thức Newton tiến n = 3, xo = 30, q=(32-30)/5 = 0.4

(32) (1)(32)

0.0736 0.0044 0.0005

0.5 (0.4) (0.4)( 0.6) (0.4)( 0.6)( 1.6)

1! 2! 3!

0.529936 f n

Tính gần đúng f(44) : dùng công thức Newton lùi n = 3, xn = 45, p=(44-45)/5 = -0.2

(44) (2)(44)

0.0643 0.0049 0.0005

0.7071 ( 0.2) ( 0.2)(0.8) ( 0.2)(0.8)(1.8)

1! 2! 3!

0.694656 f n

(29)

IV. SPLINE bậc 3 :

Với n lớn, đa thức nội suy bậc rất lớn, khó xây dựng và khó ứng dụng.

Một cách khắc phục là thay đa

thức nội suy bậc n bằng các đa thức bậc thấp (≤ 3) trên từng đoạn [xk,xk+1], k=0,1,…,n-1

(30)

1. Định nghĩa :

Cho hàm y=f(x) xác định trên đoạn [a,b] và bảng số

x a=xo x1 x2 . . . xn=b

y yo y1 y2 . . . yn

Một Spline bậc 3 nội suy hàm f(x) là hàm g(x) thỏa các điều kiện sau :

(i) g(x) có đạo hàm đến cấp 2 liên tục trên [a,b]

(ii) g(x)=gk(x) là 1 đa thức bậc 3 trên [xk,xk+1], k=0,1,..,n-1

(iii) g(xk) = yk, k=0,1, …, n

(31)

2. Cách xây dựng Spline bậc 3 :

Đặt hk = xk+1 – xk

gk(x) là đa thức bậc 3 nên có dạng :

gk(x) = ak+bk(x-xk)+ck(x-xk)2+dk(x-xk)3

 Ta có g(xk) = yk

 ak = yk, k = 0,1,…, n

 g(x) khá vi liên tục đến cấp 2 nên

1 1 1

' '

1 1 1

" ''

1 1 1

( ) ( ) ( )

( ) ( ) ( ), 0,1,.., 1

( ) ( ) ( )

k k k k

k k k k

k k k k

A g x g x

B g x g x k n

C g x g x

 

(32)

 Điều kiện (A) suy ra

2 3

1 1 2

( )

(1)

k k k k k k k k

k k

k k k k k

k

a b h c h d h y

y y

b c h d h

h

 Điều kiện (C) suy ra

1 1

2 6 2

( )

3 (2)

k k k k

k k

k

k

c d h c

c c

d h

Ta có gk’(x) = bk+2ck(x-xk)+3dk(x-xk)2 gk”(x) = 2ck+6dk(x-xk)

(33)

 Thay (2) vào (1) ta đước

1 1

( ) ( 2 )

3 (3)

k k k k k

k

k

y y c c h

b h

 Điều kiện (B) suy ra

2

1 2

1 1 1 1 1

2 3

2 3 (4)

k k k k k k

k k k k k k

b c h d h b

hay b c h d h b

 Thay (2) và (3) vào (4) ta được

1 1

1 1 1 1

1

3( ) 3( )

2( ) (5)

1,2, ... , 1

k k k k

k k k k k k k

k k

y y y y

h c h h c h c

h h

k n

 

(34)

Phương trình (5) là hệ pttt gồm n-1 pt, dùng để xác định các hệ số ck. Từ ck và (2) (3) ta xác định được tất cả các hệ số của đa thức gk(x)

Phương trình (5) có vô số nghiệm, để có nghiệm duy nhất ta cần bổ sung thêm 1 số điều kiện

Định nghĩa :

 Spline tự nhiên là spline với điều kiện g”(a) = g”(b) = 0

 Spline ràng buộc là spline với điều kiện g’(a) = , g’(b) = 

(35)

3. Spline tự nhiên :

Giải thuật xác định spline tự nhiên :

Điều kiện g”(a)=g”(b) = 0 suy ra co = cn = 0 B1. Tính hk=xk+1- xk, k = 0, n-1.

ak= yk, k = 0, n

B2. Giải hệ Ac = b tìm c = (co, c1, …, cn)t

1 0

2 1

0 0 1 1

1 0

1 1 2 2

1 1 2

2 2 1 1

1 2

1 0 0 0 ... 0 0

3( )

3( )

2( ) 0 ... 0

0 2( ) ... 0

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

3( ) 3( )

... ... ... 2( )

0 0 0 0 ... 1

0

n n n n

n n n n

n n

y y y y

h h h h

h h

h h h h

A b

y y y y

h h h h

h h

(36)

B3. Tính các hệ số bk, dk.

1 1

1

( ) ( 2 )

, 0,1,..., 1

3

( )

3

k k k k k

k

k

k k

k

k

y y c c h

b k n

h

c c

d h

Ví dụ : Xây dựng spline tự nhiên nội suy hàm theo bảng số

x 0 2 5 y 1 1 4

(37)

Giải

B1. ho = 2, h1 = 3. ao = 1, a1 = 1, a2 = 4 B2. Giải hệ Ac = b với c = (c0, c1, c2)t

1 0

2 1

0 0 1 1

1 0

1 0 0 1 0 0 0 0

3( )

3( )

2( ) 2 10 3 , 3

0 0 1 0 0 1 0

0

y y y y

A h h h h b

h h

 

 

 

 

 

n = 2

 co = c2 = 0, c1 = 3/10

0 1 2

1 0 0 0

2 10 3 3

0 0 1 0

c c c

   

   

   

   

   

(38)

B3. Tính các hệ số bk, dk.

1 0 1 0 0

0

0

2 1 2 1 1

1

1

1 0 2 1

0 1

0 1

( ) ( 2 ) 1

3 5

( ) ( 2 ) 2

3 5

( ) 1 ( ) 1

3 2 0 , 3 3 0

y y c c h

b h

y y c c h

b h

c c c c

d d

h h

 

 

Kết luận : spline tự nhiên

3 0

2 3

1

1 1

( ) 1 0 2

5 20

( ) 2 3 1

( ) 1 ( 2) ( 2) ( 2) 2 5

5 10 30

g x x x x

g x

g x x x x x

 

 

 

(39)

Ví dụ : Xây dựng spline tự nhiên nội suy hàm theo bảng số

x 0 1 2 3 y 1 2 4 8

B1. ho = h1= h2 = 1. ao = 1, a1 = 2, a2 = 4, a3 = 8 n = 3

B2. Giải hệ Ac = b với c = (c0, c1, c2,c3)t

0 0 1 1

1 1 2 2

1 0 0 0 1 0 0 0

2( ) 0 1 4 1 0

0 2( ) 0 1 4 1

0 0 0 1 0 0 0 1

h h h h

A h h h h

(40)

1 0

2 1

1 0

3 2 2 1

2 1

0

3( )

3( ) 0

3

3( ) 3( ) 6

0 0

y y y y

h h

b y y y y

h h

 

 

     

 

 

 

 

0 3

1 2

1 2

0

4 3

4 6

c c

c c

c c

  

    

  

Giải ta được co = c3 = 0, c1 = 2/5, c2 = 7/5

0 1 2 3

1 0 0 0 0

1 4 1 0 3

0 1 4 1 6

0 0 0 1 0

c c c c

 

 

 

 

 

 

 

(41)

B3. Tính các hệ số bk, dk.

1 0 1 0 0 2 1 2 1 1

0 1

0 1

3 2 3 2 2

2

2

1 0 2 1 3 2

0 1 2

0 1 2

( ) ( 2 ) 1 3 ( ) ( 2 ) 1 9

3 1 5 , 3 1 5

( ) ( 2 ) 4 6

3 1 5

( ) 2 ( ) 1 ( ) 7

, ,

3 1 5 3 3 3 1 5

y y c c h y y c c h

b b

h h

y y c c h

b h

c c c c c c

d

Tài liệu tham khảo

Tài liệu liên quan

 Ñònh lyù : Moïi haøm soá f(x) lieân tuïc treân ñoaïn [a ; b] ñeàu coù nguyeân haøm treân ñoaïn ñoù.. 2) Xeùt xem haøm soá döôùi daáu tích phaân coù bieåu thöùc naøo

Neáu choïn xo = 2.7 thì sai soá tuyeät ñoái nhoû nhaát cuûa nghieäm gaàn ñuùng x1 theo coâng thöùc haäu nghieäm laø

Neáu choïn xo = 2.7 thì sai soá tuyeät ñoái nhoû nhaát cuûa nghieäm gaàn ñuùng x1 theo coâng thöùc haäu nghieäm laø

Giaù trò nhoû nhaát cuûa haøm soá laø y.. Hàm số nghịch biến với

Chöùng minh phöông trình f(x) = g(x) coù nghieäm laø moät öùng duïng raát quan troïng cuûa haøm soá lieân tuïc treân ñoaïn... Ñieàu naøy chöùng toû  laø moät

Ñònh m ñeå ñoà thò haøm soá coù ba cöïc trò vaø ñöôøng 16 troøn ñi qua ba ñieåm cöïc trò naøy coù baùn kính baèng 1... CÖÏC TRÒ CUÛA HAØM SOÁ COÙ CHÖÙA GIAÙ TRÒ TUYEÄT ÑOÁI

 Haøm soá phaân thöùc, caùc haøm soá löôïng giaùc lieân tuïc treân töøng khoaûng xaùc ñònh

B)Caùch laøm sai, tính toaùn ñuùng, keát quaû sai. D)Caùch laøm ñuùng, tính toaùn sai, keát quaû sai.. Xaùc toïa ñoä gaàn ñuùng trong maët phaúng Oxy cuûa ñieåm