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

phương pháp tính nguyễn quốc lân c3 nội suy va bình phương cực tiểu sinhvienzone com

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 (318.74 KB, 26 trang )

BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK

om

-------------------------------------------------------------------------------------

ne

.C

PHƯƠNG PHÁP TÍNH – HK 2 0506

Zo

CHƯƠNG 3

nh
Vi
en

NỘI SUY VÀ BÌNH PHƯƠNG CỰC TIỂU
TS. NGUYỄN QUỐC LÂN (04/2006)

Si



SinhVienZone.com

/>


NỘI DUNG
-------------------------------------------------------------------------------------------------------------

.C

om

1- NỘI SUY ĐA THỨC LAGRANGE

Zo

ne

2- SAI SỐ NỘI SUY LAGRANGE

nh
Vi
en

3- NỘI SUY NEWTON (MỐC CÁCH ĐỀU)
4- NỘI SUY GHÉP TRƠN (SPLINE) BẬC BA

Si

5- BÌNH PHƯƠNG CỰC TIỂU

SinhVienZone.com

/>


BÀI TOÁN TỔNG QUÁT VỀ NỘI SUY
--------------------------------------------------------------------------------------------------------------------------

x0

x1



x =   xk 



xn-1

xn

Giá trò nội suy

y0

y1





yn-1

yn


ne

Mốc nội suy

.C

om

Nội suy: Bảng chứa (n+1) cặp dữ liệu { (xk, yk) }, k = 0  n

y=?

nh
Vi
en

Zo

xk : mốc nội suy, yk : giá trò (hàm) nội suy
Từ bảng này, nội suy giá trò ybảng tại điểm x = ?

Si

Nội suy đa thức: Xác đònh đa thức y = P(x) thoả điều kiện
nội suy P(xk) = yk, k = 0 … n  ybảng  P()

SinhVienZone.com

/>


NỘI SUY ĐA THỨC LAGRANGE
--------------------------------------------------------------------------------------------------------------------------

om

Bảng chứa (n+1) cặp số liệu {(xk,yk)} , k = 0  n

.C

! đa thức L(x), bậc  n, thoả đ/kiện nội suy L(xk) = yk, k = 0 … n

Zo

ne

Tìm đa thức nội suy Minh hoạ bảng 3 dữ liệu: {(xk,yk)} , k=02
2

Giá Trò nội suy yk

0.5

nh
Vi
en

Mốc nội suy xk

2.5


4

0.4

0.25

Tại x = 3, ybảng ?

Cách 1: 3 mốc  n = 2  L(x) = ax2 + bx + c (3 hệ số cần tìm)
 4 a  2 b  c  0 .5

  6 . 25 a  2 . 5 b  c  0 . 4
 16 a  4 b  c  0 . 25


Si

 L  2   0 .5

 L  2 .5   0 .4
 L  4   0 . 25


SinhVienZone.com

ybảng  L(3) = 0.325

/>


VÍ DỤ SAI SỐ
-----------------------------------------------------------------------------------------------------------------------------------

f (x)  L(x) 

 n 1

x

 x  x 0    x  x n    Nội

om

 a ,b 

f

 n  1 !

.C

Sai số:

max

ne

Ước lượng sai số của việc xấp xỉ giá trò

Zo


nội suy Lagrange bậc hai hàm y =

suy tại x

bằng đa thức

115

xây dựng tại các

x

nh
Vi
en

mốc x0 = 100, x1 = 121, x2 = 144. Yêu cầu: Làm tròn kết
quả (sai số) đến chữ số lẻ thứ 4

f 115

f x 

x  M  max

Si

Giải:


 a ,b 

  L 115   M 

1

f

(3)

( x )  max

 115  100

100

, 144

3
8

5

x

2

115  121 115  144 

3!


Kết quả:
SinhVienZone.com

Nhắc lại: Sai số: luôn làm tròn lên!
/>

NHIỀU MỐC  ĐA THỨC NỘI SUY CƠ SỞ
----------------------------------------------------------------------------------------------------------------------

Mốc NS

2

2.5

4

Giá Trò NS

0.5

0.4

.C

om

Đa thức nội suy cơ sở tại xk: Lk(xk) = 1, Lk(xi) = 0  i  k


ĐTNSCS L0(x)

1

0

ĐTNSCS L1(x)

0

 x  2  x  4 

 2 . 5  2  2 . 5  4 

Si

L1  x  

ne

Zo

0

0

1

0


0

1

nh
Vi
en

ĐTNSCS L2(x)

0.25

L2 x  

3 mốc  3 ĐT NSCS

L0 ( x ) 

 x  2 . 5  x  4 
 2  2 . 5  2  4 
L2 x 

 x  2  x  2 . 5 

Lx

L1  x 

 4  2  4  2 . 5 


L0 x 

Đa thức nội suy: L(x) = 0.5L0(x) + 0.4L1(x) + 0.25L2(x)
Thiết lập công thức tổng quát với (n + 1) mốc {(xk, yk)}?
SinhVienZone.com

/>

CÔNG THỨC TỔNG QUÁT
--------------------------------------------------------------------------------------------------------------------------

(n+1) mốc  (n+1) đa thức nội suy cơ sở. Đa thức nội suy

ne

.C

1

  L k  x1     L k  x k 1   L k  x k 1     L k  x n   0

Zo

 Lk xk

 Lk x0

om

cơ sở Lk(x) tại xk (k = 0 … n): Lk(xk) = 1, Lk(xi) = 0  i  k:


nh
Vi
en

Lk (x) 

 x  x 0    x  x k  1  x  x k  1    x  x n 
 x k  x 0    x k  x k  1  x k  x k  1    x k  x n 

,0  k  n

Si

 Đa thức nội suy L ( x )  y 0 L 0 ( x )  y 1 L 1 ( x )    y n L n ( x )

Ưu điểm: Công thức tổng quát cho đa thức nội suy L(x)

Chỉ phụ thuộc bộ mốc {xk} (0  k  n), không phụ thuộc yk
SinhVienZone.com

/>

VÍ DỤ
---------------------------------------------------------------------------------------------------------------------

om

Bảng 4 mốc 1, 2, 3, 4 ; 4 giá trò 5, 7, 8, 9. Viết ra biểu thức


ne

1  2 1  3 1  4 

 L 0  3 . 5   0 . 0625

L1 3 .5  

nh
Vi
en

Zo

L0 x  

 x  2  x  3  x  4 

.C

các đa thức nội suy cơ sở. Tính giá trò bảng tại x = 3.5?

 3 . 5  1  3 . 5  3  3 . 5  4 
 2  1  2  3  2  4 



L 2 (3 .5 ) 
L 3 (3 .5 ) 


Si

L ( x )  5 L 0 ( x )  7 L 1 ( x )  8 L 2  x   9 L 3 ( x )  L  3 . 5   8 . 4375

Viết biểu thức Lk(x) (Không tính!) Thay x  Giá trò
SinhVienZone.com

/>

NỘI SUY NEWTON – MỐC CÁCH ĐỀU
----------------------------------------------------------------------------------------------------------------

Bảng {(xk,yk)} , k = 0  n, mốc nội suy cách đều: x0, x1
Gtrò NS

x0

y0

x1

y1

x2

x3

.C

Mốc NS


nh
Vi
en

om

= x0 + h, x2 = x1 + h … xn = xn-1 + h. Lập bảng sai phân :
3

2

 yk

 yk

Zo

ne

yk

y0

y2

 y1

y3


y2

2

 y0

3

 y0

2

 y1

VD: Bảng sai

xk

yk

Ví dụ: y0 = y1 – y0

phân 3 mốc

1
2
3

2
4

7

Si

Cấp 1: yk = yk+1 – yk

2yk = yk+1 – yk …
SinhVienZone.com

(cách đều)

/>
y 2y
2

1

3


ĐA THỨC NỘI SUY NEWTON
-----------------------------------------------------------------------------------------------------------------

h

t t  1 
2!

2


 y0   

t ( t  1)  ( t  n  1)
n!

n

 y0

Zo

N  x   y 0  t y 0 

.C

 x = x0 +th  Đa thức nội suy tiến:

ne

t 

x  x0

om

Đa thức nội suy Newton tiến: x x0 (đầu bảng)

nh
Vi
en


Đa thức theo t & Sai phân nằm trên đường chéo tiến
Đa thức nội suy Newton lùi: x  xn (cuối bảng)
h

 x = xn + th  Đa thức nội suy lùi:

Si

t 

x  xn

N  x   y n  t  y n 1 

t t  1 
2!

2

 yn2   

t  ( t  n  1)
n!

n

 y0

Sai phân nằm trên đường chéo lùi (từ cuối bảng đi lên)

SinhVienZone.com

/>

VÍ DỤ NỘI SUY NEWTON
-----------------------------------------------------------------------------------------------------------------

Cho bảng giá trò sinx từ 15  55. Xây dựng đa

0.3420
0.4226
0.5
0.5736
0.6428
0.7071
0.7660
0.8192

ne

20
25
30
35
40
45
50
55

y


2y

Zo

y
0.2588

Si

nh
Vi
en

x
15

.C

om

thức nội suy tiến (lùi) cấp 3 & tính sin16 (sin54)

SinhVienZone.com

/>
3y


VÍ DỤ NỘI SUY NEWTON

--------------------------------------------------------------------------------------------------------------------------

Đa thức nội suy tiến: x  15

x  15

 t 

 x  15  5 t

om

5

t t  1 

.C

N 1 ( t )  0 . 2588  0 . 0832 t  0 . 0026

 0 . 0006

2

3!

sin16 = 0. 2756

Zo


ne

x = 16  t = 0.2  N1(0.2) = 0. 2756

nh
Vi
en

Đa thức nội suy lùi: x  55

 t 

N 2 ( t )  0 . 8192  0 . 0532 t  0 . 0057

t  t  1  t  2 

x  55

 x  55  5 t

5
t t  1 

 0 . 0003

t  t  1  t  2 

2

3!


Si

x = 54  t = –0.2  N2(–0.2) = 0.80903 sin54 = 0. 8090
Câu hỏi: Tính tại x = 54 với Nội suy tiến. Nhận xét?

Tất cả sai phân: Nội suy Newton  Lagrange!
SinhVienZone.com

/>

HIỆN TƯNG RUNGE
---------------------------------------------------------------------------------------------------------------

Nội suy hàm f(x) = 1/(1+ 25x2), x  [-1, 1] bằng đa

om

thức nội suy, 5 mốc cách đều. Tính L(0.95), so sánh

ne

.C

giá trò tính được với giá trò chính xác f(0.95)

Zo

Lập bảng nội suy: 5 mốc cách đều trên [–1, 1] 


nh
Vi
en

x0 = –1, x1 = –0.5, x2 = 0, x3 = 0.5, x4 = 1 & yk = f(xk)

yk

–1

Si

xk

0 . 038

Giá trò L(0.95) =
SinhVienZone.com

–0.5

0.

0 . 138

1

0.5

1.


0 . 138

0 . 038

Giá trò chính xác f(0.95) = 0.04
/>

KẾT QUẢ
--------------------------------------------------------------------------------------------------------------

Si

nh
Vi
en

Zo

ne

.C

om

So sánh đồ thò hàm ban đầu f(x) và đa thức nội suy P4(x)

Tăng số nút có thể khiến sai số tăng!
SinhVienZone.com


/>

NỘI SUY GHÉP TRƠN
-------------------------------------------------------------------------------------------------------------

om

Nội suy Lagrange: Bậc quá lớn  Đồ thò phức tạp

.C

Thay đa thức

nh
Vi
en

nội suy bậc

Zo

bằng đa thức

ne

nội suy bậc n

thấp (bậc 1, 2,
3 …) trên từng


Si

đoạn
[xk,

xk+1],

k=0…n–1
SinhVienZone.com

/>

YÙ TÖÔÛNG NOÄI SUY GHEÙP TRÔN BAÄC 3
-----------------------------------------------------------------------------------------------------------

om

ne

S2 x

nh
Vi
en

Zo

S0 x

S1x 


.C

S 0  x1   y1

S 0 x0

 0

Si

S ' '0  x 0

  y0

 x 0 , x1 
SinhVienZone.com

 S 0  x1   S 1  x1 

 S ' 0  x 1   S '1  x 1 

 S ' ' 0  x 1   S ' '1  x 1 

 x1 , x 2 
/>
x2 , x3 


XÂY DỰNG HÀM NỘI SUY GHÉP TRƠN BẬC 3

-----------------------------------------------------------------------------------------------------------------

Tìm hàm bậc 3 trên từng đoạn, liên tục và có đạo

2

2

3

3

–4

.C

y

Zo

ne

1

nh
Vi
en

Hàm nội suy:


x

om

hàm đến cấp 2 nội suy bảng số liệu sau:

 S 0  x   a 0  b 0 x  c 0 x  d 0 x , x  1 , 2 
S x  
2
3
S

x


a

b
x

c
x

d
x
, x  2 ,3 
 1
1
1
1

1
2

3

Si

Dạng thuận tiện hơn:
 S 0  x   a 0  b 0  x  1    , x  1 , 2 
S x  
 S 1  x   a 1  b1  x  2    , x   2 , 3 
SinhVienZone.com

/>

NỘI SUY SPLINE (GHÉP TRƠN) BẬC 3
--------------------------------------------------------------------------------------------------------------------------

om

1/ Hàm dạng bậc 3 trên từng đoạn [xk,xk+1], k = 0  n –1

 S 0  a 0  b 0  x  x 0   c 0  x  x 0   d 0  x  x 0  , x   x 0 , x1 

2
3
 S 1  a 1  b1  x  x 1   c 1  x  x 1   d 1  x  x 1  , x   x 1 , x 2 
S  
 
2


S

a

b

x

x


c

x

x

  , x   x n 1 , x n 
 n 1
n 1
n 1
n 1
n 1
n 1
3

nh
Vi
en


Zo

ne

.C

2

2/ Điều kiện nội suy: S(xk) = yk, k = 0, 1 … n

Si

3/ Ghép trơn:

S  x k 1   S k 1  x k 1 
 k

 S k '  x k 1   S k 1 '  x k 1  k  0 

 S k "  x k 1   S k 1 "  x k 1 

4/ Điều kiện biên tự nhiên: S’’(x0) = S’’(xn) = 0
SinhVienZone.com

/>
n  2 


GIẢI THUẬT NỘI SUY SPLINE BẬC 3

------------------------------------------------------------------------------------------------------------------------

om

I/ Độ dài hk = xk+1 – xk, k = 0 … n –1. Hệ số ak = yk, k = 0 … n

.C

II/ c = [c0, … cn]T là nghiệm (cn = S’’(xn)/2) hệ Ac = e với

Si

nh
Vi
en

Zo

ne

0
0 0  
0 
1


h 0 2 ( h 0  h1 ) h1 0  
0



0

h1 2 ( h1  h 2 ) h 2 0 
A 

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


0 
hn  2 2 ( hn  2  hn 1 ) hn 1 


0
1
 0 .......... .......... ....


Bước III:

bk 
dk 

SinhVienZone.com

a k 1  a k
hk
c k 1  c k
3hk




0


3 ( a 2  a1 )
3 ( a1  a 0 )


h1
h0








3(a3  a2 )
3 ( a 2  a1 )



h2
h1
e  



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



3 ( a n 1  a n  2 ) 
 3 ( a n  a n 1 )



hn 1
hn  2


0



h k ( 2 c k  c k 1 )

, k  0 ... n  1

3
,

k  0 

n 1
/>

VÍ DỤ NỘI SUY SPLINE (GHÉP TRƠN) BẬC 3
-------------------------------------------------------------------------------------------------------------------


om

Lập hàm nội suy spline bậc 3 g(x) thoả điều kiện biên

x0 = 1

Giá trò NS

y0 = 2

x1 = 2

x2 = 3

x3 = 4

y1 = 1

y2 = 3

y3 = 2

nh
Vi
en

Zo

ne


Mốc NS

.C

tự nhiên và nội suy bảng sau

a 0  b 0  x  1   c 0  x  1   d 0  x  1  , x  1 , 2 
3



2
3
S   a 1  b1  x  2   c 1  x  2   d 1  x  2  , x   2 , 3 

 a  b  x  3   c  x  3  2  d  x  3  3 , x  3 , 4 
2
2
2
2

Si

Hàm spline

2

Bước I: Độ dài bước chia
Hệ số:


h 0  h1  h 2  1 .

a k  y k , 0  k  3  a 0  2 , a 1  1, a 2  3 , a 3  2

SinhVienZone.com

/>

BẢNG TÍNH NỘI SUY SPLINE (GHÉP TRƠN) BẬC 3
-------------------------------------------------------------------------------------------------------------------------------

1

2

1

1

1

2

1

3
2

ck


0

0

0

0

dk

nh
Vi
en

3

ek

om

0

bk

.C

ak

ne


hk

Zo

k

Si

Bước II: c3 = g”(x3)/2  c = [c0, c1, c2, c3]T là nghiệm

III/ bk, dk, 0  k  2:
SinhVienZone.com

d0 

c1  c 0
3 h0

 b0 

a1  a 0
h0



/>
h 0  2 c 0  c1 
3





BÌNH PHƯƠNG CỰC TIỂU
---------------------------------------------------------------------------------------------------------

1

2

3

4

5

6

.C

Tháng

om

Thực nghiệm: Thống kê lượng mưa 12 tháng & vẽ đồ thò
7

Si

nh
Vi

en

Zo

ne

Lượng mưa 550 665 540 580 610 605 570

SinhVienZone.com

/>
8



PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU (BPCT)
---------------------------------------------------------------------------------------------------------------------

Nhiều dữ liệu & yk có sai số: p đặt L(xk) = yk: vô nghóa!

.C

om

Giải quyết: h(x) xấp xỉ bảng {(xk, yk)} theo nghóa BPCT
n



2


ne

F   h ( x k )  y k

hxk

Si

y  h(x)

nh
Vi
en

Zo

k 1

 min

SinhVienZone.com

/>
  yk


TRƯỜNG HP TUYẾN TÍNH
--------------------------------------------------------------------------------------------------------------------------


 F  a , b     ax

om

h tuyến tính: h(x) = ax + b

n



2

k 1

ne

.C

n
n
 n 2
a
x  b  xk   xk yk
F
  k
 0

 k 1
a
k 1

k 1



n
n
F
 0



a  x k  nb

b
 yk

 k 1
k 1

nh
Vi
en

Zo

Điểm dừng:

k

 b  yk


Giải hệ 2 phương trình 2 ẩn tìm a, b. So với đường cong y
= h1(x)  Tổng S =  (h1(xk) – yk)2: càng bé càng tốt

Si

VD: Tìm hàm bậc 1 xấp xỉ bảng sau theo nghóa BPCT
xk

1

2

3

4

5

6

7

yk

1.3

3.5

4.2


5.0

7.0

8.8

10.1

SinhVienZone.com

8

9

10

12.5 13. 15.6

/>

ĐA THỨC BÌNH PHƯƠNG CỰC TIỂU BẬC CAO
------------------------------------------------------------------------------------------------------------------------------

+ bx + c

n

 F a , b , c  


 ax

om

h(x) =

ax2

2
k

 bx

k

 c  yk



2

k 1


4
a  xk  b   c   

k 1

n


3
 a  xk  b   c   
 k 1
n

2
a
x
 
  k  b   nc
 k 1

ne

Zo

nh
Vi
en

Điểm dừng:

F
 0

a

F
 0


b

 0
F

c

.C

n

Si

Tổng quát: Điểm dừng hàm tổng bình phương độ lệch
h = ax2 + bx
SinhVienZone.com

n

 F a , b  

 ax
k 1

2
k

 bx


k

 yk



2



F
a

/>


F
b

 0


×