Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

KAEDAH

INTERPOLASI
SPLINE
1

(Interpolation Spline Method)

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

Figure 1: 5th order polynomial vs. exact function

f 5 ( x ) = 0.56731 1.7308 x 2 + 1.2019 x 4 ,

1 x 1

1
f ( x)

( )
f 1 ( n 2 , x)
f 1 ( n 3 , x)
f1 n 1 , x

0.5

0.5

Runge mendapati, apabila peringkat polinomial menghampiri


infiniti, polinomial akan mencapah pada selang 1 < x < 0.726
dan 0.726 < x < 1.

Jadi apakah kaedah yang sesuai digunakan untuk


interpolasi dengan menggunakan lebih banyak data
dan dalam masa yang sama mengekalkan
penumpuan?

Kaedah Interpolasi Spline

INTERPOLASI SPLINE LINEAR


Diberi ,(x0 , y 0 ), (x1 , y1 ),......, (x n 1 , y n 1 )(x n , y n ) memenuhi data
spline linear. Jika data yang diberi adalah dalam susunan
menaik, maka spline linear adalah ( yi = f ( xi ) ) .

INTERPOLASI SPLINE LINEAR


f ( x1 ) f ( x0 )
f ( x) = f ( x0 ) +
( x x0 ),
x1 x0
= f ( x1 ) +

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

di antara xi1 dan x i .

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

Velocity vs. time data for the rocket example

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

v(t ) = 362.78 + 30.913(t 15)

Pada t = 16,
v (16) = 362.78 + 30.913(16 15)

= 393.7ms-1

Kita dapat lihat tiada


perbezaan dengan
interpolasi linear yang lain.
Ia masih menggunakan
hanya dua data yang
berturutan. Serta
perubahan kecerunan
berlaku secara mendadak.
Ini bermakna, terbitan
yang pertama tidak
selanjar pada titik
tersebut. Jadi, bagaimana
untuk membaiki keadaan
ini?

INTERPOLASI SPLINE KUADRATIK


Diberi , (x0 , y 0 ), (x1 , y1 ),......, (xn1 , y n1 )(x n , y n ) memenuhi data
spline kuadratik. Maka spline kuadratik adalah
f ( x) = a1 x 2 + b1 x + c1 ,
= a2 x 2 + b2 x + c2 ,

x0 x x1

x1 x x2

= a n x 2 + bn x + c n ,

x n 1 x x n

Diperoleh pekali 3n berikut:

ai , bi , ci ; i = 1, 2, , n
10

INTERPOLASI SPLINE KUADRATIK

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)

a1 x 2 + b1 x + c1 adalah 2a1 x + b1 bagi x0 x x1


Terbitan spline kuadratik kedua (n=2)

a2 x 2 + b2 x + c2 adalah 2a2 x + b2 bagi x1 x x2


maka kedua-duanya adalah sama pada x = x1

2a1 x1 + b1 = 2a 2 x1 + b2
2a1 x1 + b1 2a2 x1 b2 = 0

13

Similarly at the other interior points,


2a2 x2 + b2 2a3 x2 b3 = 0
.
.
.
2ai xi + bi 2ai +1 xi bi +1 = 0
.
.

Terdapat (n-1) titik


pedalaman, kita ada (n-1)
persamaan. Setakat ini,
jumlah persamaan adalah
(2n) + (n 1) = (3n 1)

persamaan. Kita masih


memerlukan satu lagi
persamaan. Andaikan spline
yang pertama adalah linear,
maka

a1 = 0

.
2an1 xn1 + bn1 2an xn1 bn = 0

atau

f ( x ) = b1 x + c1
14

Ini memberikan 3n persamaan dan 3n pekali. Ia dapat


diselesaikan menggunakan pelbagai kaedah seperti ???

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

Velocity vs. time data for the rocket example

Since there are six data points, five quadratic


Terdapat 6 data, maka kita peroleh 5 spline kuadratik
splines pass through them.
v(t ) = a1t 2 + b1t + c1 , 0 t 10
= a 2 t 2 + b2 t + c 2 , 10 t 15
= a 3 t 2 + b3 t + c3 , 15 t 20
= a 4 t 2 + b4 t + c 4 , 20 t 22.5
= a 5 t 2 + b5 t + c5 , 22.5 t 30

17

Langkah 1:
Dapatkan semua persamaan. Setiap spline kuadratik melalui dua
data berturutan.

v ( t ) = a1t 2 + b1t + c1 melalui t = 0 dan t = 10,

a1 (0) 2 + b1 (0) + c1 = 0

(1)

a1 (10) 2 + b1 (10) + c1 = 227.04

(2)

v ( t ) = a2t 2 + b2t + c2 melalui t = 10 dan t = 15,


a 2 (10) 2 + b2 (10) + c 2 = 227.04

(3)

a 2 (15) 2 + b2 (15) + c 2 = 362.78

(4)
18

Kita juga dapat

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

a 4 (20) 2 + b4 (20) + c 4 = 517.35


a 4 (22.5) 2 + b4 ( 22.5) + c 4 = 602.97
a 5 t 2 + b5 t + c5
a 5 ( 22.5) 2 + b5 ( 22.5) + c5 = 602.97
a 5 (30) 2 + b5 (30) + c5 = 901.67

(7)
(8)

(9)
(10)

Langkah 2:
Terbitan pertama spline kuadratik adalah selanjar pada titik-titik
pedalaman.

t = 10

2a1 (10) + b1 2a 2 (10) b2 = 0

(11)

t = 15

2a 2 (15) + b2 2a3 (15) b3 = 0

(12)

t = 20

2a3 (20) + b3 2a 4 (20) b4 = 0

(13)

t = 22.5

2a 4 (22.5) + b4 2a5 (22.5) b5 = 0

(14)

Anggap spline yang pertama a1t 2 + b1t + c1 adalah linear;

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

Solving the above 15 equations gives the 15 unknowns as


i

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

Maka, kita peroleh persamaan spline berikut:

v(t ) = 22.704t ,

0 t 10

v(t ) = 0.8888t 2 + 4.928t + 88.88,

10 t 15

v(t ) = 0.1356t 2 + 35.66t 141.61,

15 t 20

v(t ) = 1.6048t 2 33.956t + 554.55,

20 t 22.5

v(t ) = 0.20889t 2 + 28.86t 152.13,

22.5 t 30

Pada t = 16

v(16) = 0.1356(16) 2 + 35.66(16) 141.61 = 394.24ms 1


23

JARAK DARIPADA PROFIL HALAJU


Dapatkan jarak yang dilalui oleh roket tersebut pada masa
t=11s hingga t=16s ?

v(t ) = 22.704t ,

0 t 10

v(t ) = 0.8888t 2 + 4.928t + 88.88,

10 t 15

v(t ) = 0.1356t 2 + 35.66t 141.61,

15 t 20

v(t ) = 1.6048t 2 33.956t + 554.55,

20 t 22.5

v(t ) = 0.20889t 2 + 28.86t 152.13,

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

= 0.1356t 2 + 35.66t 141.61,


16

15

16

11

11

15

15 t 20

v (t )dt = v(t ) dt + v (t )dt


15

16

s(16) s (11) = (0.8888t + 4.928t + 88.88) dt + ( 0.1356t + 35.66t 141.61) dt


2

11

15

= 1595.9 m

25

PECUTAN DARIPADA PROFIL HALAJU


Dapatkan pecutan roket pada t=16s.
a (16) =

d
v(t ) t =16
dt

v(t ) = 0.1356t 2 + 35.66t 141.61, 15 t 20


,

d
d
a(t ) = v(t ) = (0.1356t 2 + 35.66t 141.61)
dt
dt
a(t ) = 0.2712t + 35.66

15 t 20

a (16) = 0.2712(16) + 35.66


= 31.321 m/s2

26

INTERPOLASI SPLINE KUBIK


Diberi , (x0 , y 0 ), (x1 , y1 ),......, (xn1 , y n1 )(x n , y n ) memenuhi data
.
spline kubik. Maka spline kubik adalah

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

Diperoleh pekali 4n berikut:

ai , bi , ci ; i = 1, 2, , n
27

INTERPOLASI SPLINE KUBIK


Untuk mendapatkan nilai pekali 4n , kita perlu ada 4n persamaan
dan selesaikannya secara serentak.
Langkah 1: Setiap spline kubik melalui dua data yang berturutan.

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)

Langkah 1: Setiap spline kubik melalui dua data yang


berturutan.

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 )

Langkah 4: Terbitan kedua spline kubik adalah sifar pada


titik-titik hujung.
f1 (1) = 0

f 2 ( 3) = 0

30

a1
b1
c1
d1
a2
b2
c2
d2
31

Maka, penyelesaiannya adalah

a1
b1
c1
d1
a2
b2
c2
d2

32

Maka, kita peroleh persamaan spline berikut:

f1 ( x) = 1.25 x3 + 3.75 x 2 + 1.5 x 3,

1 x 2

f 2 ( x ) = 1.25 x3 11.25 x 2 + 31.5 x 23,

2 x3

33

You might also like