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

Tài liệu Noisuy HK2 (Web) 0506 docx

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


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

PHƯƠNG PHÁP TÍNH – HK 2 0506
CHƯƠNG 3
NỘI SUY VÀ BÌNH PHƯƠNG CỰC TIỂU

TS. NGUYỄN QUỐC LÂN (04/2006)

NỘI DUNG

1- NỘI SUY ĐA THỨC LAGRANGE
2- SAI SỐ NỘI SUY LAGRANGE
5- BÌNH PHƯƠNG CỰC TIỂU
3- NỘI SUY NEWTON (MỐC CÁCH ĐỀU)
4- NỘI SUY GHÉP TRƠN (SPLINE) BẬC BA

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

x
k
: mốc nội suy, y
k
: giá trò (hàm) nội suy
Từ bảng này, nội suy giá trò y
bảng
tại điểm x = α?
Mốc nội suy x
0
x
1


… x = α ∉{ x
k
} … x
n-1
x
n

Giá trò nội suy y
0
y
1
… y = ? … y
n-1
y
n

Nội suy đa thức: Xác đònh đa thức y = P(x) thoả điều kiện
nội suy P(x
k
) = y
k
, k = 0 … n ⇒ y
bảng
≈ P(α)
Nội suy: Bảng chứa (n+1) cặp dữ liệu { (x
k
, y
k
) }, k = 0 → n


NỘI SUY ĐA THỨC LAGRANGE

Bảng chứa (n+1) cặp số liệu {(x
k
,y
k
)} , k = 0 → n
∃! đa thức L(x), bậc ≤ n, thoả đ/kiện nội suy L(x
k
) = y
k
, k = 0 … n
Cách 1: 3 mốc ⇒ n = 2 ⇒ L(x) = ax
2
+ bx + c (3 hệ số cần tìm)
Tìm đa thức nội suy Minh hoạ bảng 3 dữ liệu: {(x
k
,y
k
)} , k=0→2
Tại x = 3, y
bảng
≈?
Mốc nội suy x
k
2 2.5 4
Giá Trò nội suy y
k
0.5 0.4 0.25
( )

( )
( )





=
=
=
25.04
4.05.2
5.02
L
L
L





=++
=++
=++

25.0416
4.05.225.6
5.024
cba
cba

cba
y
bảng
≈ L(3) = 0.325

VÍ DỤ SAI SỐ

[ ]
( )
( )
( )
( ) ( )
xn
n
ba
xxxx
n
xf
xLxf
tại suy Nội
∆=−−
+
≤−
+

0
1
,
!1
max

)()(
Sai số:
Giải:
( )
[ ] [ ]
2
5
144,100
)3(
,
8
3
max)(max

==⇒= xxfMxxf
ba
( ) ( )
≤− 115115 Lf
( )( )( )
144115121115100115
!3
1
M −−−⋅⋅
Kết quả: Nhắc lại: Sai số: luôn làm tròn lên!
Ước lượng sai số của việc xấp xỉ giá trò

bằng đa thức
nội suy Lagrange bậc hai hàm y =

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

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

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

Đa thức nội suy cơ sở tại x
k
: L
k
(x
k
) = 1, L
k
(x
i
) = 0 ∀ i ≠ k
( )
( )( )
( )( )
45.225.2
42
1

−−
−−
=
xx
xL
( )
( )( )
( )( )
5.2424
5.22
2
−−
−−
=
xx
xL
Đa thức nội suy: L(x) = 0.5L
0
(x) + 0.4L
1
(x) + 0.25L
2
(x)
Mốc NS 2 2.5 4
Giá Trò NS 0.5 0.4 0.25
ĐTNSCS L
0
(x) 1 0 0
ĐTNSCS L
1

(x) 0 1 0
ĐTNSCS L
2
(x) 0 0 1
Thiết lập công thức tổng quát với (n + 1) mốc {(x
k
, y
k
)}?
3 mốc ⇒ 3 ĐT NSCS
( )
xL
0
( )
xL
1
( )
xL
2
( )
xL
( )( )
( )( )
425.22
45.2
)(
0
−−
−−
=

xx
xL

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
cơ sở L
k
(x) tại x
k
(k = 0 … n): L
k
(x
k
) = 1, L
k
(x
i
) = 0 ∀ i ≠ k:
( )
( ) ( ) ( ) ( ) ( )



=======
=
+−
0
1
1110 nkkkkkkk

kk
xLxLxLxLxL
xL

( ) ( )( ) ( )
( ) ( )( ) ( )
nk
xxxxxxxx
xxxxxxxx
xL
nkkkkkk
nkk
k
≤≤
−−−−
−−−−
=
+−
+−
0,)(
110
110


)()()()(
1100
xLyxLyxLyxL
nn
+++=⇒
 suy nội thức Đa

Ư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 {x
k
} (0 ≤ k ≤ n), không phụ thuộc y
k

VÍ DỤ

Bảng 4 mốc 1, 2, 3, 4 ; 4 giá trò 5, 7, 8, 9. Viết ra biểu thức
các đa thức nội suy cơ sở. Tính giá trò bảng tại x = 3.5?
=
)5.3(
2
L
=
)5.3(
3
L
( )
( )( )( )
( )( )( )
413121
432
0
−−−
−−−
=
xxx
xL
( )

0625.05.3
0
=⇒
L
( )
( )( )( )
( )( )( )
=
−−−
−−−
=
423212
45.335.315.3
5.3
1
L
( )
)(98)(7)(5)(
3210
xLxLxLxLxL
+++=
( )
4375.85.3
=⇒
L
Viết biểu thức L
k
(x) (Không tính!) Thay x → Giá trò

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


Bảng {(x
k
,y
k
)} , k = 0 → n, mốc nội suy cách đều: x
0
, x
1
=
x
0
+ h, x
2
= x
1
+ h … x
n
= x
n-1
+ h. Lập bảng sai phân :
Mốc NS Gtrò NS

x
0
y
0

x
1

y
1

x
2
y
2

x
3
y
3

k
y

k
y
2

k
y
3

0
y

1
y


2
y

0
2
y

1
2
y

0
3
y


2
y
k
= ∆y
k+1
– ∆y
k

Cấp 1: ∆y
k
= y
k+1
– y
k

Ví dụ: ∆y
0
= y
1
– y
0

2
3
x
k
y
k
∆y ∆
2
y
1 2
2 4
3 7
1
VD: Bảng sai
phân 3 mốc
(cách đều)

ĐA THỨC NỘI SUY NEWTON

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

xx
t
0

=
⇔ x = x
0
+th ⇒ Đa thức nội suy tiến:
( )
( )
00
2
00
!
)1()1(
!2
1
y
n
nttt
y
tt
ytyxN
n

+−−
++∆

+∆+=



Đa thức nội suy Newton lùi: x ≈ x
n
(cuối bảng)
h
xx
t
n

=
⇔ x = x
n
+ th ⇒ Đa thức nội suy lùi:
( )
( )
02
2
1
!
)1(
!2
1
y
n
ntt
y
tt
ytyxN
n
nnn


−+
++∆
+
+∆+=
−−


Đa thức theo t & Sai phân nằm trên đường chéo tiến
Sai phân nằm trên đường chéo lùi (từ cuối bảng đi lên)

VÍ DỤ NỘI SUY NEWTON

Cho bảng giá trò sinx từ 15° → 55°. Xây dựng đa
thức nội suy tiến (lùi) cấp 3 & tính sin16° (sin54°)
x y ∆y ∆
2
y ∆
3
y
15 0.2588
20 0.3420
25 0.4226
30 0.5
35 0.5736
40 0.6428
45 0.7071
50 0.7660
55 0.8192


VÍ DỤ NỘI SUY NEWTON

Tất cả sai phân: Nội suy Newton ≡ Lagrange!
Đa thức nội suy tiến: x ≈ 15°
( ) ( )( )
!3
21
0006.0
2
1
0026.00832.02588.0)(
1
−−


−+=
ttttt
ttN
tx
x
t 515
5
15
+=⇔

=⇒
x = 16° ⇒
t = 0.2 ⇒ N
1
(0.2) = 0. 2756

sin16° = 0. 2756
Đa thức nội suy lùi: x ≈ 55°
tx
x
t 555
5
55
+=⇔

=⇒
( ) ( )( )
!3
21
0003.0
2
1
0057.00532.08192.0)(
2
++

+
−+=
ttttt
ttN
x = 54°

t = –0.2 ⇒ N
2
(–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?

HIỆN TƯNG RUNGE

Nội suy hàm f(x) = 1/(1+ 25x
2
), x ∈ [-1, 1] bằng đa
thức nội suy, 5 mốc cách đều. Tính L(0.95), so sánh
giá trò tính được với giá trò chính xác f(0.95)
Lập bảng nội suy: 5 mốc cách đều trên [–1, 1] ⇒
x
0
= –1, x
1
= –0.5, x
2
= 0, x
3
= 0.5, x
4
= 1 & y
k
= f(x
k
)
038.0
138.0
1
138.0
038.0

Giá trò L(0.95) = Giá trò chính xác f(0.95) = 0.04
x
k
–1 –0.5 0. 0.5 1.
y
k

KẾT QUẢ

So sánh đồ thò hàm ban đầu f(x) và đa thức nội suy P
4
(x)
Tăng số nút có thể khiến sai số tăng!

NỘI SUY GHÉP TRƠN

Nội suy Lagrange: Bậc quá lớn ⇒ Đồ thò phức tạp
Thay đa thức
nội suy bậc n
bằng đa thức
nội suy bậc
thấp (bậc 1, 2,
3 …) trên từng
đoạn
[x
k
, x
k+1
],
k = 0 … n – 1


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

[ ]
10
, xx
[ ]
21
, xx
[ ]
32
, xx
( )
xS
0
( )
xS
1
( )
xS
2
( ) ( )
( ) ( )
( ) ( )





=

=
=
1110
1110
1110
''''
''
xSxS
xSxS
xSxS
( )
0''
00
=
xS
( )
000
yxS
=
( )
110
yxS
=

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
hàm đến cấp 2 nội suy bảng số liệu sau:
Hàm nội suy:
( )

( )
[ ]
( )
[ ]



∈+++=
∈+++=
=
3,2,
2,1,
3
1
2
1111
3
0
2
0000
xxdxcxbaxS
xxdxcxbaxS
xS
Dạng thuận tiện hơn:
( )
( ) ( )
[ ]
( ) ( )
[ ]




∈+−+=
∈+−+=
=
3,2,2
2,1,1
111
000
xxbaxS
xxbaxS
xS


x 1 2 3
y 2 3 –4

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

1/ Hàm dạng bậc 3 trên từng đoạn [x
k
,x
k+1
], k = 0 → n –1
2/ Điều kiện nội suy: S(x
k
) = y
k
, k = 0, 1 … n
3/ Ghép trơn:


4/ Điều kiện biên tự nhiên: S’’(x
0
) = S’’(x
n
) = 0






( ) ( )
111
+++
=
kkkk
xSxS
( ) ( )
111
''
+++
=
kkkk
xSxS
( ) ( )
111
""
+++
=

kkkk
xSxS
( )
20
−→=
nk
( ) ( ) ( )
[ ]
( ) ( ) ( )
[ ]
( ) ( )
[ ]







∈+−+−+=
∈−+−+−+=
∈−+−+−+=
=
−−−−−−− nnnnnnnn
xxxxxcxxbaS
xxxxxdxxcxxbaS
xxxxxdxxcxxbaS
S
,,
,,

,,
1
2
111111
21
3
11
2
111111
10
3
00
2
000000



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

I/ Độ dài h
k
= x
k+1
– x
k
, k = 0 … n –1. Hệ số a
k
= y
k
, k = 0 … n

Bước III:
II/ c = [c
0
, … c
n
]
T
là nghiệm (c
n
= S’’(x
n
)/2) hệ Ac = e với



















+
+
+
=
−−−−
10 0
)(20

0)(20
00)(2
00001
1122
2211
1100
nnnn
hhhh
hhhh
hhhh
A











































=

−−


0
)(3)(3

)(3)(3
)(3)(3
0
2
21
1
1
1
12
2
23
0
01
1
12
n
nn
n
nn
h
aa
h

aa
h
aa
h
aa
h
aa
h
aa
e
1 0,
3
)2(
11
−=
+


=
++
nk
cch
h
aa
b
kkk
k
kk
k
10,

3
1
−=

=
+
nk
h
cc
d
k
kk
k


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

Lập hàm nội suy spline bậc 3 g(x) thoả điều kiện biên
tự nhiên và nội suy bảng sau
Bước I: Độ dài bước chia

.1
210
===
hhh
Mốc NS x
0
= 1 x
1
= 2 x

2
= 3 x
3
= 4
Giá trò NS y
0
= 2 y
1
= 1 y
2
= 3 y
3
= 2





=
S
( ) ( ) ( )
[ ]
2,1,111
3
0
2
000
∈−+−+−+
xxdxcxba
( ) ( ) ( )

[ ]
3,2,222
3
1
2
111
∈−+−+−+
xxdxcxba
( ) ( ) ( )
[ ]
4,3,333
3
2
2
222
∈−+−+−+
xxdxcxba
Hàm spline

2,3,1,230,
3210
====⇒≤≤=
aaaakya
kk
Hệ số:


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

Bước II: c

3
= g”(x
3
)/2 ⇒ c = [c
0
, c
1
, c
2
, c
3
]
T
là nghiệm

k h
k
a
k
b
k
e
k
c
k
d
k

0 1 2 0 0
1 1 1

2 1 3
3 2 0 0
III/ b
k
, d
k
, 0 ≤ k ≤ 2:


0
01
0
3h
cc
d

=
( )

3
2
100
0
01
0
cch
h
aa
b
+



=

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

Thực nghiệm: Thống kê lượng mưa 12 tháng & vẽ đồ thò
Tháng 1 2 3 4 5 6 7 8
Lượng mưa 550 665 540 580 610 605 570 …

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

Nhiều dữ liệu & y
k
có sai số: p đặt L(x
k
) = y
k
: vô nghóa!
)(xhy
=
( )
kk
yxh

[ ]
min)(
1
2
→−=


=
n
k
kk
yxhF
Giải quyết: h(x) xấp xỉ bảng {(x
k
, y
k
)} theo nghóa BPCT

TRƯỜNG HP TUYẾN TÍNH

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

=
−+=⇒
n
k
kk
ybaxbaF
1
2
,
Điểm dừng:







=


=


0
0
b
F
a
F







=+
=+

∑∑
∑∑∑
==
===

n
k
k
n
k
k
n
k
kk
n
k
k
n
k
k
ynbxa
yxxbxa
11
111
2
Giải hệ 2 phương trình 2 ẩn tìm a, b. So với đường cong y
= h
1
(x) ⇔ Tổng S = Σ (h
1
(x
k
) – y
k
)

2
: càng bé càng tốt
VD: Tìm hàm bậc 1 xấp xỉ bảng sau theo nghóa BPCT
x
k
1 2 3 4 5 6 7 8 9 10
y
k
1.3 3.5 4.2 5.0 7.0 8.8 10.1 12.5 13. 15.6

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

h(x) = ax
2
+ bx + c
( )
[ ]

=
−++=⇒
n
k
kkk
ycbxaxcbaF
1
2
2
,,
Điểm dừng:









=


=


=


0
0
0
c
F
b
F
a
F










=++
=++
=++




=
=
=



ncbxa
cbxa
cbxa
n
k
k
n
k
k
n
k
k
1

2
1
3
1
4
Tổng quát: Điểm dừng hàm tổng bình phương độ lệch
h = ax
2
+ bx
( )
[ ]

=
−+=⇒
n
k
kkk
ybxaxbaF
1
2
2
,
0
=


=




b
F
a
F

×