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

Chương 4: Nội suy và xấp xỉ hàm-[Phương pháp tính- BKHCM]

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 (240.02 KB, 15 trang )

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

Chương 4
NỘI SUY VÀ
XẤP XỈ HÀM

2

1

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

II. ĐA THỨC NỘY SUY LAGRANGE:
Cho hàm y = f(x) và bảng số

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).
3

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]=[x0, xn].
4


Đa thức

Đặt

n

n

p (x) =
(k )
n




( x − xi )



( x k − xi )

i = 0,i ≠ k
n
i = 0,i ≠ k

=

L n ( x ) = ∑ pn( k ) ( x ) yk
k =0

( x − x 0 )( x − x1 )...( x − x k −1 )( x − x k +1 )...( x − x n )
( x k − x 0 )( x k − x1 )...( x k − x k −1 )( x k − x k +1 )...( x k − x n )

có bậc ≤ n và thỏa điều kiện Ln(xk) = yk
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ố

Ta có
1
pn( k ) ( xi ) = 
0


i=k

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).

i≠k

6

5

Giải

n=2


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

( x − 1)( x − 3) 1 2
= ( x − 4 x + 3)
pn(0) ( x ) =
(0 − 1)(0 − 3) 3

n

đặt ω( x ) = ∏ ( x − xi )
n

i =0
n

( x − 0)( x − 3)
1
pn(1) ( x ) =
= − ( x 2 − 3x)
(1 − 0)(1 − 3)
2

ω '( x ) = ∑∏ ( x − xi )

( x − 0)( x − 1) 1 2
p (x) =
= (x − x)
(3 − 0)(3 − 1) 6




k =0 i=0
i≠k

(2)
n

pn( k ) ( x ) =

n

⇒ ω '( xk ) = ∏ ( xk − xi )
i =0
i≠k

ω(x)
ω '( xk )( x − xk )

yk
k = 0 ω '( x k )( x − x k )
n

⇒ Ln ( x ) = ω ( x )∑

Đa thức nội suy Lagrange
1
1
1
7

19
Ln ( x )= ( x 2 − 4 x + 3) + ( x 2 − 3 x ) + ( x 2 − x ) = x 2 − x + 1
3
2
3
6
6

yk
k = 0 Dk
n

⇒ Ln ( x ) = ω ( x )∑

f(2) ≈ Ln(2) = -2/3
7

với Dk = ω’(xk) (x-xk)
8


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

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

x0
x- x0


x1

x1- x0 x- x1


xn

x1
....
x0- x1 ....

....

....

xn
x0 - x n

D0

....

x1 - x n

D1

....

....




x- xn

Dn

xn- x0 xn- x1 ....

-9

-7

-4

y

-1

-4

-9

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

tích
dòng
tích đường chéo

ω(x)


x

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) ≈ Ln(-6) = -6(-1/30+4/6+9/30) = -5.6
10

9

• TH đặc biệt : các điểm nút cách đều
với bước h = xk+1 – xk

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

0

1

3

4

y

1

1

2

-1


Đặt

0

1

3

4

0
1
3
4

2
1
3
4

-1
1
2
3

-3
-2
-1
1


-4
-3
-1
-2

( 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

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

q=

-24
6
6
-24
4

Vậy f(2) ≈ Ln(2) = 4(-1/24 + 1/6 + 1/3 +1/24) = 2
11

⇒ ω(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
Dk = ω’(xk)(x-xk) = (-1)n-k k! (n-k)! (q-k)hn+1

12


giải

n

yk
k = 0 Dk

L n ( x ) = ω ( x )∑

Ta có

(−1)n − k yk
⇒ Ln ( x ) = q(q − 1)...(q − n)∑
k = 0 k !( n − k )!(q − k )
n

n=3
h = 0.1

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


Ln (1.25) = (1.5)(0.5)(−0.5)(−1.5)[−

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

1.1

1.2

1.3

1.4

y

15

18

19

24

15
18
19
24
+

+

]
3!(1.5) 2!(0.5) 2!(−0.5) 3!(−1.5)

= 18.375

Vậy f(1.25) ≈ 18.375

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

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

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

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

Mn +1 = max | f ( n +1) ( x ) |
x∈[ a , b ]

⇒ M5 = max |f(5)(x)| = 2(ln2)5
công thức sai số

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

| f ( x ) − Ln ( x ) |≤

14

Mn +1
| ω( x) |
(n + 1)!

| f ( x ) − Ln ( x ) |≤

15

M n+1
| ω( x) |
(n + 1)!

2(ln 2)5
=
| (0.45)(0.20)(−0.05)(−0.30)(−0.55) |= 0.198*10 −5
5!
16


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

Tỉ sai phân cấp 2

1. Tỉ sai phân :

f [ xk , xk +1 , xk + 2 ] =


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

Bằng qui nạp ta đònh nghóa tỉ sai phân cấp p
f [ xk , xk +1 , ... , xk + p ] =


f ( xk +1 ) − f ( xk )
f [ xk , xk +1 ] =
xk +1 − xk

Đại lượng

f [ xk +1 , xk + 2 ] − f [ xk , xk +1 ]
xk + 2 − xk

f [ xk +1 , xk + 2 , ... , xk + p ] − f [ xk , xk +1 , ... , xk + p −1 ]
xk + p − xk

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

18

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

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ỉ sai phân cấp 1
f [ x , x0 ] =

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

f ( x0 ) − f ( x )
x0 − x

⇒ f ( x ) = y0 + f [ x , x0 ]( x − x0 )

Giải : ta lập bảng 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

Tỉ sai phân cấp 2
f [ x, x0 , x1 ] =


f [ x0 , x1 ] − f [ x , x0 ]
x1 − x

⇒ f [ x , x0 ] = f [ x0 , x1 ] + f [ x , x0 , x1 ]( x − x1 )


19

f ( x ) = y0 + f [ x0 , x1 ]( x − x0 ) + f [ x , x0 , x1 ]( x − x0 )( x − x1 )
20


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

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

f ( x ) = y0 + f [ x0 , x1 ]( x − x0 ) + f [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + ...
+ f [ x0 , x1 ,..., xn ]( x − x0 )( x − x1 ) ... ( x − xn−1 )

ℵ(2)
( x) = yn + f [ xn−1, xn ]( x − xn ) + f [ xn−2 , xn−1, xn ]( x − xn )( x − xn−1 ) + ...
n

+ f [ x, x0 ,..., xn ]( x − x0 )( x − x1 ) ... ( x − xn )

Đặt

ℵ ( x ) = y0 + f [ x0 , x1 ]( x − x0 ) + f [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + ...
(1)
n


+ f [ x0 , x1 ,..., xn ]( x − x0 )( x − x1 ) ... ( x − xn −1 )

ℵ(1)
( x ) : đa thức nội suy Newton tiến
n
ℜn ( x ) : xác đònh sai số

f ( x ) = ℵ(1)
( x ) + ℜn ( x )
n

Ta có ℵ(1)
( x ) = ℵ(2)
( x ) = Ln ( x )
n
n

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

Để đánh giá sai số của đa thức nội suy Newton, ta
dùng công thức sai số của đa thức nội suy Lagrange
21

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

0


y

2

0.3

0.7

2.2599 2.5238

f (0.12) ≈ℵ(1)
(0.12)
n

2.7183

= 2 + 0.8663(0.12) − 0.2950(0.12)(−0.18) + 0.2786(0.12)(−0.18)(−0.58)
= 2.1138

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

f(xk)

0

2

f[xk,xk+1]


f[xk,xk+1,xk+2]

2.2599

0.7

2.5238

-0.2950
0.6598

= 2.6505

Newton tiến

0.2786
-0.0164

0.6483
2.7183

f (0.9) ≈ℵ(2)
(0.9)
n

f[xk,xk+1,xk+2,xk+3]

= 2.7183+ 0.6483(−0.1) −0.0164(−0.1)(0.2) + 0.2786(−0.1)(0.2)(0.6)

0.8663

0.3

22

Ta có

1

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

1

+ f [ x0 , x1,..., xn ]( x − xn )( x − xn−1 ) ... ( x − x1 )

ℵ(2)
( x ) : đa thức nội suy Newton lùi
n

ℜn ( x ) = f [ x , x0 ,..., xn ]( x − x0 )( x − x1 ) ... ( x − xn )

Ta được

f ( x ) = ℵ(2)
( x ) + ℜn ( x )
n

Newton lùi
23


24


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

Công thức Newton tiến

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

Đặt q =

( x − x0 )
h
(1)
ℵn ( x ) = y0 + f [ x0 , x1 ]( x − x0 ) + f [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + ...

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
f [ xk , xk +1 ,..., xk + p ] =

+ f [ x0 , x1 ,..., xn ]( x − x0 )( x − x1 ) ... ( x − xn −1 )
= y0 +

Công thức Newton lùi
( x − xn )
h
∆yn −1

∆ 2 yn − 2
∆ n y0
(2)
p+
p( p + 1) + ... +
p( p + 1)...( p + n − 1)
ℵn ( x ) = yn +
n!
1!
2!
Đặt p =

∆ p yk
p! h p
25

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

30

y

0.5

35
0.5736

40
0.6428


45
0.7071

f (32) ≈ℵ(1)
(32)
n
0.0736
0.0044
0.0005
(0.4) −
(0.4)(−0.6) −
(0.4)(−0.6)(−1.6)
1!
2!
3!
= 0.529936
= 0.5+

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

30

0.5

∆yk

∆2yk


0.0736
35

0.5736

40

0.6428
0.7071

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

-0.0044

f (44) ≈ℵ(2)
(44)
n

-0.0005
-0.0049

0.0643
45

∆3yk
Newton tiến

0.0692


26

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

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

∆y0
∆ 2 y0
∆ n y0
q+
q(q − 1) + ... +
q(q − 1)...(q − n + 1)
1!
2!
n!

0.0643
0.0049
0.0005
(−0.2) −
(−0.2)(0.8) −
(−0.2)(0.8)(1.8)
1!
2!
3!
= 0.694656
28

= 0.7071+

Newton lùi
27


IV. SPLINE bậc 3 :

1. Đònh nghóa :

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.

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

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

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(xk) = yk, k=0,1, …, n
(iii) Trên mỗi đoạn [xk,xk+1], g(x)=gk(x) là 1 đa
thức bậc 3, k=0,1,..,n-1
30

29

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’k(x) = bk+2ck(x-xk)+3dk(x-xk)2
g”k(x) = 2ck+6dk(x-xk)
g’k+1(x) = bk+1+2ck+1(x-xk+1)+3dk+1(x-xk+1)2
g”k+1(x) = 2ck+1+6dk+1(x-xk+1)

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
( A) gk ( xk +1 ) = gk +1 ( xk +1 )
(B) gk' ( xk +1 ) = gk' +1 ( xk +1 ), ∀k = 0,1,.., n − 1
(C ) gk" ( xk +1 ) = gk'' +1 ( xk +1 )

Điều kiện (A) suy ra
ak + bk hk + ck hk2 + dk hk3 = yk +1


bk =

( yk +1 − yk )
− ck hk − dk hk2
hk

(2)

(1)
31


32


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

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

2ck + 6dk hk = 2ck +1


dk =

(ck +1 − ck )
3hk

hk −1ck −1 + 2(hk −1 + hk )ck + hk ck +1 =

(3)

∀k = 1,2, ... , n − 1

Thay (3) vào (2) ta đước
( y − y ) (c + 2ck )hk
bk = k +1 k − k +1
3
hk

3( yk +1 − yk ) 3( yk − yk −1 )
(6)


hk
hk −1

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

(4)

Điều kiện (B) suy ra
bk + 2ck hk + 3dk hk2 = bk +1
hay

bk −1 + 2ck −1hk −1 + 3dk −1hk2−1 = bk

(5)
34

33

Phương trình (6) có số ẩn = n+1 > số pt nên 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) = β


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
0
0
...
0 


+
2(
)
0
...
0 
h
h
h
h
0
1
1
 0
0
2(h1 + h2 ) h2

...
0 
h1
A=

...
...
...
...
... 
 ...
 ...
...
...
hn−2 2(hn−2 + hn−1 ) hn−1 


0
0
0
...
1 
0

35



0



3(
)
y

y
3(
)
y

y
2
1

− 1 0 


h1
h0


b=
...

 3(y − y ) 3(y − y ) 
 n n−1 − n−1 n−2 
hn−1
hn−2





0

36 


Giải
n=2

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

( yk +1 − yk ) (ck +1 + 2ck )hk

, k = 0,1,..., n − 1
hk
3

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

(c − c )
dk = k +1 k
3hk

1

A =  h0
0



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



0
0
0  1 0 0

 0
3( y2 − y1 ) 3( y1 − y0 )   
 


2(h0 + h1 ) h1  =  2 10 3  , b = 

= 3

  
h
h
1
0
0
1   0 0 1 

  0 
0



 1 0 0  c0   0 

   
 2 10 3  c1  =  3 
 0 0 1  c   0 

 2   

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

37

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

theo bảng số

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

( y 1 − y 0 ) ( c1 + 2 c 0 ) h 0
1

=−
h0
3
5

b1 =

( y 2 − y 1 ) ( c 2 + 2 c1 ) h1
2

=
h1
3
5

d0 =

( c1 − c 0 )
( c − c1 )
1
1
=

, d1 = 2
=−
3 h0
20
3 h1
30

x

0

1

2

3

y

1

2

4

8

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


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

1
1 3
 g0 ( x ) = 1 − 5 x + 20 x
g( x ) = 
 g ( x ) = 1 + 2 ( x − 2) + 3 ( x − 2)2 − 1 ( x − 2)3
 1
5
10
30

38

1

h
A= 0
0

0

0≤ x≤2
2≤ x≤5
39

0
0
0  1

 
2(h0 + h1 )
h1
0  1
=
2(h1 + h2 ) h2   0
h1
 
0
0
1   0

0 0 0

4 1 0
1 4 1

0 0 1 
40


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



0


 3( y2 − y1 ) − 3( y1 − y0 )   0 


 3
h1
h0
b=
= 
 3( y3 − y2 ) 3( y2 − y1 )   6 


  0 
h2
h1

  


0



1

1
0

0

0

0


4

1

1
0

4
0

0   c0   0 
   
0   c1   3 
=
1   c2   6 
   
1   c3   0 

c0 = c3 = 0

⇒ 4c1 + c2 = 3
 c + 4c = 6
2
1

b0 =

( y 1 − y 0 ) ( c1 + 2 c 0 ) h 0 1 3
( y − y1 ) ( c 2 + 2 c1 ) h1 1 9


=

=
, b1 = 2
h0
h1
3
15
3
15

b2 =

( y 3 − y 2 ) ( c 3 + 2 c 2 ) h2
46

=
h2
3
15

d0 =

( c1 − c 0 )
(c − c2 )
( c − c1 ) 1
2
7
=
= , d2 = 3

=−
, d1 = 2
3 h0
15
3 h1
3
3 h2
15

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

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

4. Spline ràng buộc :


13
2 3
 g0 ( x ) = 1 + 15 x + 15 x

19
2
1

g( x ) =  g1 ( x ) = 2 + ( x − 1) + ( x − 1)2 + ( x − 1)3
15
5
3


46
7
7

2
3
 g2 ( x ) = 4 + 15 ( x − 2) + 5 ( x − 2) − 15 ( x − 2)


0 ≤ x ≤1
1≤ x ≤ 2
2≤ x≤3
42

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

Điều kiện g’(a) = α, g’(b) = β xác đònh 2 pt :

 2h0
0
0
...
0 
h0


2(
)
0
...

0
+
h
h
h
h
0
1
1
 0

 0
2(h1 + h2 ) h2
...
0 
h1
A=

...
...
...
...
... 
 ...
 ...
...
...
hn−2 2(hn−2 + hn−1 ) hn−1 



 0
0
0
0
2hn−1 
hn−1



y1 − y 0
− 3α
 2 h0 c 0 + h0 c1 = 3
h0


 h c + 2 h c = 3 β − 3 y n − y n −1
n −1 n
 n −1 n −1
hn − 1


Giải thuật xác đònh spline ràng buộc :
B1. Tính hk=xk+1- xk, k = 0, n-1.
ak= yk, k = 0, n

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

43




y −y
3 1 0 − 3α


h0


 3(y − y ) 3(y − y ) 
2
1

− 1 0 
h1
h0



b=
...


 3(yn − yn−1 ) 3(yn−1 − yn−2 ) 



hn−2
 hn−1




yn − yn−1


3
3
β



hn−1



bk =

( yk +1 − yk ) (ck +1 + 2ck )hk

, k = 0,1,..., n − 1
hk
3

dk =

(ck +1 − ck )
3hk

44



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

Ví dụ : Xây dựng spline ràng buộc nội suy hàm
theo bảng số
x

0

1

2

y

1

2

1

 2 h0
0  2 1
h0

 
2( h 0 + h1 ) h1  =  1 4
A =  h0
 0
h1
2 h1   0 1




y − y0
− 3α
3 1


h0

 

 3( y − y ) 3( y − y )   3 
1
0
2
1
 =  −6 

b=
h1
h0

 


  3 
y
y


2
1


3β − 3


h1



với điều kiện g’(0)=g’(2) = 0
Giải
n=2

0

1
2 

 2 1 0   c0   3 

   
 1 4 1   c1  =  −6  ⇒ c0 = 3, c1 = −3, c2 = 3
0 1 2c   3 

 2   

B1. ho = h1 = 1. ao = 1, a1 = 2, a2 = 1
45


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

( y 1 − y 0 ) ( c1 + 2 c 0 ) h 0

=0
h0
3

b1 =

( y 2 − y1 ) ( c 2 + 2 c1 ) h1

=0
h1
3

V. BÀI TOÁN XẤP XỈ THỰC NGHIỆM :
Xét bài toán thống kê lượng mưa trong 12 tháng
Thực nghiệm (k=1..12)
xk

(c − c0 )
( c − c1 )
d0 = 1
= − 2, d 1 = 2
=2
3 h0
3 h1


yk

1
2
3
4
550 650 540 580

5
610

6
7 8
605 ......

Các giá trò yk được xác đònh bằng đo đạc hay
thực nghiệm nên thiếu chính xác. Khi đó việc
xây dựng một đường cong đi qua tất cả các
điểm Mk(xk, yk) cũng không còn chính xác

Kết luận : spline ràng buộc
2
3
g0 (x) = 1+ 3x − 2x
g(x) = 
2
3
g1(x) = 2 − 3(x −1) + 2(x −1)


46

0 ≤ x ≤1
1≤ x ≤ 2
47

48


Bài toán xấp xỉ thực nghiệm : là tìm hàm f(x)
xấp xỉ bảng {(xk,yk)} theo phương pháp bình
phương cực tiểu :
g( f ) = ∑ ( f ( xk ) − yk )2 đạt min

- f(x) = AeBx
- f(x) = AxB
- f(x) = AlnBx …

g( A, B) = ∑ ( A + Bxk − yk )2


 ∂A
k
k

 ∂g = 2 ( A + Bx − y ) x = 0

k
k
k

 ∂B

Suy ra
49

1

1

2

2

2

3

3

4

5

6

1

2

2


3

4

4

5

5

6

7


nA + (∑ xk )B = ∑ yk

2
(∑ xk ) A + (∑ xk )B = ∑ xk y k

50

2. Trường hợp f(x) = Acosx + Bsinx :

Ví dụ : Tìm hàm f(x) = A + Bx xấp xỉ bảng số
x
y

Phương trình bình phương cực tiểu có dạng

Bài toán qui về tìm cực tiểu của hàm 2 biến
g(A,B)
 ∂g
Điểm dừng
= 2 ( A + Bx − y ) = 0

Hàm f tổng quát rất đa dạng. Để đơn giản,
trong thực tế thường ta tìm hàm f theo các
dạng sau :
- f(x) = A + Bx
- f(x) = A+Bx+Cx2
- f(x) = Asinx+Bcosx

1. Trường hợp f(x) = A+ Bx :

Phương trình bình phương cực tiểu có dạng
g( A, B) = ∑ ( A cos xk + B sin xk − yk )2

Theo pp BPCT
giải
Giải hệ pt

Bài toán qui về tìm cực tiểu của hàm 2 biến
g(A,B)
Điểm dừng ∂g = 2∑( A cos x + B sin x − y )cos x = 0
 ∂A
k
k
k
k


 ∂g = 2 ( A cos x + B sin x − y )sin x = 0
k
k
k
k
 ∂B ∑


nA + (∑ xk )B = ∑ yk
 10 A + 29 B = 39
⇒

2
(∑ xk ) A + (∑ xk )B = ∑ xk yk
29 A + 109 B = 140

Nghiệm A = 0.7671, B=1.0803
Vậy f(x) = 0.7671+1.0803x

Suy ra
51

(∑ cos2 xk )A + (∑ sin xk cos xk )B = ∑ yk cos xk

2
(∑ sin xk cos xk ) A + (∑ sin xk )B = ∑ yk sin xk
52



Ví dụ : Tìm hàm f(x)=Acosx+Bsinx xấp xỉ bảng số
x
y

10

20

30

40

50

1.45

1.12

0.83

1.26

1.14

Phương trình bình phương cực tiểu có dạng

rad

g( A, B) = ∑ ( Axk2 + B sin xk − yk )2


Theo pp BPCT

Bài toán qui về tìm cực tiểu của hàm 2 biến
g(A,B)
Điểm dừng ∂g
2
2

(∑cos xk )A + (∑sin xk cos xk )B = ∑ yk cos xk

2
(∑sin xk cos xk )A + (∑sin xk )B = ∑ yk sin xk
2

Giải hệ pt

3. Trường hợp f(x) = Ax2 + Bsinx :

 ∂A = 2∑( Axk + B sin xk − yk )xk = 0

 ∂g = 2 ( Ax2 + B sin x − y )sin x = 0
∑ k
k
k
k
 ∂B

 2.2703 A − 0.0735B = −0.3719
⇒
−0.0735 A + 2.7297B = 0.0533


Nghiệm A = -0.1633, B=0.0151

Suy ra

Vậy f(x) = -0.1633cosx+0.0151sinx

(∑ xk4 )A + (∑ xk2 sin xk )B = ∑ xk2 yk

2
2
(∑ xk sin xk ) A + (∑ sin xk )B = ∑ yk sin xk

53

Ví dụ : Tìm hàm f(x)=Ax2+Bsinx xấp xỉ bảng số
x
y

1.3

1.5

1.8

2.0

2.4

2.6


2.7

2.7

1.8

3.51

3.1

3.78

3.9

4.32

4. Trường hợp f(x) = A+ Bx+Cx2:
Phương trình bình phương cực tiểu có dạng
g( A, B, C ) = ∑ ( A + Bxk + Cxk2 − yk )2

Theo pp BPCT
Giải hệ pt

54

Bài toán qui về tìm cực tiểu của hàm 3 biến
g(A,B,C)
 ∂g
 ∂A = 2 ∑ ( A + B x + C x − y ) = 0

Điểm dừng 
 ∂g
= 2 ∑ ( A + Bx + C x − y ) x = 0

∂B

(∑ xk4 )A + (∑ xk2 sin xk )B = ∑ xk2 yk

2
2
(∑ xk sin xk ) A + (∑ sin xk )B = ∑ yk sin xk

 166.4355 A + 21.1563B = 112.015
⇒
 21.1563 A + 4.6033B = 17.0441

Suy ra

Nghiệm A = 0.4867, B=1.4657
Vậy f(x) = 0.4857x2 + 1.4657sinx
55

k

2
k

k

k


2
k

k

k


 ∂g
2
2
 ∂ C = 2 ∑ ( A + Bx k + C x k − y k ) x k = 0



nA + (∑ x k )B + (∑ x k2 )C = ∑ yk

2
3
(∑ x k ) A + (∑ x k ) B + (∑ x k )C = ∑ x k yk

2
3
4
2
(∑ x k ) A + (∑ xk )B + (∑ xk )C = ∑ x k yk

56



Ví dụ : Tìm hàm f(x) = A + Bx+Cx2 xấp xỉ bảng số
x
y

1

1

2

3

3

4.12

4.18

6.23

8.34

8.38

4
12.13

5
18.32


Theo pp BPCT
Giải hệ pt

nA + (∑ xk )B + (∑ xk2 )C = ∑ yk


2
3
(∑ xk ) A + (∑ xk )B + (∑ xk )C = ∑ xk y k

2
3
4
2
(∑ xk ) A + (∑ xk )B + (∑ xk )C = ∑ xk y k

 7 A + 19B + 65C = 61.70

⇒ 19 A + 65B + 253C = 211.04
65A + 253B + 1061C = 835.78


Nghiệm A = 4.3, B=-0.71, C=0.69
Vậy f(x) = 4.3-0.71x+0.69x2
57




×