Professional Documents
Culture Documents
Kuliah 4 Interpolasi-Spline Method
Kuliah 4 Interpolasi-Spline Method
INTERPOLASI
SPLINE
1
KENAPA SPLINE??
Polynomial interpolation involves finding a polynomial
of order n that passes through n+1 data points.
Several methods to obtain such a polynomial include
direct method, Newtons Divided Difference polynomial,
and Lagrangian interpolation method. So is spline just
another method of obtaining this nth order polynomial?
NO! Actually, when n becomes large, in many
cases, one may get oscillatory behavior in the resulting
polynomial.
This was shown by Runge when he
interpolated data based on a simple function of
1
y=
1 + 25 x 2
on an interval of [-1, 1].
For example, take six
equidistantly spaced points in [-1, 1] and find y at these
points as given in Table 1.
2
Jadual 1
y=
1
1 + 25 x 2
-1.0
0.038461
-0.6
0.1
-0.2
0.5
0.2
0.5
0.6
0.1
1.0
0.038461
1 x 1
1
f ( x)
( )
f 1 ( n 2 , x)
f 1 ( n 3 , x)
f1 n 1 , x
0.5
0.5
f ( x2 ) f ( x1 )
( x x1 ),
x2 x1
x0 x x1
x1 x x2
= f ( xn 1 ) +
f ( xn ) f ( xn 1 )
( x xn 1 ),
xn xn 1
xn 1 x xn
f ( xi ) f ( xi 1 )
Perhatikan sebutan
, ia adalah kecerunan
xi xi 1
CONTOH 1(A)
Halaju menaik sebuah roket diberikan sebagai fungsi masa
seperti dalam Jadual 1. Cari halaju pada t=16 saat menggunakan
kaedah interpolasi spline linear.
8
v(t)
m/s
10
227.04
15
362.78
20
517.35
22.5
602.97
30
901.67
Jadual 1
t 0 = 15,
v(t 0 ) = 362.78
t1 = 20,
v(t1 ) = 517.35
v(t1 ) v(t 0 )
v(t ) = v(t 0 ) +
(t t 0 )
t1 t 0
517.35 362.78
= 362.78 +
(t 15)
20 15
Pada t = 16,
v (16) = 362.78 + 30.913(16 15)
= 393.7ms-1
x0 x x1
x1 x x2
= a n x 2 + bn x + c n ,
x n 1 x x n
ai , bi , ci ; i = 1, 2, , n
10
Langkah 1:
Untuk mendapatkan nilai pekali 3n , kita perlu ada 3n persamaan
dan selesaikannya secara serentak.
Jadi, setiap spline kuadratik melalui dua data yang berturutan.
11
f ( x ) = an x 2 + bn x + cn ,
x n 1 x x n
a1 x0 + b1 x0 + c1 = f ( x0 )
2
a1 x12 + b1 x1 + c1 = f ( x1 )
ai xi 1 + bi xi 1 + ci = f ( xi 1 )
2
ai xi 2 + bi xi + ci = f ( xi )
a n x n 1 + bn xn 1 + c n = f ( x n 1 )
2
12
a n x n + bn x n + c n = f ( x n )
2
Langkah 2:
Terbitan pertama dua spline kuadratik adalah selanjar pada titiktitik pedalaman. Contohnya, terbitan bagi spline kuadratik pertama
(n=1)
2a1 x1 + b1 = 2a 2 x1 + b2
2a1 x1 + b1 2a2 x1 b2 = 0
13
a1 = 0
.
2an1 xn1 + bn1 2an xn1 bn = 0
atau
f ( x ) = b1 x + c1
14
f ( x) = a1 x 2 + b1 x + c1 ,
= a 2 x 2 + b2 x + c 2 ,
x0 x x1
x1 x x 2
.
.
.
= a n x 2 + bn x + c n ,
x n 1 x x n
15
CONTOH 1(B)
Halaju menaik sebuah roket diberikan sebagai fungsi masa
seperti dalam Jadual 1. Cari halaju pada t=16 saat menggunakan
kaedah interpolasi spline kuadratik.
16
v(t)
m/s
10
227.04
15
362.78
20
517.35
22.5
602.97
30
901.67
Jadual 1
17
Langkah 1:
Dapatkan semua persamaan. Setiap spline kuadratik melalui dua
data berturutan.
a1 (0) 2 + b1 (0) + c1 = 0
(1)
(2)
(3)
(4)
18
a 3 t 2 + b3 t + c3
a 3 (15) 2 + b3 (15) + c3 = 362.78
a 3 ( 20) 2 + b3 ( 20) + c3 = 517.35
(5)
(6)
a 4 t + b4 t + c 4
2
(7)
(8)
(9)
(10)
Langkah 2:
Terbitan pertama spline kuadratik adalah selanjar pada titik-titik
pedalaman.
t = 10
(11)
t = 15
(12)
t = 20
(13)
t = 22.5
(14)
a1 = 0
(15)
20
0
100
0
0
0
0
0
0
0
0
20
0
0
0
1
10 1
100
10
0
0
0
0
225
0
15
0
1
0
0
225
0
15
0
1
0
0
0
0
0
0
400
20 1
400
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 506.25 22.5 1
0
0
0
0
0 20 1 0
0
0
0
0
30
0
1
0
0 30 1 0
0 40
1 0
0
40
0
1
0
0
45
0 a1
0 b1
0
227.04
0
0
227.04
0
0
0 c1
0
0
0 a2 362.78
0
0
0 b2 362.78
517.35
0
0
0 c2
0
0
0 a3 517.35
0
0
0 b3 = 602.97
506.25 22.5 1 c3 602.97
900
30 1 a4 901.67
0
0
0 b4 0
0
0
0 c4 0
0
0
0 a5
0
45
1 0 b5 0
0
0
0 c5 0
0
21
ai
bi
ci
22.704
0.8888
4.928
88.88
-0.1356
35.66
-141.61
1.6048
-33.956
554.55
0.20889
28.86
-152.13
22
v(t ) = 22.704t ,
0 t 10
10 t 15
15 t 20
20 t 22.5
22.5 t 30
Pada t = 16
v(t ) = 22.704t ,
0 t 10
10 t 15
15 t 20
20 t 22.5
22.5 t 30
24
16
s(16) s (11) = v( t ) dt
11
But since the splines are valid over different ranges, we need to break the integral
accordingly as
v (t ) = 0.8888t 2 + 4.928t + 88.88,
10 t 15
15
16
11
11
15
15 t 20
16
11
15
= 1595.9 m
25
d
v(t ) t =16
dt
d
d
a(t ) = v(t ) = (0.1356t 2 + 35.66t 141.61)
dt
dt
a(t ) = 0.2712t + 35.66
15 t 20
26
f ( x) = a1 x3 + b1 x 2 + c1 x + d1 ,
= a2 x3 + b2 x 2 + c2 x + d 2 ,
x0 x x1
x1 x x2
= an x 3 + bn x 2 + cn x + d n ,
x n 1 x x n
ai , bi , ci ; i = 1, 2, , n
27
Langkah 2: Terbitan pertama spline kubik adalah selanjar pada titiktitik pedalaman.
Langkah 3: Terbitan kedua spline kubik adalah selanjar pada titiktitik pedalaman.
Langkah 4: Terbitan kedua spline kubik adalah sifar pada titik-titik
hujung.
28
CONTOH 2
Dapatkan kubik spline yang memenuhi data berikut:
x
f(x)
f1 ( x) = a1 x 3 + b1 x 2 + c1 x + d1 , 1 x 2
f 2 ( x ) = a2 x + b2 x + c2 x + d 2 , 2 x 3
3
f1 (1) = 1
f1 (2) = 5
f 2 (2) = 5
f 2 (3) = 4
29
Langkah 2: Terbitan pertama spline kubik adalah selanjar pada titiktitik pedalaman.
f1 (2) = f 2 (2)
Langkah 3: Terbitan kedua spline kubik adalah selanjar pada
titik-titik pedalaman.
f1 (2) = f 2 ( 2 )
f 2 ( 3) = 0
30
a1
b1
c1
d1
a2
b2
c2
d2
31
a1
b1
c1
d1
a2
b2
c2
d2
32
1 x 2
2 x3
33