chuong04

74
1 MÔN HỌC: PHƯƠNG PHÁP SỐ PHÉP NỘI SUY Và PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU CHƯƠNG 4

Upload: thanhchuongnl

Post on 18-Dec-2014

5.028 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Chuong04

1

MÔN HỌC:

PHƯƠNG PHÁP SỐ

PHÉP NỘI SUY Và PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU

CHƯƠNG 4

Page 2: Chuong04

2

4.1. Phép nội suy Giả sử có y phụ thuộc liên tục vào x có dạng y=f(x). Cần tính

f(c) với c bất kỳ thuộc [a,b]. Tuy nhiên: Không biết biểu thức tường minh của f(x) hoặc hoặc đã biết biểu thức

tường minh của f(x) nhưng khó khăn để tính f(c) Trong khi có thể xác định được các giá trị của y tại các giá trị rời rạc

của x:

(xi, yi), i=0,1,.., n gọi là các mốc

Xấp xỉ f(x) bởi g(x) tốt nhất theo một nghĩa nào đó Tính f(c) g(c) với cxi , i=0,..n

Nếu c(x0, xn): Bài toán nội suy, g(x) gọilà hàm nội suy.

Nếu c(x0, xn): Ngoại suy

x0 x1 x2 xn…

y0 y1 y2 yn…

x

y

Page 3: Chuong04

3

Nội suy đa thức Ta biết rằng: Mọi hàm sơ cấp đều có thể xấp xỉ bởi một đa thức. Có giải thuật tính dễ dàng giá trị của đa thức tại x= c. Cho n+1 mốc nội suy (x0,y0), (x1,y1), …, (xn, yn). Nội

suy đa thức là xấp xỉ hàm f(x) bởi một đa thức Pn(x) có bậc không quá n:

Pn(x) = anxn+an-1xn-1+…+a1x+a0

thỏa điều kiện Pn(xi)=f(xi)

Sai số: Rn(x)=f(x)-Pn(x)

Page 4: Chuong04

4

Ý nghĩa hình học

Pn(x)

Pn(c)

c

f(x)

x0 x1 x2 xn

Xấp xỉ đường cong f(x) bởi đa thức Pn(x) (với Pn(xi)=f(xi)). Ước lượng f(c) bởi Pn(c): f(c) Pn(c) với sai số Rn(c)

Rn(c)f(c)

Page 5: Chuong04

5

Nội suy đa thức

Định lý: Cho n+1 mốc nội suy (x0,y0), (x1, y1),…, (xn, yn). Đa thức nội suy bậc n tìm đượcdựa trên các mốc nội suy này là duy nhất.

Chứng minh: Giả sử tìm được 2 đa thức nội suy Pn(x) và Qn(x) và Pn(x) ≠ Qn(x). Xét hàm phụ:

un(x) = Pn(x) - Qn(x)

un(x) cũng là đa thức có bậc ≤ n

Hơn nữa: Pn(xi) = yi = Qn(xi) , i=0..n Pn(xi) - Qn(xi) = 0 , i=0..n

un(x) có ít nhất n+1 nghiệm x0, x1, .., xn. Vô lý (vì un(x) là đa thức có bậc ≤ n mà lại có nhiều hơn n nghiệm).

Vậy Pn(xi) Qn(xi)

Page 6: Chuong04

6

Tính giá trị của đa thức – thuật toán Horner (hạn chế số lượng phép tính)

Cho Pn(x)=anxn+an-1xn-1+…+a1x+a0

Có thể phân tích Pn(x) thành:

Pn(x)=((…(((anx+an-1)x+an-2)x+an-3)x+….a1)x+a0

Giải thuật tính Pn(c) hạn chế số phép tính:Input a,c

i=n-1;P=an

i>=0

P=P*c+ai

i--

Write P

(4.1.1)

Page 7: Chuong04

7

Tính giá trị của đa thức Nhận xét:

Tính theo cách thông thường (thay x = c vào đa thức)Số phép cộng: nSố phép nhân: n+(n-1)+(n-2)+…+2+1+0=n(n+1)/2

Tính theo thuật toán Horner:Số phép cộng: nSố phép nhân: n < n(n+1)/2

Page 8: Chuong04

8

Tính giá trị của đa thức

Ví dụ 4.1: Cho P4(x)=3x4+4x3+5x2-6x+2

Tính P4(2)=?

Tính theo cách thông thường, thay x=2 vào đa thức:

P4(2)=3.24+4.23+5.22-6.2+2=90

-Số phép nhân:10

- Số phép cộng: 4

Page 9: Chuong04

9

Tính giá trị của đa thức Tính theo thuật toán Horner:

p=3; i=3

i=3; p=p*2+a3=3*2+4=10

i=2; p=p*2+a2=10*2+5=25

i=1; p=p*2+a1=25*2-6=44

i=0; p=p*2+a0=44*2+2=90i=-1 Dừng

Kết quả: P4(2)=p=90Số phép nhân: 4 < 10Số phép cộng: 4

Page 10: Chuong04

10

1.1 Đa thức nội suy Lagrange Cho trước n+1 điểm mốc: (x0,y0),(x1,y1),…, (xn,yn) Đa thức nội suy Pn(x) theo Lagrange được xác định như sau:

Bước 1: Xác định các đa thức Lagrange cơ bản: li(n)(x) có dạng:

)(k 0

)(k 1)()(

i

ixl k

ni

nixx

xx

xxxxxxxxxx

xxxxxxxxxxxl

n

ijj ji

j

niiiiiii

niini

...,,3,2,0,

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

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

,0

1110

1110)(

(4.1.2)

Nhận xét:

Page 11: Chuong04

11

Đa thức nội suy Lagrange− Bước 2: Đa thức nội suy Lagrange Pn(x) được xác định bởi:

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

))...()((y

....

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

))...()((y

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

))...()((y

.)()(

120

110n

12101

201

02010

210

0 ;00

)(

nnnn

n

n

n

n

n

n

i

n

ijj ji

ji

n

i

nii

xxxxxx

xxxxxx

xxxxxx

xxxxxx

xxxxxx

xxxxxx

xx

xxyxlyxPn

(4.1.3)

Page 12: Chuong04

12

Đa thức nội suy Lagrange

Ví dụ 4.2: Xây dựng đa thức nội suy Lagrange cho hàm y=sin(x) rồi tính gần đúng sin(/5) với các mốc nội suy cho trong bảng:

x 0 1/6 1/2

y=sin(x) 0 1/2 1Giải: Các đa thức Lagrange cơ bản:

)21

0)(61

0(

)21

)(61

()(2

0

xxxl

(Không cần tính, vì y0=0)

Page 13: Chuong04

13

Đa thức nội suy Lagrange

?)

21

61

)(061

(

)21

)(0()(2

2

xxxl?

)21

61

)(061

(

)21

)(0()(2

1

xxxl

Thay x=1/5 vào P2(x) tìm được , ta có sin(/5) P2(1/5)=0,58

2

73

)61

21

)(021

(

)61

)(0(1

)21

61

)(061

(

)21

)(0(

2

1

)21

0)(61

0(

)21

)(61

(0

.)(

2

2

0

)2(2

xx

xxxxxx

lyxPi

ii

Đa thức nội suy Lagrange cần tìm

Page 14: Chuong04

14

Đa thức nội suy Lagrange Ví dụ 4.3: Tìm đa thức nội suy Lagrange đối với hàm y=f(x) được cho như

trong bảng

Giải Các đa thức Lagrange cơ bản:

015,0

015,023,09,0

)5,00)(3,00)(1,00(

)5,0)(3,0)(1,0()(

2330

xxxxxx

xl

)5,01,0)(3,01,0)(01,0(

)5,0)(3,0)(0()(3

1

xxx

xl

012,0

05,06,0

)5,03,0)(1,03,0)(03,0(

)5,0)(1,0)(0()(

2332

xxxxxxxl

(Không cần tính vì y1=0)

Tính gần đúng f(0,2)?

Page 15: Chuong04

15

Đa thức nội suy Lagrange

04,0

03,04,0

)3,05,0)(1,05,0)(05,0(

)3,0)(1,0)(0()(

2333

xxxxxxxl

5,012

9130

3

125

)()()()()(

23

333

322

311

300

03

xxx

xlyxlyxlyxlylyxPn

i

nii

Đa thức nội suy Lagrange P3(x) cần tìm:

Ta có: f(0,2) P3(0,2)=0,15

Page 16: Chuong04

16

Đánh giá sai số của đa thức nội suy Lagrange

Định lý Rolle: Nếu f(x) liên tục trên [a,b], khả vi tại mọi x(a,b) và f(a) = f(b) thì tồn tại ít nhất (a,b) sao cho f’()=0.

f(a)=f(b)

a b

y

x

f’()=0

f(a)=f(b)

a b

y

x1 2

f’(1)=0

f’(2)=0

Page 17: Chuong04

17

Đa thức nội suy Lagrange Áp dụng để đánh giá sai số khi tính f(c)Pn(c)? Giả sử f(x) có đạo hàm liên tục đến cấp n+1 trên [x0, xn]

Tìm phần dư có dạng:

n

iin xxkxPxfxF

0

)()()()(

Tìm k sao cho F(x) có ít nhất n+2 nghiệm (x0,x1,x2,…,xn và c)?

F(x) có n+2 nghiệm F’(x) có n+1 nghiệm (định lý Rolle) F’(x) có n+1 nghiệm F’’(x) có n nghiệm (định lý Rolle) … Tương tự: F(n+1)(x) có 1 nghiệm,ta gọi nghiệm này là .

n

iin xxkxR

01 )()(

Đặt:

Page 18: Chuong04

18

Đa thức nội suy Lagrange (tt)

0))(()()(f 0)( )1(

1

)1(1)(n)1(

nn

ii

nn

n xxkPF

)!1(

)( 0)!1.()(

x )!1())x-(x(k

x 0)(

)1()1(

0

)1(i

)1(

n

fknkf

nk

xP

nn

n

i

n

nn

Mà:

Vậy sai số cần tìm có dạng :

n

i

n

nn n

fxLxfxR

0i

)1(

1 )x-(x)!1(

)()()()(

(4.1.4)

Page 19: Chuong04

19

Đa thức nội suy Lagrange (tt) Nếu ),(x )( 0

)1(n

n xxMxf

Thì sai số của công thức Lagrange có thể được viết:

n

iin xx

n

MxR

01 )(

)!1()(

x 0 1/6 1/2

y=sin(x) 0 1/2 1

Ví dụ 4.4: Cho hàm y=sin(x), dùng đa thức nội suy Lagrange tính gần đúng sin(/5), đánh giá sai số. Biết các mốc nội suy:

(4.1.5)

Page 20: Chuong04

20

Đa thức nội suy Lagrange (tt)

xxxP2

73)( 2

2

58,05

1.

2

7)

5

1.(3)5/1()5/sin( 2

2 P

Sai số:

2

0

)3(

3 )(!3

)(sin)(

iixx

xxR

Mà: |Sin3(x)| = 3|cos(x)|3

Đa thức nội suy Lagrange tìm được:

|)2

1)(

6

1(|

6)(

6)(

32

0

3

3

xxxxxxRi

i

010335,0)2

1

5

1)(

6

1

5

1(

5

1

6)5/1(

3

3

R

Page 21: Chuong04

21

ChỌn mốc nội suy tối ưu Với công thức đánh giá sai số

)()1(

)()!1(

)()()( 10

1 xn

Mxx

n

MxLxfxR n

n

iinn

Cần chọn các xi [a;b] để )(max 1];[

xnbax

là nhỏ nhất

Nhận xét: Với phép biến đổi )](2[1

baxab

t

Thì đoạn [a;b] chuyển thành [-1;1]

Nên các mốc nội suy trên [a;b] đều có thể chuyển vềcác mốc nội suy trên [-1;1]

Page 22: Chuong04

22

ChỌn mốc nội suy tối ưu Đa thức Chebyshev:

1|)(max]1;1[

xTnx

Tn(x) = cos(n.arccosx) với |x|1, nN*

Tn+1(x) = 2x.Tn(x)-Tn-1(x)

Tn(x) là đa thức bậc n, hệ số cao nhất là 2n-1

Tính chất:

Nhận xét:

Tn(x) có đúng n nghiệm:

Mọi nghiệm của Tn(x) đều thuộc [-1;1]

1,...,2,1,0,)2

12cos(

ni

n

ixi

Khi x=xi= nin

i,...,2,1,0),cos(

(4.1.6)

Page 23: Chuong04

23

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

Trường hợp 1: Các các mốc nội trong [-1, 1], khi đó các mốc nội suy được chọn là nghiệm của Tn+1(x) :

nin

ixi ,..,1,0,

)1(2

)12(cos

)()( 11 xTx nn Khi đó

nnn xTx2

1)()( 11

nnn n

Mx

n

MxR

2

1.

)!1()(

)!1()( 11

(4.1.7)

Page 24: Chuong04

24

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

Trường hợp 2: Trường hợp các mốc nội suy được chọn trong [a, b] bất kỳ. Đặt:

)(

)2(

ab

baxt

11 t

Chọn các mốc ti theo trường hợp 1, suy ra các mốc xi

Page 25: Chuong04

25

Giải thuật tính gần đúng f(c) dựa trên đa thức nội suy Lagrange

Input: c và mảng {(x0, y0), (x1, y1),…,(xn,yn)} P=0; i=0,1,…,n

{//Tinh giá trị của da thuc Lagrange co ban thu ili= 1

◊ j=0,1,…,n

if i J then li = li* (c-xj)/(xi – xj)//Cộng yi*li vào kết quả

◊ p = p + yi * li;

} Return p;//p là giá trị gần đúng của f(c) tìm được

Page 26: Chuong04

26

1.2. Đa thức nội suy Newton

Hạn chế của đa thức nội suy Lagrange

Mỗi khi thêm mốc nội suy, ta phải tính lại toàn bộ đa thức (Các đa thức Lagrange cơ bản và đa thức nội suy Lagrange)

Đa thức nội suy Newton khắc phục hạn chế này

Page 27: Chuong04

27

Đa thức nội suy Newton Tỷ hiệu:

Giả sử hàm y=f(x) được cho ở dạng bảng:

x x0 x1 x2 … xn-1 xn

y y0 y1 y2 … yn-1 yn

Tỷ hiệu cấp 1 của hàm y=f(x) tại xi :

],[],[ 11

11 ii

ii

iiii xxf

xx

yyxxf

Tỷ hiệu cấp 2 của hàm y=f(x) tại xi :

ii

iiiiiii xx

xxfxxfxxxf

2

12121

],[],[],,[

Tổng quát, tỷ hiệu cấp k của hàm y=f(x) tại xi được tính dựa vào tỷ hiệu cấp k-1:

iki

kiikiikiii xx

xxfxxfxxxf

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

1(4.1.8)

Page 28: Chuong04

28

Đa thức nội suy Newton Tính chất của tỷ hiệu

Tỷ sai phân cấp n+1 của đa thức bậc n bằng 0.

Bảng tỷ hiệu

],...,,[],...,,[ 11 ikikikiii xxxfxxxf

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

.....

],,[

],,[

],[

],[

....][],[

],,[][

][

2012

121

1

1211

3213233

2102122

1011

00

nnnn

nnn

nn

nn

n

n

n

n

xxxfxxxf

xxxf

xxf

xxf

y

y

x

x

xxxfxxfyx

xxxfxxfyx

xxfyx

yx

Page 29: Chuong04

29

Giải thuật lập bảng tỷ hiệu Cho các điểm mốc (x0,y0),(x1,y1),…, (xn,yn).

Ma trận tỷ hiệu F cấp (n+1)x(n+2) //Khởi tạo F

for (i=0, i<=n ; i++) { fi0=xi; fi1=yi };

Tính fij còn lại for (j=2j<=n+1;j++)

//Tính tỷ hiệu cấp j-1

for (i=j-1, i<=n,i++) fij=(fi,j-1-fi-1,j-1)/(fi,0-fi-j+1,0)

Lưu ý: không dùng các fij với j>i+1

Page 30: Chuong04

30

Giải thuật lập bảng tỷ hiệu Hoặc có thể tính f[xi,xi+1,…,xj] bằng giải thuật đệ quy sau:

double Tyhieu(i,j)

{ if (j==i+1)

return (yj-yi)/(xj-xi);

else

return (Tyhieu(i+1,j)-Tyhieu(i,j-1))/(xj-xi);

}

Page 31: Chuong04

31

1.2.1. Đa thức nội suy Newton với các mốc bất kỳ

- Xét tỷ hiệu cấp 1:

0

00

)()(],[

xx

xPxPxxP nn

n

1

10010

],[],[],,[

xx

xxPxxPxxxP nn

n

- Xét tỷ hiệu cấp 2:

(4.1.9)

Gọi Pn(x) là đa thức nội suy cần tìm (Pn(xi)=yi)

Pn(x) có bậc n, Pn[x,x0] là đa thức có bậc n-1

Pn[x,x0,x1] là đa thức có bậc n-2

1

11020110

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

n

nnnnnn xx

xxxPxxxPxxxxP

- Xét tỷ hiệu cấp n:

Pn[x,x0,x1,…,xn-1] là đa thức có bậc 0

(4.1.10)

(4.1.11)

Page 32: Chuong04

32

1.2.1. Đa thức nội suy Newton với các mốc bất kỳ

Từ 4.1.9, ta có: ],[)()()( 000 xxPxxxPxP nnn

],,[)(],[],[ 101100 xxxPxxxxPxxP nnn

n

nnnnnnn xx

xxxPxxxPxxxxxP

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

110

- Xét tỷ hiệu cấp n+1:

(4.1.12)

Mà Pn[x,x0,x1,…,xm]=0 với m>n-1 nên:Pn[x,x0,…,xn-1]=Pn[x0,x1,…,xn]

Từ 4.1.10, ta có:….

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

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

1101110

110111020

nnnnnn

nnnnnnn

xxxxPxxxxxP

xxxxPxxxxxPxxxP

Từ 4.1.11,4.12 ta có:

Page 33: Chuong04

33

1.2.1. Đa thức nội suy Newton với các mốc bất kỳ

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

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

10110

210101000

nn

n

xxxfxxxxxx

xxxfxxxxxxfxxxfxP

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

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

10110

210101000

nnn

nnnn

xxxPxxxxxx

xxxPxxxxxxPxxxPxP

Cuối cùng, ta có:

(4.1.13)

Vậy],...,,[],...,,[

)()(

1010

000

nin

n

xxxfxxxP

xfyxP

Đa thức 4.1.13 gọi là đa thức nội suy Newton tiến xuất phát từ x0, thường dùng để tính gần đúng f(c) với c gần x0.

Page 34: Chuong04

34

1.2.1. Đa thức nội suy Newton với các mốc bất kỳ

(4.1.14)

Tương tự, ta cũng có đa nội nội suy Newton Lùi xuất phát từ xn: (thường dùng để tính gần đúng f(c) khi c gần xn)

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

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

0111

2111

xxxfxxxxxx

xxxfxxxxxxfxxxfxP

nnnn

nnnnnnnnnn

Đa thức nội suy Newton cũng chính là đa thức nội suy Lagrange chỉ khác về cách trình bày.

Nếu thêm một mốc (xn+1,yn+1), đa thức nội suy Pn+1(x) trên tập điểm mốc mới được tính theo Pn(x) như sau:

],...,,[))...()(()()( 110101 nnnn xxxfxxxxxxxPxP

Đánh giá sai số: Tương tự như đa thức nội suy Lagrange

Page 35: Chuong04

35

Đa thức nội suy Newton với các mốc bất kỳ

Lập bảng tỷ hiệu:

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

x1 y1 f[x2,x1] f[x3,x2,x1]

... … …

xn-2 yn-2 f[xn-1,xn-2] f[xn,xn-1,xn-2]

xn-1 yn-1 f[xn,xn-1]

xn yn

=(yn-yn-1)/(xn-xn-1)

=(f[xn,xn-1]-f[xn-1,xn-2])/(xn-xn-2)

=(f[xn,..x1]-f[xn-1..x0])/(xn-x0)

Page 36: Chuong04

36

Đa thức nội suy Newton với các mốc bất kỳ

],,[],[

],[

2102122

1011

00

xxxfxxfyx

xxfyx

yx

Ví dụ 4.5: Xây dựng đa thức nội suy theo phương pháp newton cho hàm y=sin(x) với các mốc nội suy cho trong bảng:

x 0 1/6 1/2

y=sin(x) 0 1/2 1

Lập bảng tỷ hiệu

Page 37: Chuong04

37

Đa thức nội suy Newton với các mốc bất kỳ

Đa thức nội suy cần tìm có dạng:

x

xxx

xxxfxxxxxxfxxxfxP

2

73x-

1/6)(-3)-(30

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

2

2101010002

Ví dụ 4.6: Tìm đa thức nội suy Newton cho hàm y=log10(x). Với các mốc nội suy trong bảng

Page 38: Chuong04

38

Bảng tỷ hiệu của y=log10(x)

Đa thức nội suy Newton với các mốc bất kỳ

)990

1).(10)(1(

9

1).1()1(

],,[))((

],[)()()(

21010

10002

xxxf

xxxfxxxx

xxfxxxfxP

990/190/12100

9/1110

01

],,[],[

],[

2102122

1011

00

xxxfxxfyx

xxfyx

yx

Đa thức cần tìm theo newton có dạng:

8910

1080

810

99

8910

9 2 xx

Page 39: Chuong04

39

Đa thức nội suy Newton lùi

22

1211

0120100

],[

],,[],[

yx

xxfyx

xxxfxxfyx

Ví dụ 4.7 : Tìm đa thức nội suy newton lùi cho hàm y=sin(x) với các mốc nội suy cho trong bảng:

x 0 1/6 1/2

y=sin(x) 0 1/2 1

Giải: Bảng tỷ hiệu

12/1

2/32/16/1

3300

Vậy đa thức nội suy Newton lùi xuất phát từ x2 là: p(x) = y2+(x-x2)f[x2,x1]+(x-x2)(x-x1)f[x2,x1,x0] = 1 +(x-1/2)(3/2)+(x-1/2)(x-1/6)(-3)=-3x2+(7/2)x

Page 40: Chuong04

40

Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ

Không đệ quy:• Cho các mốc nội suy (x0,y0), (x1,y1), …, (xn,yn)• Xây dựng ma trận tỷ hiệu TyHieucấp (n+1)x(n+2) (xem lại

giải thuật ở slide trước)• p=y0;• i=1,…, n :

begintich = 1;j=0;1,…i-1: tich = tich * (c-xj);P=P+tich*tyhieu[i][i+1];

end• Return p;

Page 41: Chuong04

41

Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ

Giải thuật đệ quy: Goi F(i,j) là tỷ hiệu f[xi, xi+1,,xj]. Ta có giải thuật đệ quy tính f(i,j) như sau:

F(int i, int j) {

if (j=i+1) return (yj-yi)/(xj-xi)

else

return (F(i+1,j)-F(i,j-1))/(xj-xi);

}

Page 42: Chuong04

42

Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton tiến với các mốc bất kỳ

Tính gần đúng f(c):p=y0;

i=1,1,…,n

begin

temp=1;

j=0,1,…,j-1: temp=temp*(c-xj);

p=p+temp*F(0,i);

end;

Page 43: Chuong04

43

Giải thuật tính gần đúng f(c) bằng đa thức nội suy newton lùi với các mốc bất kỳ

Cho các mốc nội suy (x0,y0), (x1,y1), …, (xn,yn) Xây dựng ma trận tỷ hiệu TyHieucấp (n+1)x(n+2)

p=yn; i=n-1,…, 0 ;

begintich = 1;j=n;n-1,…i+1: tich = tich * (c-xj);P=P+tich*tyhieu[i][n-i+1];

end

Return p;

Page 44: Chuong04

44

4.2.2.Đa thức nội suy Newton tiến-các mốc cách điều

xi+1-xi = h (hằng số) xi = x0 + ih

x0 xixi+1

h

ih

h

2h

x1 x2

Page 45: Chuong04

45

Đa thức nội suy Newton tiến-các mốc cách điều

Định nghĩa sai phân hữu hạn:

Sai phân tiến cấp 1 tại xi:

Sai phân tiến cấp 2 tại xi:

)()()( iii xfhxfxf

)()(2)(

)]()([)]()([

))()())(()(

12

2

iii

iiii

ii

xfxfxf

xfhxfhxfhhxf

xfhxfxfxf

Sai phân tiến cấp n tại xi được tính theo sai phân tiến cấp n-1:

))(()( 1i

ni

n xfxf

(4.1.15)

(4.1.16)

Page 46: Chuong04

46

Đa thức nội suy Newton tiến-các mốc cách điều Đa thức nội suy Newton tiến tổng quát

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

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

10110

210101000

nn

n

xxxfxxxxxx

xxxfxxxxxxfxxxfxP

Với: h

y

h

xf

xx

xfxfxxf 00

01

0110

)()()(],[

20

2

20

2

02

1021210 22

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

h

y

h

xf

xx

xxfxxfxxxf

n

n

hn

xfxxxxf

!

)(],,[ 0

3,210

n

n

n

n

hn

yxxxxxx

h

yxxxx

h

yxxxfxP

!))...()((

...2

))(()()()(

0110

20

2

100

00

Nên:

(4.1.17)

Page 47: Chuong04

47

Đa thức nội suy Newton tiến-các mốc cách điều

Đặt x = x0+th, ta có:

x - x0 = th

x - x1 = (x - x0) - (x1 - x0) = (t - 1)h

x – xn-1 = (x-x0) - (xn-1-x0) = (t – n + 1)h

Từ 4.1.17, ta có:

Với 0tn

(4.1.18)

Đa thức trong 4.1.18 gọi là đa thức nội suy Newton tiến xuất phát từ x0 với các mốc cách đều

002

00

0

.!

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

!2

)1(.

)()(

yn

ntttty

ttyty

thxPxP

n

nn

Page 48: Chuong04

48

Đa thức nội suy Newton tiến-các mốc cách điều

Sai phân tiến các cấp tại x0 có thể tính theo bảng:

yi yi 2yi … n-1yi nyi

y0 y0 2y0 n-1y0 ny0

y1 y1 2y1 n-1y1

y2 y2 2y2

yn-2 yn-2 2yn-2

yn-1 yn-1

yn

Page 49: Chuong04

49

Sai số

))...(2)(1()!1(

)(

)()(

1)1(

0

ntttthn

f

thxRxR

nn

(4.1.19)

Đa thức nội suy Newton tiến-các mốc cách điều

nn

nnn

nnn

yn

ntttty

ttyty

thxPxP

.!

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

!2

)1(.

)()(

2

Tương tự, bằng cách đặt x = xn + th, ta có đa thức nội suy Newton lùi với các mốc cách điều

(4.1.20)

Page 50: Chuong04

50

Đa thức nội suy Newton tiến-các mốc cách điều

Ví dụ: Cho hàm y=f(x) xác định bởi bảng:

Tính gần đúng f(4/3) bằng đa thức nội suy Newton (tiến)?

Giải: Ta thấy: xi+1-xi=1, i=0,1,…,n-1Nên các mốc nội suy là cách đềuĐặt x = x0+th=1+t ; x = 4/3 t = 1/3

Bảng sai phân hữu hạn:

Đa thức nội suy Newton: p(t) = y0+t.y0+(t2/2!) 2y0

= 2+ 5t + ½.t(t-1).2 = 2+4t+t2

f(4/3) p(1/3) = 31/9

Page 51: Chuong04

51

Đa thức nội suy Newton lùi xuất phát từ xn, trường hợp các mốc nội suy cách điều

Bảng sai phân hữu hạn cho đa thức nội suy newton lùi:

y y 2y … ny

y0

y1 y1

yn-2 yn-2

yn-1 yn-1 2yn-1

yn yn 2yn … nyn

Page 52: Chuong04

52

Ví dụ: Giá trị hàm Lgx (log cơ số 10) được cho trong bảng dưới. Tính gần đúng lg7=?

y 2y 3y

Tính Tính Tính

03

02

00

033

!3

)2)(1(

!2

)1(.

)()(

yttt

ytt

yty

thxPxP

Đa thức nội suy newton tiến xuất phát từ x0=5 có dạng

Page 53: Chuong04

53

Trong đó: x=x0 + th

Thay t=2/5 và các sai phân cấp 1, cấp 2,…, cấp n (dòng đầu tiên của bảng) ta được giá trị gần đúng của lg7 P3(7) = ?

Sai số: ? Bài tập

5

2

5

570

h

xxt

Page 54: Chuong04

54

4.1.3. Nội suy Spline

Thông thường, bậc của đa thức nội suy Lagrange, Newton tăng theo số lượng lấy mẫu (số lượng điểm mốc). Do vậy chi phí tính toán cũng tăng

Một phương pháp khác, thường dùng trong thực tế là nội suy bởi đa thức Spline bậc 3

Page 55: Chuong04

55

Nội suy spline Cho n+1 điểm mốc: (x0,y0), (x1,y1),..,(xn,yn), với xi+1-xi=h

Hàm nội suy cubic-spline tổng quát:

Với mỗi fi(x) là đa thức bậc 3 có dạng:

iiiiiiii dxxcxxbxxaxf )()()()( 23

)(

)(

...

)(

)(

)(

1

2

1

0

xf

xf

xf

xf

xf

n

n

nếu 10 xxx nếu 21 xxx

nếu 12 nn xxx nếu

nn xxx 1

(1)

(2)

Page 56: Chuong04

56

Nội suy spline (2)

2,...,2,0 )()(

2,...,2,0 )()(

2..2,0 )()(

1..1,0 )(

1''11

''

1'11

'

111

nixfxf

nixfxf

nixfxf

niyxf

iiii

iiii

iiii

iii (3)

(4)

(5)

(6)

Thỏa các tính chất:

f0(x)

f1(x)

f2(x)

f3(x)

x0 x1 x2 x3 x4

1)-n0,1,2,...,(i ? ,,, iiii dcba

Page 57: Chuong04

57

Nội suy spline (3)

Tính di?Từ pt (3): fi(xi)=yi

Hay: ai(xi-xi)3+bi(xi-xi)2+ci(xi-xi)+di = yi

di = yi

iiii

iiiiii

bxxaxf

cxxbxxaxf

2)(6)(

)(2)(3)(''

2'

Tính các hệ số khác?Bắt đầu từ:

(7)

(8)

Page 58: Chuong04

58

Nội suy spline (4) Đặt )('' iii xfM

Từ pt (8), ta có:

iiiiii bxxaxf 2)(6)('' Hay

2i

i

Mb i=0,1,…, n-1

Page 59: Chuong04

59

Nội suy spline (5)

Cũng từ (8), suy ra: 11''1 2)( iii bxf

ii

iiiiii

bha

bxxaxf

26

2)(6)( 11''

Theo pt (6) thì:

h

MM

h

bba

bbha

xfxf

iiiii

iii

iiii

66

22

226

)()(

11

1

1''11

''

2,..,1,0,61

nih

MMa ii

i

Hay:

Page 60: Chuong04

60

Nội suy spline (6)

Từ pt (4): fi(xi+1) = fi+1(xi+1)

Mà: fi+1(xi+1) = di+1

Và: fi(xi+1) = ai(xi+1-xi)3+bi(xi+1-xi)2+ci(xi+1-xi)+di

= aih3+bih2+cih+di-

di+1 = aih3+bih2+cih+di

)( 21 hbhah

ddc ii

iii

hMM

h

yyc iiii

i )6

2( 11

i=0,1,…,n-2

Page 61: Chuong04

61

Nội suy spline (7)

Cuối cùng, ta có:

ii

iiiii

ii

iii

yd

hMM

h

yyc

Mb

h

MMa

)6

2(

2

6

11

1

Để có được các ai, bi, ci, di, cần tìm các Mi!!!

Page 62: Chuong04

62

Nội suy spline (8) Từ pt (5): )()( 1

''11

' iiii xfxf

11112

1111''1 )(2)(3)( iiiiiiiii cxxbxxaxf

1 iciiiiiiiii cxxbxxaxf )(2)(3)( 1

211

''

iiiii chbhaxf 23)( 21

''

iiii chbhac 23 21

Với

Nên

i=0,1,…,n-2

Page 63: Chuong04

63

Nội suy spline (9)

hMM

h

yy

hM

hh

MMh

MM

h

yy

iiii

iiiiiii

)6

2(

22

63)

6

2(

11

211212

h

yy

h

yyh

MMh

MMh

Mh

h

MM iiiiiiiiiii

11212121 )6

2()

6

2(

22

63

2121211 2

)6

2()

6

2(

22

63

h

yyyMMMMMMM iiiiiiiiii

h

yyyh

MMh

MMh

Mh

h

MM iiiiiiiiii

1212121 2)

6

2()

6

2(

22

63

221

21

264

h

yyyMMM iii

iii

i=0,1,…,n-2

Page 64: Chuong04

64

Nội suy spline (10) Hay:

nnn

nnn

nnn

n

n

n

i

yyy

yyy

yyy

yyy

yyy

yyy

h

M

M

MM

M

M

M

M

12

123

334

432

321

210

2

1

2

3

3

2

1

0

2

2

2

..

..

2

2

2

6

1

0

0

0

0

0

0

0

410...0000

141...0000

014...0000

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

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

000...4100

000...1410

000...0141

Có n+1 cột nhung chỉ có n-1 dòng!!!

Page 65: Chuong04

65

Nội suy spline (11) Spline tự nhiên (Natural spline)

M0 = Mn = 0

Ta có:

nnn

nnn

nnn

yyy

yyy

yyy

yyy

yyy

yyy

h

12

123

334

432

321

210

2

1-n

2-n

3-n

4

3

2

2

2

2

..

..

2

2

2

6

M

M

M

...

...

M

M

M

4

1

0

...

...

0

0

0

10...0000

410...0000

001...0000

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

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

000...4100

000...1410

000...0014

Hệ có n -1 phương trình, n-1 biến. Giải hệ, tìm được M2, M3,M4,…,Mn-1,M0=0, Mn=0 Tính ai, bi, ci, di ?

Page 66: Chuong04

66

4.2. Phương pháp bình phương tối thiểu Giả sử có đại lượng y phụ thuộc vào đại lượng x nhưng chưa

biết công thức của . Qua đo đạt, thí nghiệm, quan sát,… ta có được bảng số liệu:

x x0 x1 x2 … xn

y y0 y1 y2 yn

Từ số liệu này, tìm ra công thức đúng (gọi là công thức nghiệm) của hàm y?

Nói chung, Không thể tìm công thức đúng của y. Chỉ có thể tìm được y ở một số dạng đơn giản:

y=ax+b; y=ax2+bx+c

y=acos(x)+bsin(x) y=aebx.

Page 67: Chuong04

67

Nội dung của phương pháp Gọi y=f(x) là công thức nghiệm cần tìm. Do các yi chỉ là giá trị thực nghiệm nên yif(xi)

Đặt i = yi – f(xi)

y0

x0 x1

y1

xi

yi

yn

xn

i

y=f(x)

f(xi)

f(x) cần tìm sao cho22

120 ... n bé nhất

Page 68: Chuong04

68

Công thức nghiệm dạng: y=ax+b(y phụ thuộc tuyến tính các hệ số)

Ta có:

nnn baxy

baxy

baxy

...111

000

nhỏ nhất a, b là nghiệm của hệ:

n

iibas

0

2),(

0

0

b

Sa

S

0

))((

0

))((

0

2

0

2

b

baxy

a

baxy

n

iii

n

iii

hay

Page 69: Chuong04

69

Công thức nghiệm dạng: y=ax+b(y phụ thuộc tuyến tính các hệ số)

0)1()(2

0))((2

0

0

n

iii

n

iiii

baxy

xbaxy

n

i

n

iii

n

iii

n

i

n

iii

ybnxa

yxxbxa

0

00 0

2

)1(

Giải hệ trên ta tìm được a,b.

Page 70: Chuong04

70

Ví dụ:

Sự phụ thuộc của y vào x cho như trong bảng:

Tìm công thức nghiệm dạng y=ax+b?

Giải: Các hệ số a, b là nghiệm của hệ:

5,65,55,25,04)3210(

5,6.35,5.25,2.15,0.0)3210()3210( 2222

ba

ba

?,1546

33614

baba

ba

X 0 1 2 3

y 0,5 2,5 5,5 6,5

Page 71: Chuong04

71

Công thức nghiệm dạng: y=ax2+bx+c(y phụ thuộc tuyến tính các hệ số)

Ta có:

nnnn cbxaxy

cbxaxy

cbxaxy

2

11211

00200

...

nhỏ nhất a, b, là nghiệm của hệ:

n

iicbas

0

2),,(

0

0

0

c

Sb

Sa

S

0)1()(2

0)()(2

0))((2

0

2

0

2

0

22

n

iiii

i

n

iiii

n

iiiii

cbxaxy

xcbxaxy

xcbxaxy

hay

Page 72: Chuong04

72

Công thức nghiệm dạng: y=ax2+bx+c(y phụ thuộc tuyến tính các hệ số)

iii

iiiii

iiiii

ycnbxax

yxcxbxax

yxcxbxax

)1()()(

)()()(

)()()(

2

23

2234

Giải hệ trên ta tìm đưọc a,b, c

Page 73: Chuong04

73

Ví dụ: Sự phụ thuộc của y vào x cho như trong bảng:

Tìm công thức nghiệm dạng y=ax2+bx+c?

Giải: ?????

X 0 1 2 3

y 0,5 -1,75 -1 1,25

Page 74: Chuong04

74

Công thức nghiệm dạng: y=aebx

(y không phụ thuộc tuyến tính các hệ số)

y=aebx (với a>0) Lấy logarit 2 vế, ta được: lgy = lga + (blge)x Đặt Y = lgy, X = x, A = blge, B=lga; Ta có: Y = AX+B Chuyển từ bảng :

Sang bảng

Áp dụng công thức đã biết, tìm A, B a, b?

x x0 x1 x2 … xn

y y0 y1 y2 … yn

X X0 X1 X2 … Xn

Y Y0 Y1 Y2 … Yn