trungkstn.wordpress.com
Nội suy SPLINE bậc 3
Nếu sử dụng phương pháp nội suy đa thức thì bậc của phương trình lớn.
Ở đây trình bày phương pháp nội suy spline bậc 3. Phương pháp này ngoài ưu điểm so với phương
pháp nội suy đa thức (polyminal interpolation) là số bậc nhỏ hơn và tránh được hiện tượng Runge.
Trong mặt phẳng tọa độ Decart cho n+1 điểm (nút) có tọa độ là (xi,yi) Với i = 0,n
Bài toán đặt ra ở đây là xây dựng được đường cong đi qua n+1 điểm này và thỏa mãn đạo hàm cấp
cấp 1, cấp 2 của đường cong liên tục.
Ý tưởng ở đây là xây dựng các đường cong bậc 3 đi qua 2 điểm (xi,yi) và (xi+1,yi+1) khi biết tiếp tuyến
của đường cong tại hai điểm đó. Tức là ta cần xây dựng một hàm: y=fi(x) thỏa mãn điều kiện sau
yi = fi(xi) (1)
yi+1 = fi(xi+1) (2)
y୧
ᇱ
= f୧
ᇱ
(x୧) (3)
y୧ାଵ
ᇱ
= f୧
ᇱ
(x୧ାଵ) (4)
Khi đó fi(x) với x ∈ ሾx୧, x୧ାଵሿ có dạng sau
f୧ሺxሻ = a଴୧ + aଵ୧x + aଶ୧xଶ
+ aଷ୧xଷ
(5)
Khi đó fi(x) có dạng sau
f୧ሺxሻ = ሺ1 − tሻy୧ + ty୧ାଵ + t(1 − t)ሾa୧ሺ1 − tሻ + b୧tሿ (6)
Với ݅ = 0, ݊ − 1തതതതതതതതതത
Trong đó
t =
୶ି୶౟
୶౟శభି୶౟
(7)
a୧ = y୧
ᇱ
ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧) (8)
b୧ = −y୧ାଵ
ᇱ
ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧) (9)
Chứng minh
Thay các phương trình (1) (2) (3) và (4) vào (5) ta có
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 2x୧ 3x୧
ଶ
1 x୧ାଵ x୧ାଵ
ଶ
x୧ାଵ
ଷ
0 1 2x୧ାଵ 3x୧ାଵ
ଶ
‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
= ൦
y୧
y୧
ᇱ
y୧ାଵ
y୧ାଵ
ᇱ
൪ (10)
Giải hệ (6) để tìm các a୨୧. Giải hệ trên như sau
trungkstn.wordpress.com
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
1 x୧ାଵ x୧ାଵ
ଶ
x୧ାଵ
ଷ
0 1 2x୧ 3x୧
ଶ
0 1 2x୧ାଵ 3x୧ାଵ
ଶ
‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
= ൦
y୧
y୧ାଵ
y୧
ᇱ
y୧ାଵ
ᇱ
൪
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 x୧ − x୧ାଵ x୧
ଶ
− x୧ାଵ
ଶ
x୧
ଷ
− x୧ାଵ
ଷ
0 1 2x୧ 3x୧
ଶ
0 0 2x୧ − 2x୧ାଵ 3x୧
ଶ
− 3x୧ାଵ
ଶ
‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
= ൦
y୧
y୧ − y୧ାଵ
y୧
ᇱ
y୧
ᇱ
− y୧ାଵ
ᇱ
൪
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 1 2x୧ 3x୧
ଶ
0 0 2 3(x୧ + x୧ାଵ) ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
y୧
ᇱ
− y୧ାଵ
ᇱ
x୧ − x୧ାଵ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 x୧ − x୧ାଵ ሺx୧ − x୧ାଵሻ(2x୧ + x୧ାଵ)
0 0 2 3(x୧ + x୧ାଵ) ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
−
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
− y୧ାଵ
ᇱ
x୧ − x୧ାଵ ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 x୧ − x୧ାଵ ሺx୧ − x୧ାଵሻ(2x୧ + x୧ାଵ)
0 0 2 3(x୧ + x୧ାଵ) ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
−
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
− y୧ାଵ
ᇱ
x୧ − x୧ାଵ ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 1 2x୧ + x୧ାଵ
0 0 2 3(x୧ + x୧ାଵ) ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
x୧ − x୧ାଵ
−
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଶ
y୧
ᇱ
− y୧ାଵ
ᇱ
x୧ − x୧ାଵ ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
trungkstn.wordpress.com
‫ۏ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 1 2x୧ + x୧ାଵ
0 0 0 x୧ − x୧ାଵ ‫ے‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
x୧ − x୧ାଵ
−
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଶ
2
y୧
ᇱ
x୧ − x୧ାଵ
− 2
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଶ
−
y୧
ᇱ
− y୧ାଵ
ᇱ
x୧ − x୧ାଵ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
‫ۏ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 1 2x୧ + x୧ାଵ
0 0 0 1 ‫ے‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱ
x୧ − x୧ାଵ
−
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଶ
y୧
ᇱ
+ y୧ାଵ
ᇱ
ሺx୧ − x୧ାଵሻଶ
− 2
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଷ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
Từ đó ta có
aଷ୧ =
y୧
ᇱ
+ y୧ାଵ
ᇱ
ሺx୧ − x୧ାଵሻଶ
− 2
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଷ
aଶ୧ =
y୧
ᇱ
x୧ − x୧ାଵ
−
y୧ − y୧ାଵ
ሺx୧ − x୧ାଵሻଶ
− ሺ2x୧ + x୧ାଵሻaଷ୧
aଵ୧ =
y୧ − y୧ାଵ
x୧ − x୧ାଵ
− ሺx୧ + x୧ାଵሻaଶ୧ − ൫x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
൯aଷ୧
a଴୧ = y୧ − x୧aଶ୧ − x୧
ଶ
aଵ୧ − x୧
ଷ
aଷ୧
Nếu biến x được thay bởi biến t và t ∈ ሾ0,1ሿ tức là t୧ = 0 và t୧ାଵ = 1 thì
aଷ୧ = y୧
ᇱ
+ y୧ାଵ
ᇱ
+ 2ሺy୧ − y୧ାଵሻ
aଶ୧ = −y୧
ᇱ
− ሺy୧ − y୧ାଵሻ − ሾy୧
ᇱ
+ y୧ାଵ
ᇱ
+ 2ሺy୧ − y୧ାଵሻሿ = −3ሺy୧ − y୧ାଵሻ − 2y୧
ᇱ
− y୧ାଵ
ᇱ
aଵ୧ = −(y୧ − y୧ାଵ) − ሾ−3ሺy୧ − y୧ାଵሻ − 2y୧
ᇱ
− y୧ାଵ
ᇱ ሿ − ሾy୧
ᇱ
+ y୧ାଵ
ᇱ
+ 2ሺy୧ − y୧ାଵሻሿ = y୧
ᇱ
a଴୧ = y୧
Khi đó
f୧ሺtሻ = y୧ + y୧
ᇱ
t + ሾ−3ሺy୧ − y୧ାଵሻ − 2y୧
ᇱ
− y୧ାଵ
ᇱ ሿtଶ
+ ሾy୧
ᇱ
+ y୧ାଵ
ᇱ
+ 2ሺy୧ − y୧ାଵሻሿtଷ
với t ∈ ሾ0,1ሿ
Có thể viết lại hàm y=fi(t) như sau
f୧ሺtሻ = y୧ሺ1 − 3tଶ
+ 2tଷሻ + y୧ାଵሺ3tଶ
− 2tଷሻ + y୧
ᇱ
ሺt − 2tଶ
+ tଷሻ + y୧ାଵ
ᇱ
ሺ−tଶ
+ tଷሻ
= y୧ሺ1 − tሻ + y୧ାଵt + ሺy୧ − y୧ାଵሻtሺt − 1ሻሺ2t − 1ሻ + tሺt − 1ሻଶ
y୧
ᇱ
+ tଶሺt − 1ሻy୧ାଵ
ᇱ
= y୧ሺ1 − tሻ + y୧ାଵt + tሺ1 − tሻሾሺ1 − tሻሺy୧
ᇱ
+ y୧ − y୧ାଵሻ − t(y୧ାଵ
ᇱ
+ y୧ − y୧ାଵ)ሿ
Hay f୧ሺtሻ = y୧ሺ1 − tሻ + y୧ାଵt + tሺ1 − tሻሾሺ1 − tሻሺy୧
ᇱ
+ y୧ − y୧ାଵሻ − t(y୧ାଵ
ᇱ
+ y୧ − y୧ାଵ)ሿ Với t ∈ ሾ0,1ሿ
Giờ quay trở lại bài toán với x ∈ ሾx୧, x୧ାଵሿ . Ta sử dụng phép biến đổi:
t =
x − x୧
x୧ାଵ − x୧
trungkstn.wordpress.com
df
dx
=
df
dt
dt
dx
=
df
dt
1
x୧ାଵ − x୧
Do đó: f୧ሺxሻ = ሺ1 − tሻy୧ + ty୧ାଵ + t(1 − t)ሾa୧ሺ1 − tሻ + b୧tሿ
Trong đó
t =
x − x୧
x୧ାଵ − x୧
a୧ = y୧
ᇱ
ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧)
b୧ = −y୧ାଵ
ᇱ
ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧)
Từ đó ta có ĐPCM.
Bây giờ đảm bảo cho hàm vừa xây dựng có đạo hàm cấp 2 liên tục. Ta cần tìm các giá trị y୧
ᇱ
hợp lý để
điều kiện này được thỏa mãn.
Ta có
f୧
ᇱᇱ
ሺxሻ = 2
b୧ − 2a୧ + (a୧ − b୧)3t
(x୧ାଵ − x୧)ଶ
Tính giá trị đạo hàm cấp hai tại các điểm nút
f୧
ᇱᇱ
ሺx୧ሻ = 2
b୧ − 2a୧
(x୧ାଵ − x୧)ଶ
f୧
ᇱᇱ
ሺx୧ାଵሻ = 2
a୧ − 2b୧
(x୧ାଵ − x୧)ଶ
Điều kiện liên tục của đạo hàm cấp 2 tương đương với
f୧
ᇱᇱ
ሺx୧ାଵሻ = f୧ାଵ
ᇱᇱ
ሺx୧ାଵሻ
a୧ − 2b୧
(x୧ାଵ − x୧)ଶ
=
b୧ାଵ − 2a୧ାଵ
(x୧ାଶ − x୧ାଵ)ଶ
y୧
ᇱ
ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧) − 2ሾ−y୧ାଵ
ᇱ
ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧)ሿ
(x୧ାଵ − x୧)ଶ
=
−y୧ାଶ
ᇱ
ሺx୧ାଶ − x୧ାଵሻ + (y୧ାଶ − y୧ାଵ) − 2ሾy୧ାଵ
ᇱ
ሺx୧ାଶ − x୧ାଵሻ − (y୧ାଶ − y୧ାଵ)ሿ
(x୧ାଶ − x୧ାଵ)ଶ
y୧
ᇱ
x୧ାଵ − x୧
+ 2
y୧ାଵ
ᇱ
x୧ାଵ − x୧
− 3
(y୧ାଵ − y୧)
(x୧ାଵ − x୧)ଶ
= −
y୧ାଶ
ᇱ
x୧ାଶ − x୧ାଵ
− 2
y୧ାଵ
ᇱ
x୧ାଶ − x୧ାଵ
+ 3
y୧ାଶ − y୧ାଵ
(x୧ାଶ − x୧ାଵ)ଶ
y୧
ᇱ
x୧ାଵ − x୧
+ 2y୧ାଵ
ᇱ
൬
1
x୧ାଵ − x୧
+
1
x୧ାଶ − x୧ାଵ
൰ +
y୧ାଶ
ᇱ
x୧ାଶ − x୧ାଵ
= 3 ൤
y୧ାଵ − y୧
(x୧ାଵ − x୧)ଶ
+
y୧ାଶ − y୧ାଵ
(x୧ାଶ − x୧ାଵ)ଶ൨
(11)
Với i = 0, n − 2തതതതതതതതതത
trungkstn.wordpress.com
Tại điểm mút bên trái và bên phải. Giả sử rằng
f଴
ᇱᇱሺx଴ሻ = 0
f୬ିଵ
ᇱᇱ ሺx୬ሻ = 0
b଴ − 2a଴
ሺxଵ − x଴ሻଶ
= 0 ⟺
−yଵ
ᇱ ሺxଵ − x଴ሻ + ሺyଵ − y଴ሻ − 2ሾy଴
ᇱ ሺxଵ − x଴ሻ − ሺyଵ − y଴ሻሿ
ሺxଵ − x଴ሻଶ
= 0
⟺ 2
y଴
ᇱ
xଵ − x଴
+
yଵ
ᇱ
xଵ − x଴
= 3
ሺyଵ − y଴ሻ
ሺxଵ − x଴ሻଶ
(12)
a୬ିଵ − 2b୬ିଵ
(x୬ − x୬ିଵ)ଶ
= 0 ⟺
y୬ିଵ
ᇱ ሺx୬ − x୬ିଵሻ − ሺy୬ − y୬ିଵሻ − 2ሾ−y୬
ᇱ ሺx୬ − x୬ିଵሻ + ሺy୬ − y୬ିଵሻሿ
(x୬ − x୬ିଵ)ଶ
= 0
⟺
y୬ିଵ
ᇱ
x୬ − x୬ିଵ
+ 2
y୬
ᇱ
x୬ − x୬ିଵ
= 3
ሺy୬ − y୬ିଵሻ
ሺx୬ − x୬ିଵሻଶ
(13)
Từ các phương trình (11) (12) và (13) ta suy ra hệ phương trình. Giải hệ này để tìm các y୧
ᇱ
Nhận thấy rằng phương pháp trên giả thiết đã biết giá trị hàm tại các điểm nút và đạo hàm cấp 1 của
hàm liên tục tại từng nút (do đó liên tục trên cả miền đang xét). Với giả thiết đó tìm được hàm dạng
bậc 3 trong từng đoạn được xét. Sau đó áp dụng giả thiết hàm liên tục đến đạo hàm cấp 2 để tìm ra
các hệ thức liên hệ (11) (12) và (13). Từ các hệ thức liên hệ tìm được giá trị đạo hàm cấp 1 tại các
điểm nút.
Với ý tưởng như vậy và đó cũng là phương pháp được trình bày trên trang web wikipedia. Giờ đây
ta lợi dụng phương pháp đó nhưng có một số thay đổi. Bài toán đặt ra sẽ như sau: Giả thiết biết giá
trị của hàm tại các điểm nút và đạo hàm cấp 2 của hàm liên tục tại từng nút (do đó liên tục trên cả
miền được xét). Với giả thiết đó sẽ tìm hàm bậc 3 trong từng khoảng khảo sát. Sau đó với hàm tìm
được ta áp điều kiện đạo hàm cấp 1 của hàm liên tục để tìm ra các hệ thức liên hệ.
Bài toán: Xây dựng một hàm: y=fi(x) thỏa mãn điều kiện sau
yi = fi(xi) (14)
yi+1 = fi(xi+1) (15)
y୧
ᇱᇱ
= f୧
ᇱᇱ
(x୧) (16)
y୧ାଵ
ᇱᇱ
= f୧
ᇱᇱ
(x୧ାଵ) (17)
Khi đó fi(x) với x ∈ ሾx୧, x୧ାଵሿ có dạng sau
f୧ሺxሻ = a଴୧ + aଵ୧x + aଶ୧xଶ
+ aଷ୧xଷ
(18)
Thay các phương trình (14) (15) (16) và (17) vào (18) ta có
‫ۏ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 0 2 6x୧
1 x୧ାଵ x୧ାଵ
ଶ
x୧ାଵ
ଷ
0 0 2 6x୧ାଵ‫ے‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
= ൦
y୧
y୧
ᇱᇱ
y୧ାଵ
y୧ାଵ
ᇱᇱ
൪ (19)
trungkstn.wordpress.com
‫ۏ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
1 x୧ାଵ x୧ାଵ
ଶ
x୧ାଵ
ଷ
0 0 1 3x୧
0 0 1 3x୧ାଵ‫ے‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
= ൦
y୧
y୧ାଵ
y୧
ᇱᇱ
2⁄
y୧ାଵ
ᇱᇱ
2⁄
൪
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 x୧ − x୧ାଵ x୧
ଶ
− x୧ାଵ
ଶ
x୧
ଷ
− x୧ାଵ
ଷ
0 0 1 3x୧
0 0 0 3(x୧ − x୧ାଵ)‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
y୧
ᇱᇱ
2
y୧
ᇱᇱ
− y୧ାଵ
ᇱᇱ
2 ‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
‫ۏ‬
‫ێ‬
‫ێ‬
‫ۍ‬
1 x୧ x୧
ଶ
x୧
ଷ
0 1 x୧ + x୧ାଵ x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
0 0 1 3x୧
0 0 0 1 ‫ے‬
‫ۑ‬
‫ۑ‬
‫ې‬
൦
a଴
aଵ
aଶ
aଷ
൪
୧
=
‫ۏ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ێ‬
‫ۍ‬
y୧
y୧ − y୧ାଵ
x୧ − x୧ାଵ
y୧
ᇱᇱ
2
y୧
ᇱᇱ
− y୧ାଵ
ᇱᇱ
6(x୧ − x୧ାଵ)‫ے‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ۑ‬
‫ې‬
Từ đó
aଷ୧ =
y୧
ᇱᇱ
− y୧ାଵ
ᇱᇱ
6(x୧ − x୧ାଵ)
aଶ୧ =
y୧
ᇱᇱ
2
− 3aଷ୧x୧
aଵ୧ =
y୧ − y୧ାଵ
x୧ − x୧ାଵ
− aଶ୧ሺx୧ + x୧ାଵሻ − aଷ୧(x୧
ଶ
+ x୧x୧ାଵ + x୧ାଵ
ଶ
)
a଴୧ = y୧ − aଵ୧x୧ − aଶ୧x୧
ଶ
− aଷ୧x୧
ଷ
Nếu biến x được thay bởi biến t và t ∈ ሾ0,1ሿ tức là t୧ = 0 và t୧ାଵ = 1 thì
aଷ୧ =
y୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
6
aଶ୧ =
y୧
ᇱᇱ
2
aଵ୧ = y୧ାଵ − y୧ − aଶ୧ − aଷ୧ = y୧ାଵ − y୧ −
y୧ାଵ
ᇱᇱ
+ 2y୧
ᇱᇱ
6
a଴୧ = y୧
Do đó
f୧ሺtሻ = y୧ + ቆy୧ାଵ − y୧ −
y୧ାଵ
ᇱᇱ
+ 2y୧
ᇱᇱ
6
ቇt +
y୧
ᇱᇱ
2
tଶ
+ ቆ
y୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
6
ቇ tଷ
Với t ∈ ሾ0,1ሿ
Chú ý đến biểu thức sau: ሺ1 − tሻଷ
= 1 − 3t + 3tଶ
− tଷ
trungkstn.wordpress.com
Viết lại như sau
f୧ሺtሻ =
y୧ାଵ
ᇱᇱ
6
tଷ
+
y୧
ᇱᇱ
6
ሺ−tଷ
+ 3tଶ
− 3t + 1ሻ + ቆy୧ାଵ − y୧ −
y୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
6
ቇ t −
y୧
ᇱᇱ
6
+ y୧
=
y୧ାଵ
ᇱᇱ
6
tଷ
+
y୧
ᇱᇱ
6
(1 − t)ଷ
+ (y୧ାଵ −
y୧ାଵ
ᇱᇱ
6
)t + (y୧ −
y୧
ᇱᇱ
6
)(1 − t)
Giờ quay trở lại bài toán với x ∈ ሾx୧, x୧ାଵሿ . Ta sử dụng phép biến đổi:
t =
x − x୧
x୧ାଵ − x୧
dଶ
f
dxଶ
=
dଶ
f
dtଶ
1
ሺx୧ାଵ − x୧ሻଶ
Do đó
f୧ሺxሻ =
y୧ାଵ
ᇱᇱ
ሺx୧ାଵ − x୧ሻଶ
6
൬
x − x୧
x୧ାଵ − x୧
൰
ଷ
+
y୧
ᇱᇱ
ሺx୧ାଵ − x୧ሻଶ
6
൬
x୧ାଵ − x
x୧ାଵ − x୧
൰
ଷ
+ ቈy୧ାଵ −
y୧ାଵ
ᇱᇱ
ሺx୧ାଵ − x୧ሻଶ
6
቉
x − x୧
x୧ାଵ − x୧
+ ቈy୧ −
y୧
ᇱᇱ
ሺx୧ାଵ − x୧ሻଶ
6
቉
x୧ାଵ − x
x୧ାଵ − x୧
Đặt h୧ = x୧ାଵ − x୧
f୧ሺxሻ =
y୧ାଵ
ᇱᇱ
6h୧
ሺx − x୧ሻଷ
+
y୧
ᇱᇱ
6h୧
ሺx୧ାଵ − xሻଷ
+ ቈy୧ −
y୧
ᇱᇱ
h୧
ଶ
6
቉
x୧ାଵ − x
h୧
+ ቆy୧ାଵ −
y୧ାଵ
ᇱᇱ
h୧
ଶ
6
ቇ
x − x୧
h୧
(20)
Bây giờ tìm điều kiện để đạo hàm cấp 1 liên tục tại từng nút.
f୧
ᇱ
ሺxሻ =
y୧ାଵ
ᇱᇱ
2h୧
ሺx − x୧ሻଶ
−
y୧
ᇱᇱ
2h୧
ሺx୧ାଵ − xሻଶ
+
1
h୧
ቈሺy୧ାଵ − y୧ሻ −
ሺy୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
ሻh୧
ଶ
6
቉
f୧
ᇱ
ሺx୧ሻ = −
y୧
ᇱᇱ
h୧
2
+
1
h୧
ቈሺy୧ାଵ − y୧ሻ −
ሺy୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
ሻh୧
ଶ
6
቉
f୧ିଵ
ᇱ
ሺx୧ሻ =
y୧
ᇱᇱ
h୧ିଵ
2
+
1
h୧ିଵ
ቈሺy୧ − y୧ିଵሻ −
ሺy୧
ᇱᇱ
− y୧ିଵ
ᇱᇱ
ሻh୧ିଵ
ଶ
6
቉
Theo điều kiện liên tục của đạo hàm cấp 1 ta có
f୧
ᇱ
ሺx୧ሻ = f୧ିଵ
ᇱ
ሺx୧ሻ
Hay
−
y୧
ᇱᇱ
h୧
2
+
1
h୧
ቈሺy୧ାଵ − y୧ሻ −
ሺy୧ାଵ
ᇱᇱ
− y୧
ᇱᇱ
ሻh୧
ଶ
6
቉ =
y୧
ᇱᇱ
h୧ିଵ
2
+
1
h୧ିଵ
ቈሺy୧ − y୧ିଵሻ −
ሺy୧
ᇱᇱ
− y୧ିଵ
ᇱᇱ
ሻh୧ିଵ
ଶ
6
቉
⇔
h୧ିଵ
6
y୧ିଵ
ᇱᇱ
+
h୧ିଵ + h୧
3
y୧
ᇱᇱ
+
h୧
6
y୧ାଵ
ᇱᇱ
=
y୧ାଵ − y୧
h୧
−
y୧ − y୧ିଵ
h୧ିଵ
(21)
trungkstn.wordpress.com
Tại các nút
f଴
ᇱሺx଴ሻ = 0 và f୬ିଵ
ᇱ ሺx୬ሻ = 0
f଴
ᇱሺx଴ሻ = −
y଴
ᇱᇱ
h଴
2
+
1
h଴
ቈሺyଵ − y଴ሻ −
ሺyଵ
ᇱᇱ
− y଴
ᇱᇱሻh଴
ଶ
6
቉ = 0
⇔ 2y଴
ᇱᇱ
+ yଵ
ᇱᇱ
= 6
yଵ − y଴
h଴
ଶ
(22)
f୬ିଵ
ᇱ ሺx୬ሻ =
y୬
ᇱᇱ
h୬ିଵ
2
+
1
h୬ିଵ
ቈሺy୬ − y୬ିଵሻ −
ሺy୬
ᇱᇱ
− y୬ିଵ
ᇱᇱ ሻh୬ିଵ
ଶ
6
቉ = 0
⇔ y୬ିଵ
ᇱᇱ
+ 2y୬
ᇱᇱ
= 6
y୬ − y୬ିଵ
h୬ିଵ
ଶ
(23)
Từ (21) (22) và (23) ta giải hệ để tìm các giá trị y୧
ᇱᇱ
.
Hai bài toán trên tùy vào các bài toán cụ thể và có những sự thay đổi một các hợp lý.

Noi suy spline bac 3 v2

  • 1.
    trungkstn.wordpress.com Nội suy SPLINEbậc 3 Nếu sử dụng phương pháp nội suy đa thức thì bậc của phương trình lớn. Ở đây trình bày phương pháp nội suy spline bậc 3. Phương pháp này ngoài ưu điểm so với phương pháp nội suy đa thức (polyminal interpolation) là số bậc nhỏ hơn và tránh được hiện tượng Runge. Trong mặt phẳng tọa độ Decart cho n+1 điểm (nút) có tọa độ là (xi,yi) Với i = 0,n Bài toán đặt ra ở đây là xây dựng được đường cong đi qua n+1 điểm này và thỏa mãn đạo hàm cấp cấp 1, cấp 2 của đường cong liên tục. Ý tưởng ở đây là xây dựng các đường cong bậc 3 đi qua 2 điểm (xi,yi) và (xi+1,yi+1) khi biết tiếp tuyến của đường cong tại hai điểm đó. Tức là ta cần xây dựng một hàm: y=fi(x) thỏa mãn điều kiện sau yi = fi(xi) (1) yi+1 = fi(xi+1) (2) y୧ ᇱ = f୧ ᇱ (x୧) (3) y୧ାଵ ᇱ = f୧ ᇱ (x୧ାଵ) (4) Khi đó fi(x) với x ∈ ሾx୧, x୧ାଵሿ có dạng sau f୧ሺxሻ = a଴୧ + aଵ୧x + aଶ୧xଶ + aଷ୧xଷ (5) Khi đó fi(x) có dạng sau f୧ሺxሻ = ሺ1 − tሻy୧ + ty୧ାଵ + t(1 − t)ሾa୧ሺ1 − tሻ + b୧tሿ (6) Với ݅ = 0, ݊ − 1തതതതതതതതതത Trong đó t = ୶ି୶౟ ୶౟శభି୶౟ (7) a୧ = y୧ ᇱ ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧) (8) b୧ = −y୧ାଵ ᇱ ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧) (9) Chứng minh Thay các phương trình (1) (2) (3) và (4) vào (5) ta có ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 2x୧ 3x୧ ଶ 1 x୧ାଵ x୧ାଵ ଶ x୧ାଵ ଷ 0 1 2x୧ାଵ 3x୧ାଵ ଶ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ൦ y୧ y୧ ᇱ y୧ାଵ y୧ାଵ ᇱ ൪ (10) Giải hệ (6) để tìm các a୨୧. Giải hệ trên như sau
  • 2.
    trungkstn.wordpress.com ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 1x୧ାଵ x୧ାଵ ଶ x୧ାଵ ଷ 0 1 2x୧ 3x୧ ଶ 0 1 2x୧ାଵ 3x୧ାଵ ଶ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ൦ y୧ y୧ାଵ y୧ ᇱ y୧ାଵ ᇱ ൪ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 x୧ − x୧ାଵ x୧ ଶ − x୧ାଵ ଶ x୧ ଷ − x୧ାଵ ଷ 0 1 2x୧ 3x୧ ଶ 0 0 2x୧ − 2x୧ାଵ 3x୧ ଶ − 3x୧ାଵ ଶ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ൦ y୧ y୧ − y୧ାଵ y୧ ᇱ y୧ ᇱ − y୧ାଵ ᇱ ൪ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 1 2x୧ 3x୧ ଶ 0 0 2 3(x୧ + x୧ାଵ) ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ y୧ ᇱ − y୧ାଵ ᇱ x୧ − x୧ାଵ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 x୧ − x୧ାଵ ሺx୧ − x୧ାଵሻ(2x୧ + x୧ାଵ) 0 0 2 3(x୧ + x୧ାଵ) ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ − y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ − y୧ାଵ ᇱ x୧ − x୧ାଵ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 x୧ − x୧ାଵ ሺx୧ − x୧ାଵሻ(2x୧ + x୧ାଵ) 0 0 2 3(x୧ + x୧ାଵ) ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ − y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ − y୧ାଵ ᇱ x୧ − x୧ାଵ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 1 2x୧ + x୧ାଵ 0 0 2 3(x୧ + x୧ାଵ) ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ x୧ − x୧ାଵ − y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଶ y୧ ᇱ − y୧ାଵ ᇱ x୧ − x୧ାଵ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬
  • 3.
    trungkstn.wordpress.com ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 01 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 1 2x୧ + x୧ାଵ 0 0 0 x୧ − x୧ାଵ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ x୧ − x୧ାଵ − y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଶ 2 y୧ ᇱ x୧ − x୧ାଵ − 2 y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଶ − y୧ ᇱ − y୧ାଵ ᇱ x୧ − x୧ାଵ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 1 2x୧ + x୧ାଵ 0 0 0 1 ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱ x୧ − x୧ାଵ − y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଶ y୧ ᇱ + y୧ାଵ ᇱ ሺx୧ − x୧ାଵሻଶ − 2 y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଷ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ Từ đó ta có aଷ୧ = y୧ ᇱ + y୧ାଵ ᇱ ሺx୧ − x୧ାଵሻଶ − 2 y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଷ aଶ୧ = y୧ ᇱ x୧ − x୧ାଵ − y୧ − y୧ାଵ ሺx୧ − x୧ାଵሻଶ − ሺ2x୧ + x୧ାଵሻaଷ୧ aଵ୧ = y୧ − y୧ାଵ x୧ − x୧ାଵ − ሺx୧ + x୧ାଵሻaଶ୧ − ൫x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ ൯aଷ୧ a଴୧ = y୧ − x୧aଶ୧ − x୧ ଶ aଵ୧ − x୧ ଷ aଷ୧ Nếu biến x được thay bởi biến t và t ∈ ሾ0,1ሿ tức là t୧ = 0 và t୧ାଵ = 1 thì aଷ୧ = y୧ ᇱ + y୧ାଵ ᇱ + 2ሺy୧ − y୧ାଵሻ aଶ୧ = −y୧ ᇱ − ሺy୧ − y୧ାଵሻ − ሾy୧ ᇱ + y୧ାଵ ᇱ + 2ሺy୧ − y୧ାଵሻሿ = −3ሺy୧ − y୧ାଵሻ − 2y୧ ᇱ − y୧ାଵ ᇱ aଵ୧ = −(y୧ − y୧ାଵ) − ሾ−3ሺy୧ − y୧ାଵሻ − 2y୧ ᇱ − y୧ାଵ ᇱ ሿ − ሾy୧ ᇱ + y୧ାଵ ᇱ + 2ሺy୧ − y୧ାଵሻሿ = y୧ ᇱ a଴୧ = y୧ Khi đó f୧ሺtሻ = y୧ + y୧ ᇱ t + ሾ−3ሺy୧ − y୧ାଵሻ − 2y୧ ᇱ − y୧ାଵ ᇱ ሿtଶ + ሾy୧ ᇱ + y୧ାଵ ᇱ + 2ሺy୧ − y୧ାଵሻሿtଷ với t ∈ ሾ0,1ሿ Có thể viết lại hàm y=fi(t) như sau f୧ሺtሻ = y୧ሺ1 − 3tଶ + 2tଷሻ + y୧ାଵሺ3tଶ − 2tଷሻ + y୧ ᇱ ሺt − 2tଶ + tଷሻ + y୧ାଵ ᇱ ሺ−tଶ + tଷሻ = y୧ሺ1 − tሻ + y୧ାଵt + ሺy୧ − y୧ାଵሻtሺt − 1ሻሺ2t − 1ሻ + tሺt − 1ሻଶ y୧ ᇱ + tଶሺt − 1ሻy୧ାଵ ᇱ = y୧ሺ1 − tሻ + y୧ାଵt + tሺ1 − tሻሾሺ1 − tሻሺy୧ ᇱ + y୧ − y୧ାଵሻ − t(y୧ାଵ ᇱ + y୧ − y୧ାଵ)ሿ Hay f୧ሺtሻ = y୧ሺ1 − tሻ + y୧ାଵt + tሺ1 − tሻሾሺ1 − tሻሺy୧ ᇱ + y୧ − y୧ାଵሻ − t(y୧ାଵ ᇱ + y୧ − y୧ାଵ)ሿ Với t ∈ ሾ0,1ሿ Giờ quay trở lại bài toán với x ∈ ሾx୧, x୧ାଵሿ . Ta sử dụng phép biến đổi: t = x − x୧ x୧ାଵ − x୧
  • 4.
    trungkstn.wordpress.com df dx = df dt dt dx = df dt 1 x୧ାଵ − x୧ Dođó: f୧ሺxሻ = ሺ1 − tሻy୧ + ty୧ାଵ + t(1 − t)ሾa୧ሺ1 − tሻ + b୧tሿ Trong đó t = x − x୧ x୧ାଵ − x୧ a୧ = y୧ ᇱ ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧) b୧ = −y୧ାଵ ᇱ ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧) Từ đó ta có ĐPCM. Bây giờ đảm bảo cho hàm vừa xây dựng có đạo hàm cấp 2 liên tục. Ta cần tìm các giá trị y୧ ᇱ hợp lý để điều kiện này được thỏa mãn. Ta có f୧ ᇱᇱ ሺxሻ = 2 b୧ − 2a୧ + (a୧ − b୧)3t (x୧ାଵ − x୧)ଶ Tính giá trị đạo hàm cấp hai tại các điểm nút f୧ ᇱᇱ ሺx୧ሻ = 2 b୧ − 2a୧ (x୧ାଵ − x୧)ଶ f୧ ᇱᇱ ሺx୧ାଵሻ = 2 a୧ − 2b୧ (x୧ାଵ − x୧)ଶ Điều kiện liên tục của đạo hàm cấp 2 tương đương với f୧ ᇱᇱ ሺx୧ାଵሻ = f୧ାଵ ᇱᇱ ሺx୧ାଵሻ a୧ − 2b୧ (x୧ାଵ − x୧)ଶ = b୧ାଵ − 2a୧ାଵ (x୧ାଶ − x୧ାଵ)ଶ y୧ ᇱ ሺx୧ାଵ − x୧ሻ − (y୧ାଵ − y୧) − 2ሾ−y୧ାଵ ᇱ ሺx୧ାଵ − x୧ሻ + (y୧ାଵ − y୧)ሿ (x୧ାଵ − x୧)ଶ = −y୧ାଶ ᇱ ሺx୧ାଶ − x୧ାଵሻ + (y୧ାଶ − y୧ାଵ) − 2ሾy୧ାଵ ᇱ ሺx୧ାଶ − x୧ାଵሻ − (y୧ାଶ − y୧ାଵ)ሿ (x୧ାଶ − x୧ାଵ)ଶ y୧ ᇱ x୧ାଵ − x୧ + 2 y୧ାଵ ᇱ x୧ାଵ − x୧ − 3 (y୧ାଵ − y୧) (x୧ାଵ − x୧)ଶ = − y୧ାଶ ᇱ x୧ାଶ − x୧ାଵ − 2 y୧ାଵ ᇱ x୧ାଶ − x୧ାଵ + 3 y୧ାଶ − y୧ାଵ (x୧ାଶ − x୧ାଵ)ଶ y୧ ᇱ x୧ାଵ − x୧ + 2y୧ାଵ ᇱ ൬ 1 x୧ାଵ − x୧ + 1 x୧ାଶ − x୧ାଵ ൰ + y୧ାଶ ᇱ x୧ାଶ − x୧ାଵ = 3 ൤ y୧ାଵ − y୧ (x୧ାଵ − x୧)ଶ + y୧ାଶ − y୧ାଵ (x୧ାଶ − x୧ାଵ)ଶ൨ (11) Với i = 0, n − 2തതതതതതതതതത
  • 5.
    trungkstn.wordpress.com Tại điểm mútbên trái và bên phải. Giả sử rằng f଴ ᇱᇱሺx଴ሻ = 0 f୬ିଵ ᇱᇱ ሺx୬ሻ = 0 b଴ − 2a଴ ሺxଵ − x଴ሻଶ = 0 ⟺ −yଵ ᇱ ሺxଵ − x଴ሻ + ሺyଵ − y଴ሻ − 2ሾy଴ ᇱ ሺxଵ − x଴ሻ − ሺyଵ − y଴ሻሿ ሺxଵ − x଴ሻଶ = 0 ⟺ 2 y଴ ᇱ xଵ − x଴ + yଵ ᇱ xଵ − x଴ = 3 ሺyଵ − y଴ሻ ሺxଵ − x଴ሻଶ (12) a୬ିଵ − 2b୬ିଵ (x୬ − x୬ିଵ)ଶ = 0 ⟺ y୬ିଵ ᇱ ሺx୬ − x୬ିଵሻ − ሺy୬ − y୬ିଵሻ − 2ሾ−y୬ ᇱ ሺx୬ − x୬ିଵሻ + ሺy୬ − y୬ିଵሻሿ (x୬ − x୬ିଵ)ଶ = 0 ⟺ y୬ିଵ ᇱ x୬ − x୬ିଵ + 2 y୬ ᇱ x୬ − x୬ିଵ = 3 ሺy୬ − y୬ିଵሻ ሺx୬ − x୬ିଵሻଶ (13) Từ các phương trình (11) (12) và (13) ta suy ra hệ phương trình. Giải hệ này để tìm các y୧ ᇱ Nhận thấy rằng phương pháp trên giả thiết đã biết giá trị hàm tại các điểm nút và đạo hàm cấp 1 của hàm liên tục tại từng nút (do đó liên tục trên cả miền đang xét). Với giả thiết đó tìm được hàm dạng bậc 3 trong từng đoạn được xét. Sau đó áp dụng giả thiết hàm liên tục đến đạo hàm cấp 2 để tìm ra các hệ thức liên hệ (11) (12) và (13). Từ các hệ thức liên hệ tìm được giá trị đạo hàm cấp 1 tại các điểm nút. Với ý tưởng như vậy và đó cũng là phương pháp được trình bày trên trang web wikipedia. Giờ đây ta lợi dụng phương pháp đó nhưng có một số thay đổi. Bài toán đặt ra sẽ như sau: Giả thiết biết giá trị của hàm tại các điểm nút và đạo hàm cấp 2 của hàm liên tục tại từng nút (do đó liên tục trên cả miền được xét). Với giả thiết đó sẽ tìm hàm bậc 3 trong từng khoảng khảo sát. Sau đó với hàm tìm được ta áp điều kiện đạo hàm cấp 1 của hàm liên tục để tìm ra các hệ thức liên hệ. Bài toán: Xây dựng một hàm: y=fi(x) thỏa mãn điều kiện sau yi = fi(xi) (14) yi+1 = fi(xi+1) (15) y୧ ᇱᇱ = f୧ ᇱᇱ (x୧) (16) y୧ାଵ ᇱᇱ = f୧ ᇱᇱ (x୧ାଵ) (17) Khi đó fi(x) với x ∈ ሾx୧, x୧ାଵሿ có dạng sau f୧ሺxሻ = a଴୧ + aଵ୧x + aଶ୧xଶ + aଷ୧xଷ (18) Thay các phương trình (14) (15) (16) và (17) vào (18) ta có ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 0 2 6x୧ 1 x୧ାଵ x୧ାଵ ଶ x୧ାଵ ଷ 0 0 2 6x୧ାଵ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ൦ y୧ y୧ ᇱᇱ y୧ାଵ y୧ାଵ ᇱᇱ ൪ (19)
  • 6.
    trungkstn.wordpress.com ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 1x୧ାଵ x୧ାଵ ଶ x୧ାଵ ଷ 0 0 1 3x୧ 0 0 1 3x୧ାଵ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ൦ y୧ y୧ାଵ y୧ ᇱᇱ 2⁄ y୧ାଵ ᇱᇱ 2⁄ ൪ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 x୧ − x୧ାଵ x୧ ଶ − x୧ାଵ ଶ x୧ ଷ − x୧ାଵ ଷ 0 0 1 3x୧ 0 0 0 3(x୧ − x୧ାଵ)‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ y୧ ᇱᇱ 2 y୧ ᇱᇱ − y୧ାଵ ᇱᇱ 2 ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ 1 x୧ x୧ ଶ x୧ ଷ 0 1 x୧ + x୧ାଵ x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ 0 0 1 3x୧ 0 0 0 1 ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൦ a଴ aଵ aଶ aଷ ൪ ୧ = ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ y୧ y୧ − y୧ାଵ x୧ − x୧ାଵ y୧ ᇱᇱ 2 y୧ ᇱᇱ − y୧ାଵ ᇱᇱ 6(x୧ − x୧ାଵ)‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ Từ đó aଷ୧ = y୧ ᇱᇱ − y୧ାଵ ᇱᇱ 6(x୧ − x୧ାଵ) aଶ୧ = y୧ ᇱᇱ 2 − 3aଷ୧x୧ aଵ୧ = y୧ − y୧ାଵ x୧ − x୧ାଵ − aଶ୧ሺx୧ + x୧ାଵሻ − aଷ୧(x୧ ଶ + x୧x୧ାଵ + x୧ାଵ ଶ ) a଴୧ = y୧ − aଵ୧x୧ − aଶ୧x୧ ଶ − aଷ୧x୧ ଷ Nếu biến x được thay bởi biến t và t ∈ ሾ0,1ሿ tức là t୧ = 0 và t୧ାଵ = 1 thì aଷ୧ = y୧ାଵ ᇱᇱ − y୧ ᇱᇱ 6 aଶ୧ = y୧ ᇱᇱ 2 aଵ୧ = y୧ାଵ − y୧ − aଶ୧ − aଷ୧ = y୧ାଵ − y୧ − y୧ାଵ ᇱᇱ + 2y୧ ᇱᇱ 6 a଴୧ = y୧ Do đó f୧ሺtሻ = y୧ + ቆy୧ାଵ − y୧ − y୧ାଵ ᇱᇱ + 2y୧ ᇱᇱ 6 ቇt + y୧ ᇱᇱ 2 tଶ + ቆ y୧ାଵ ᇱᇱ − y୧ ᇱᇱ 6 ቇ tଷ Với t ∈ ሾ0,1ሿ Chú ý đến biểu thức sau: ሺ1 − tሻଷ = 1 − 3t + 3tଶ − tଷ
  • 7.
    trungkstn.wordpress.com Viết lại nhưsau f୧ሺtሻ = y୧ାଵ ᇱᇱ 6 tଷ + y୧ ᇱᇱ 6 ሺ−tଷ + 3tଶ − 3t + 1ሻ + ቆy୧ାଵ − y୧ − y୧ାଵ ᇱᇱ − y୧ ᇱᇱ 6 ቇ t − y୧ ᇱᇱ 6 + y୧ = y୧ାଵ ᇱᇱ 6 tଷ + y୧ ᇱᇱ 6 (1 − t)ଷ + (y୧ାଵ − y୧ାଵ ᇱᇱ 6 )t + (y୧ − y୧ ᇱᇱ 6 )(1 − t) Giờ quay trở lại bài toán với x ∈ ሾx୧, x୧ାଵሿ . Ta sử dụng phép biến đổi: t = x − x୧ x୧ାଵ − x୧ dଶ f dxଶ = dଶ f dtଶ 1 ሺx୧ାଵ − x୧ሻଶ Do đó f୧ሺxሻ = y୧ାଵ ᇱᇱ ሺx୧ାଵ − x୧ሻଶ 6 ൬ x − x୧ x୧ାଵ − x୧ ൰ ଷ + y୧ ᇱᇱ ሺx୧ାଵ − x୧ሻଶ 6 ൬ x୧ାଵ − x x୧ାଵ − x୧ ൰ ଷ + ቈy୧ାଵ − y୧ାଵ ᇱᇱ ሺx୧ାଵ − x୧ሻଶ 6 ቉ x − x୧ x୧ାଵ − x୧ + ቈy୧ − y୧ ᇱᇱ ሺx୧ାଵ − x୧ሻଶ 6 ቉ x୧ାଵ − x x୧ାଵ − x୧ Đặt h୧ = x୧ାଵ − x୧ f୧ሺxሻ = y୧ାଵ ᇱᇱ 6h୧ ሺx − x୧ሻଷ + y୧ ᇱᇱ 6h୧ ሺx୧ାଵ − xሻଷ + ቈy୧ − y୧ ᇱᇱ h୧ ଶ 6 ቉ x୧ାଵ − x h୧ + ቆy୧ାଵ − y୧ାଵ ᇱᇱ h୧ ଶ 6 ቇ x − x୧ h୧ (20) Bây giờ tìm điều kiện để đạo hàm cấp 1 liên tục tại từng nút. f୧ ᇱ ሺxሻ = y୧ାଵ ᇱᇱ 2h୧ ሺx − x୧ሻଶ − y୧ ᇱᇱ 2h୧ ሺx୧ାଵ − xሻଶ + 1 h୧ ቈሺy୧ାଵ − y୧ሻ − ሺy୧ାଵ ᇱᇱ − y୧ ᇱᇱ ሻh୧ ଶ 6 ቉ f୧ ᇱ ሺx୧ሻ = − y୧ ᇱᇱ h୧ 2 + 1 h୧ ቈሺy୧ାଵ − y୧ሻ − ሺy୧ାଵ ᇱᇱ − y୧ ᇱᇱ ሻh୧ ଶ 6 ቉ f୧ିଵ ᇱ ሺx୧ሻ = y୧ ᇱᇱ h୧ିଵ 2 + 1 h୧ିଵ ቈሺy୧ − y୧ିଵሻ − ሺy୧ ᇱᇱ − y୧ିଵ ᇱᇱ ሻh୧ିଵ ଶ 6 ቉ Theo điều kiện liên tục của đạo hàm cấp 1 ta có f୧ ᇱ ሺx୧ሻ = f୧ିଵ ᇱ ሺx୧ሻ Hay − y୧ ᇱᇱ h୧ 2 + 1 h୧ ቈሺy୧ାଵ − y୧ሻ − ሺy୧ାଵ ᇱᇱ − y୧ ᇱᇱ ሻh୧ ଶ 6 ቉ = y୧ ᇱᇱ h୧ିଵ 2 + 1 h୧ିଵ ቈሺy୧ − y୧ିଵሻ − ሺy୧ ᇱᇱ − y୧ିଵ ᇱᇱ ሻh୧ିଵ ଶ 6 ቉ ⇔ h୧ିଵ 6 y୧ିଵ ᇱᇱ + h୧ିଵ + h୧ 3 y୧ ᇱᇱ + h୧ 6 y୧ାଵ ᇱᇱ = y୧ାଵ − y୧ h୧ − y୧ − y୧ିଵ h୧ିଵ (21)
  • 8.
    trungkstn.wordpress.com Tại các nút f଴ ᇱሺx଴ሻ= 0 và f୬ିଵ ᇱ ሺx୬ሻ = 0 f଴ ᇱሺx଴ሻ = − y଴ ᇱᇱ h଴ 2 + 1 h଴ ቈሺyଵ − y଴ሻ − ሺyଵ ᇱᇱ − y଴ ᇱᇱሻh଴ ଶ 6 ቉ = 0 ⇔ 2y଴ ᇱᇱ + yଵ ᇱᇱ = 6 yଵ − y଴ h଴ ଶ (22) f୬ିଵ ᇱ ሺx୬ሻ = y୬ ᇱᇱ h୬ିଵ 2 + 1 h୬ିଵ ቈሺy୬ − y୬ିଵሻ − ሺy୬ ᇱᇱ − y୬ିଵ ᇱᇱ ሻh୬ିଵ ଶ 6 ቉ = 0 ⇔ y୬ିଵ ᇱᇱ + 2y୬ ᇱᇱ = 6 y୬ − y୬ିଵ h୬ିଵ ଶ (23) Từ (21) (22) và (23) ta giải hệ để tìm các giá trị y୧ ᇱᇱ . Hai bài toán trên tùy vào các bài toán cụ thể và có những sự thay đổi một các hợp lý.