Anda di halaman 1dari 14

Langkah-langkah Menentukan Polinomial Interpolasi dengan Spline Linear

1. Bentuk umum polinomial interpolasi spline linear adalah


𝑆𝑘 (𝑥) = 𝑎𝑘 𝑥 + 𝑏𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1
2. Menentukan nilai 𝑎𝑘 untuk 𝑘 = 1,2, … , (𝑛 − 1)
𝑓𝑘+1 − 𝑓𝑘
𝑎𝑘 =
𝑥𝑘+1 − 𝑥𝑘
3. Menentukan nilai 𝑏𝑘 untuk 𝑘 = 1,2, … , (𝑛 − 1)
𝑏𝑘 = 𝑓𝑘 − 𝑎𝑘 𝑥𝑘 , 𝑢𝑛𝑡𝑢𝑘 𝑘 = 1,2, … , (𝑛 − 1)
4. Substitusikan 𝑎𝑘 dan 𝑏𝑘 ke 𝑆𝑘 (𝑥) = 𝑎𝑘 𝑥 + 𝑏𝑘 untuk 𝑘 = 1, 2, … , (𝑛 − 1)

Contoh soal
Tentukan spline linear yang menginterpolasikan data berikut.

𝑥 −2 −1 0 1 2 3
𝑓(𝑥) 16 5 −3 −2 10 −10

Langkah-langkah penyelesaian secara manual


1. Tentukan nilai dari 𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 , dan 𝑎5 seperti berikut :
𝑓2 − 𝑓1 5 − 16
𝑎1 = = = −11
𝑥2 − 𝑥1 −1 − (−2)
𝑓3 − 𝑓2 −3 − 5
𝑎2 = = = −8
𝑥3 − 𝑥2 0 − (−1)
𝑓4 − 𝑓3 −2 − (−)3
𝑎3 = = =1
𝑥4 − 𝑥3 1−0
𝑓5 − 𝑓4 10 − (−2)
𝑎4 = = = 12
𝑥5 − 𝑥4 2−1
𝑓6 − 𝑓5 −10 − 10
𝑎5 = = = −20
𝑥6 − 𝑥5 3−2
2. Tentukan nilai dari 𝑏1 , 𝑏2 , 𝑏3 , 𝑏4 , dan 𝑏5 seperti berikut :
𝑏1 = 𝑓1 − 𝑎1 𝑥1 = 16 − (−11)(−2) = −6
𝑏2 = 𝑓2 − 𝑎2 𝑥2 = 5 − (−8)(−1) = −3
𝑏3 = 𝑓3 − 𝑎3 𝑥3 = −3 − (1)(0) = −3
𝑏4 = 𝑓4 − 𝑎4 𝑥4 = −2 − (12)(1) = −14
𝑏5 = 𝑓5 − 𝑎5 𝑥5 = 10 − (−20)(2) = 50
3. Substitusikan 𝑎𝑘 dan 𝑏𝑘 ke 𝑆𝑘 (𝑥) = 𝑎𝑘 𝑥 + 𝑏𝑘 untuk 𝑘 = 1, 2, … , (𝑛 − 1) seperti berikut :
𝑆1 (𝑥) = 𝑎1 𝑥 + 𝑏1 = −11𝑥 − 6
𝑆2 (𝑥) = 𝑎2 𝑥 + 𝑏2 = −8𝑥 − 3
𝑆3 (𝑥) = 𝑎3 𝑥 + 𝑏3 = 𝑥 − 3
𝑆4 (𝑥) = 𝑎4 𝑥 + 𝑏4 = 12𝑥 − 14
𝑆5 (𝑥) = 𝑎5 𝑥 + 𝑏5 = −20 + 50

Langkah-langkah penyelessaian dengan menggunakan matlab


1. Tuliskan fungsi berikut pada Matlab dan simpan dengan nama spliner
function [a,b]=spliner(x,f)
n=length(x);
for k=1:(n-1),
a(k) = (f(k+1)-f(k))/(x(k+1) - x(k));
b(k) = f(k)-(a(k)*x(k));
end

2. Pada Command Window, definisikan nilai dari 𝑥 dan 𝑓(𝑥) pada tabel, kemudian panggil
fungsi spliner sehingga akan muncul tampilan seperti berikut

>> x=[-2 -1 0 1 2 3]
x =
-2 -1 0 1 2 3

>> f=[16 5 -3 -2 10 -10]


f =
16 5 -3 -2 10 -10

>> [a,b]=spliner(x,f)
a =
-11 -8 1 12 -20
b =
-6 -3 -3 -14 50

3. Dari output tersebut, diperoleh nilai 𝑎𝑘 dan 𝑏𝑘 seperti berikut


𝑎1 = −11, 𝑎2 = −8, 𝑎3 = 1, 𝑎4 = 12, dan 𝑎5 = −20
𝑏1 = −6, 𝑏2 = −3, 𝑏3 = −3, 𝑏4 = −14, dan 𝑏5 = 50
4. Substitusikan 𝑎𝑘 dan 𝑏𝑘 ke 𝑆𝑘 (𝑥) = 𝑎𝑘 𝑥 + 𝑏𝑘 untuk 𝑘 = 1, 2, … , (𝑛 − 1) seperti berikut :
𝑆1 (𝑥) = 𝑎1 𝑥 + 𝑏1 = −11𝑥 − 6
𝑆2 (𝑥) = 𝑎2 𝑥 + 𝑏2 = −8𝑥 − 3
𝑆3 (𝑥) = 𝑎3 𝑥 + 𝑏3 = 𝑥 − 3
𝑆4 (𝑥) = 𝑎4 𝑥 + 𝑏4 = 12𝑥 − 14
𝑆5 (𝑥) = 𝑎5 𝑥 + 𝑏5 = −20 + 50

Dari hasil perhitungan di atas diperoleh bahwa pline linear yang dicari adalah :
𝑆1 (𝑥) = −11𝑥 − 6 , −2 ≤ 𝑥 ≤ −1
𝑆2 (𝑥) = −8𝑥 − 3 , −1 ≤𝑥 ≤ 0
𝑆(𝑥) = 𝑆3 (𝑥) = 𝑥 − 3 , 0≤𝑥≤1
𝑆4 (𝑥) = 12𝑥 − 14 , 1≤𝑥≤2
{ 𝑆5 (𝑥) = −20 + 50 , 2≤𝑥≤3
Langkah-langkah Menentukan Polinomial Interpolasi dengan Spline Kuadratik

1. Bentuk umum polinomial interpolasi spline kuadratik adalah


𝑚 −𝑚
𝑆𝑘 (𝑥) = 2(𝑥𝑘+1 −𝑥 𝑘) (𝑥 − 𝑥𝑘 )2 + 𝑚𝑘 (𝑥 − 𝑥𝑘 ) + 𝑓𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1
𝑘+1 𝑘

2. Menentukan nilai 𝑚𝑘 untuk 1 ≤ 𝑘 ≤ (𝑛 − 1)


𝑓𝑘+1 − 𝑓𝑘
𝑚𝑘 = 2 − 𝑚𝑘−1
𝑥𝑘+1 − 𝑥𝑘
Syarat : 𝑚1 = 0 atau 𝑚𝑛 = 0.
𝑚 −𝑚
3. Substitusikan 𝑚𝑘 ke 𝑆𝑘 (𝑥) = 2(𝑥𝑘+1 −𝑥 𝑘) (𝑥 − 𝑥𝑘 )2 + 𝑚𝑘 (𝑥 − 𝑥𝑘 ) + 𝑓𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1
𝑘+1 𝑘

Contoh soal
Carilah suatu spline kuadratik interpola nuntuk data yang diberikan pada label berikut ini.
𝑥 −1 0 0.5 1 2 2.5
𝑓 2 1 0 1 2 3

Langkah-langkah penyelesaian secara manual


1. Tentukan nilai dari 𝑚1 , 𝑚2 , 𝑚3 , 𝑚4 , 𝑚5 dan 𝑚6 seperti berikut :
𝑓2 − 𝑓1 1−2
𝑚1 + 𝑚2 = 0 + 𝑚2 = 𝑚2 = 2 =2 = −2
𝑥2 − 𝑥1 0 − (−1)
𝑓3 − 𝑓2 0−1
𝑚3 = 2 − 𝑚2 = 2 − (−2) = −2
𝑥3 − 𝑥2 0.5 − 0
𝑓4 − 𝑓3 1−0
𝑚4 = 2 − 𝑚3 = 2 − (−2) = 6
𝑥4 − 𝑥3 1 − 0.5
𝑓5 − 𝑓4 2−1
𝑚5 = 2 − 𝑚4 = 2 − (6) = −4
𝑥5 − 𝑥4 2−1
𝑓6 − 𝑓5 3−2
𝑚6 = 2 − 𝑚5 = 2 − (−4) = 8
𝑥6 − 𝑥5 2.5 − 2
𝑚 −𝑚
2. Substitusikan 𝑚𝑘 ke 𝑆𝑘 (𝑥) = 2(𝑥𝑘+1 −𝑥 𝑘) (𝑥 − 𝑥𝑘 )2 + 𝑚𝑘 (𝑥 − 𝑥𝑘 ) + 𝑓𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1
𝑘+1 𝑘

seperti berikut
𝑚2 − 𝑚1
𝑆1 (𝑥) = (𝑥 − 𝑥1 )2 + 𝑚1 (𝑥 − 𝑥1 ) + 𝑓1
2(𝑥2 − 𝑥1 )
−2 − 0
= (𝑥 − (−1))2 + 0(𝑥 − (−1)) + 2 = −(𝑥 + 1)2 + 2
2(0 − (−1))
𝑚3 − 𝑚2
𝑆2 (𝑥) = (𝑥 − 𝑥2 )2 + 𝑚2 (𝑥 − 𝑥2 ) + 𝑓2
2(𝑥3 − 𝑥2 )
−2 − (−2)
= (𝑥 − 0)2 − 2(𝑥 − 0) + 1 = −2𝑥 + 1
2(0.5 − 0)
𝑚4 − 𝑚3
𝑆3 (𝑥) = (𝑥 − 𝑥3 )2 + 𝑚3 (𝑥 − 𝑥3 ) + 𝑓3
2(𝑥4 − 𝑥3 )
6 − (−2)
= (𝑥 − 0.5)2 − 2(𝑥 − 0.5) + 0 = 8(𝑥 − 0.5)2 − 2(𝑥 − 0.5)
2(1 − 0.5)
𝑚5 − 𝑚4
𝑆4 (𝑥) = (𝑥 − 𝑥4 )2 + 𝑚4 (𝑥 − 𝑥4 ) + 𝑓4
2(𝑥5 − 𝑥4 )
−4 − 6
= (𝑥 − 1)2 + 6(𝑥 − 1) + 1 = −5(𝑥 − 1)2 + 6(𝑥 − 1) + 1
2(2 − 1)
𝑚6 − 𝑚5
𝑆5 (𝑥) = (𝑥 − 𝑥5 )2 + 𝑚5 (𝑥 − 𝑥5 ) + 𝑓5
2(𝑥6 − 𝑥5 )
8 − (−4)
= (𝑥 − 2)2 − 4(𝑥 − 2) + 2 = 12(𝑥 − 2)2 − 4(𝑥 − 2) + 2
2(2.5 − 2)

Langkah-langkah penyelesaian dengan menggunakan matlab


1. Tuliskan fungsi berikut pada Matlab dan simpan dengan nama spline2
function m=spline2(x,f)
n=length(x);m(1)=0;
for k=2:n,
m(k)=2*(f(k)-f(k-1))/(x(k)-x(k-1))-m(k-1);
end
2. Pada Command Window, definisikan nilai dari 𝑥 dan 𝑓(𝑥) pada tabel, kemudian panggil
fungsi spline2 sehingga akan muncul tampilan seperti berikut
>> x=[-1 0 0.5 1 2 2.5]
x =
-1.0000 0 0.5000 1.0000 2.0000 2.5000

>> f=[2 1 0 1 2 3]
f =
2 1 0 1 2 3
>> m=spline2(x,f)
m =
0 -2 -2 6 -4 8
3. Dari output tersebut, diperoleh nilai-nilai 𝑚𝑘 yaitu 𝑚1 = 0, 𝑚2 = −2, 𝑚3 = −2, 𝑚4 = 6,
𝑚5 = −4, dan 𝑚6 = 8
𝑚 −𝑚
4. Substitusikan 𝑚𝑘 ke 𝑆𝑘 (𝑥) = 2(𝑥𝑘+1 −𝑥 𝑘) (𝑥 − 𝑥𝑘 )2 + 𝑚𝑘 (𝑥 − 𝑥𝑘 ) + 𝑓𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1
𝑘+1 𝑘

seperti langkah ke 2 dalam penyelesaian secara manual.

Dari hasil perhitungan di atas diperoleh bahwa spline kuadratik yang dicari adalah :
𝑆1 (𝑥) = −(𝑥 + 1)2 + 2 , −1≤𝑥 ≤0
𝑆2 (𝑥) = −2𝑥 + 1 , 0 ≤ 𝑥 ≤ 0.5
𝑆(𝑥) = 𝑆3 (𝑥) = 8(𝑥 − 0.5)2 − 2(𝑥 − 0.5) , 0.5 ≤ 𝑥 ≤ 1
𝑆4 (𝑥) = −5(𝑥 − 1)2 + 6(𝑥 − 1) + 1 , 1≤𝑥≤2
{ 𝑆5 (𝑥) = 12(𝑥 − 2)2 − 4(𝑥 − 2) + 2 , 2 ≤ 𝑥 ≤ 2.5
Langkah-langkah Menentukan Polinomial Interpolasi dengan Spline Kubik

1. Bentuk umum polinomial interpolasi spline kubik adalah


𝑚𝑘+1 (𝑥−𝑥𝑘 )3 𝑚𝑘 (𝑥𝑘+1 −𝑥)3
𝑆𝑘 (𝑥) = + + 𝐶𝑘 (𝑥 − 𝑥𝑘 ) + 𝐷𝑘 (𝑥𝑘+1 − 𝑥) untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1 dan
6(𝑥𝑘+1 −𝑥𝑘 ) 6(𝑥𝑘+1 −𝑥𝑘 )

1 ≤ 𝑘 ≤ (𝑛 − 1)
2. Menentukan ℎ𝑘 = 𝑥𝑘+1 − 𝑥𝑘 dan 𝑑𝑘 = (𝑓𝑘+1 − 𝑓𝑘 )/ℎ𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1 dan 1 ≤ 𝑘 ≤
(𝑛 − 1)
3. Menentukan 𝑢𝑘 = 2(ℎ𝑘−1 + ℎ𝑘 ) dan 𝑣𝑘 = 𝑑𝑘 − 𝑑𝑘−1 ) untuk 2 ≤ 𝑘 ≤ (𝑛 − 1)
4. Menentukan 𝑢𝑘∗ dan 𝑣𝑘∗ sesuai dengan jenis Spline Kubik
5. Substitusikan nilai 𝑢𝑘∗ dan 𝑣𝑘∗ ke dalam matriks tridiagonal berukuran (𝑛 − 2) × (𝑛 − 2)
𝑢2∗ ℎ2∗ 0 0 … 0 𝑚2 𝑣2∗
ℎ2 𝑢3 ℎ3 0 … 0 𝑚3 𝑣3
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ = ⋮
0 0 ⋯ ℎ𝑛−3 𝑢𝑛−2 ℎ𝑛−2 𝑚𝑛−2 𝑢𝑛−2

) (𝑚𝑛−1 ) (𝑣𝑛−1 )
∗ ∗
(0 0 … 0 ℎ𝑛−2 𝑢𝑛−1
6. Menyelesaikan SPL Am=V dengan metode eliminasi Gauss atau dengan faktorisasi LU
sehingga diperoleh nilai 𝑚2 , 𝑚3 , … , 𝑚𝑛−1
7. Menentukan nilai 𝐶𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1 dan 1 ≤ 𝑘 ≤ (𝑛 − 1)
𝑓𝑘+1 𝑥𝑘+1 − 𝑥𝑘
𝐶𝑘 = − 𝑚𝑘+1
𝑥𝑘+1 − 𝑥𝑘 6
8. Menentukan nilai 𝐷𝑘 untuk 𝑥𝑘 ≤ 𝑥 ≤ 𝑥𝑘+1 dan 1 ≤ 𝑘 ≤ (𝑛 − 1)
𝑓𝑘 𝑥𝑘+1 −𝑥𝑘
𝐷𝑘 = 𝑥 − 𝑚𝑘 ,
𝑘+1 −𝑥𝑘 6

9. Substitusikan 𝑚𝑘 , 𝐶𝑘 , 𝐷𝑘 ke
𝑚𝑘+1 (𝑥 − 𝑥𝑘 )3 𝑚𝑘 (𝑥𝑘+1 − 𝑥)3
𝑆𝑘 (𝑥) = + + 𝐶𝑘 (𝑥 − 𝑥𝑘 ) + 𝐷𝑘 (𝑥𝑘+1 − 𝑥)
6(𝑥𝑘+1 − 𝑥𝑘 ) 6(𝑥𝑘+1 − 𝑥𝑘 )
Contoh soal
Carilah spline kubik alami yang melewati titik-titik pada tabel berikut,

𝑥 1 2 3 4 5
𝑦 0 1 0 1 0

Langkah-langkah penyelesaian secara manual


1. Menentukan ℎ1 , ℎ2 , ℎ3 , ℎ4 dan 𝑑1 , 𝑑2 , 𝑑3 , 𝑑4
ℎ1 = 𝑥2 − 𝑥1 = 2 − 1 = 1
ℎ2 = 𝑥3 − 𝑥2 = 3 − 2 = 1
ℎ3 = 𝑥4 − 𝑥3 = 4 − 3 = 1
ℎ4 = 𝑥5 − 𝑥4 = 5 − 4 = 1

𝑓2 − 𝑓1 1 − 0
𝑑1 = = =1
ℎ1 1
𝑓3 − 𝑓2 0 − 1
𝑑2 = = = −1
ℎ2 1
𝑓4 − 𝑓3 1 − 0
𝑑3 = = =1
ℎ3 1
𝑓5 − 𝑓4 0 − 1
𝑑4 = = = −1
ℎ4 1

2. Menentukan 𝑢2 , 𝑢3 , 𝑢4 dan 𝑣2 , 𝑣3 , 𝑣4
𝑢2 = 2(ℎ1 + ℎ2 ) = 2(1 + 1) = 4
𝑢3 = 2(ℎ2 + ℎ3 ) = 2(1 + 1) = 4
𝑢4 = 2(ℎ3 + ℎ4 ) = 2(1 + 1) = 4

𝑣2 = 6(𝑑2 − 𝑑1 ) = 6(−1 − 1) = −12


𝑣3 = 6(𝑑3 − 𝑑2 ) = 6(1 + 1) = 12
𝑣4 = 6(𝑑4 − 𝑑3 ) = 6(−1 − 1) = −12

3. Menentukan 𝑢2∗ , 𝑢3∗ , 𝑢4∗ , 𝑣2∗ , 𝑣3∗ , 𝑣4∗ , dan ℎ2∗ , ℎ3∗ , ℎ4∗
𝑢2∗ = 𝑢2 = 4
𝑢3∗ = 𝑢3 = 4
𝑢4∗ = 𝑢4 = 4

𝑣2∗ = 𝑣2 = −12
𝑣3∗ = 𝑣3 = 12
𝑣4∗ = 𝑣4 = −12
ℎ2∗ = ℎ2 = 1
ℎ3∗ = ℎ3 = 1
ℎ4∗ = ℎ4 = 1

4. Substistusikan nilai 𝑢𝑘∗ , 𝑣𝑘∗ , ℎ𝑘∗ ke dalam matriks tridiagonal berukuran (𝑛 − 2) × (𝑛 − 2)


𝑢2∗ ℎ2∗ 0 𝑚2 𝑣2∗
(ℎ2 𝑢3 ℎ3 ) ( 𝑚3 ) = ( 𝑣3 )
∗ ∗ 𝑚𝑛−1 ∗
0 ℎ𝑛−2 𝑢𝑛−1 𝑣𝑛−1
4 1 0 𝑚2 −12
↔ (1 4 1) (𝑚3 ) = ( 12 )
0 1 4 𝑚4 −12

5. Menyelesaikan SPL Am=V dengan metode faktorisasi LU sehingga diperoleh 𝑚2 , 𝑚3 , 𝑚4


30 36 30
𝑚2 = − , 𝑚3 = , 𝑚4 = −
7 7 7

6. Menentukan nilai 𝐶𝑘 untuk 1 ≤ 𝑘 ≤ (𝑛 − 1) dan 𝐷𝑘 untuk 1 ≤ 𝑘 ≤ (𝑛 − 1)


−30/7 12
𝐶1 = 1 − =
6 7
36/7 6
𝐶2 = 0 − =−
6 7
−30/7 12
𝐶3 = 1 − =
6 7
𝐶4 = 0

𝐷1 = 0
−30/7 12
𝐷2 = 1 − =
6 7
36/7 6
𝐷3 = 0 − =−
6 7
−30/7 12
𝐷4 = 1 − =
6 7

7. Substitusikan 𝑚𝑘 , 𝐶𝑘 , 𝐷𝑘 ke
𝑚𝑘+1 (𝑥 − 𝑥𝑘 )3 𝑚𝑘 (𝑥𝑘+1 − 𝑥)3
𝑆𝑘 (𝑥) = + + 𝐶𝑘 (𝑥 − 𝑥𝑘 ) + 𝐷𝑘 (𝑥𝑘+1 − 𝑥)
6(𝑥𝑘+1 − 𝑥𝑘 ) 6(𝑥𝑘+1 − 𝑥𝑘 )
diperoleh :
−30/7 12 5 12
𝑆1 (𝑥) = (𝑥 − 1)3 + 0 + (𝑥 − 1) + 0 = − (𝑥 − 1)3 + (𝑥 − 1)
6×1 7 7 7
30
36/7 − 7 6 12
3 (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥)
𝑆2 (𝑥) = (𝑥 − 2) +
6 6 7 7
6 5 6 12
= (𝑥 − 2)3 − (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥)
7 7 7 7
36
−30/7 6 6
𝑆3 (𝑥) = (𝑥 − 3)3 + 7 (4 − 𝑥)3 − (𝑥 − 3) − (4 − 𝑥)
6×1 6 7 7
5 6 12 6
= − (𝑥 − 3)3 + (4 − 𝑥)3 + (𝑥 − 3) − (4 − 𝑥),
7 7 7 7
−30/7 12 5 12
𝑆4 (𝑥) = 0 + (5 − 𝑥)3 + 0 + (5 − 𝑥) = − (5 − 𝑥)3 + (5 − 𝑥).
6 7 7 7

Diperoleh spline kubik alami yaitu,

5 12
− (𝑥 − 1)3 + (𝑥 − 1) ,1 ≤ 𝑥 ≤ 2
7 7
6 5 6 12
(𝑥 − 2)3 − (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥) ,2 ≤ 𝑥 ≤ 3
𝑆(𝑥) = 7 7 7 7
5 6 12 6
− (𝑥 − 3)3 + (4 − 𝑥)3 + (𝑥 − 3) − (4 − 𝑥)
7 7 7 7 ,3 ≤ 𝑥 ≤ 4
5 3
12 ,4 ≤ 𝑥 ≤ 5
{ − 7 (5 − 𝑥) + 7 (5 − 𝑥)
Langkah-langkah penyelesaian dengan matlab
1. Tuliskan fungsi berikut pada Matlab dan simpan dengan nama spline3
function s3=spline3(x,y,z,st,b1,bn)
n=length(x);
h=x(2:n)-x(1:n-1);
d=(y(2:n)-y(1:n-1))./h;
u=2*(h(1:n-2)+h(2:n-1));
v=6*(d(2:n-1)-d(1:n-2));
V=v';
dia=h(2:n-2);dib=dia;
if st==1,
u(1)=3/2*h(1)+2*h(2); V(1)=V(1)-3*(d(1)-b1);
u(n-2)=2*h(n-2)+3/2*h(n-1); V(n-2)=V(n-2)-3*(bn-d(n-1));
A=diag(u)+diag(dib,-1)+diag(dia,1)
m=A\V;m=[0;m;0];
m(1)=3/h(1)*(d(1)-b1)-m(2)/2;
m(n)=3/h(n-1)*(bn-d(n-1))-(n-1)/2;
V
m
end
if st==2,
A=diag(u)+diag(dib, -1)+diag(dia,1)
V
m=A\V;m=[0;m;0]
end
if st==3,
u(1)=3*h(1)+2*h(2)+h(1)^2/h(2);
u(n-2)= 2*h(n-2)+3*h(n-1)+h(n-1)^2/h(n-2);
dia(1)=h(2)-h(1)^2/h(2);
dib(n-3)=h(n-2)-h(n-1)^2/h(n-2);
A=diag(u)+diag(dib,-1)+diag(dia,1)
m=A\V; m=[0;m;0];
m(1)=m(2)-h(1)*(m(3)-m(2))/h(2);
m(n)=m(n-1)+h(n-1)*(m(n-1)-m(n-2))/h(n-2);
V
m
end
if st==4,
u(1)=3*h(1)+2*h(2);
u(n-2)=2*h(n-2)+3*h(n-1);
A=diag(u)+diag(dib,-1)+diag(dia,1)
m=A\V; m=[0;m;0];
m(1)=m(2);m(n)=m(n-1);
V
m
end
if st==5,
V(1)=V(1)-h(1)*b1;
V(n-2)=V(n-2)-h(n-1)*bn;
A=diag(u)+diag(dib,-1)+diag(dia,1)
V
m=A\V; m=[b1;m;bn]
end
C=y(2:n)./h-h.*m(2:n)'/6
D=y(1:n-1)./h-h.*m(1:n-1)'/6
for j=1: length (z),
for k=1:n-1,
if z(j)>=x(k)&z(j)<=x(k+1),
S3(j)=(m(k+1)*(z(j)-x(k)).^3+m(k)*(x(k+1)-
z(j)).^3)/(6*h(k))+C(k)*(z(j)-x(k))+D(k)*(x(k+1)-z(j));
end
end
end

2. Pada Command Window, definisikan nilai dari 𝑥, 𝑓(𝑥) pada tabel dan z, kemudian panggil
fungsi spline3 dan gunakan algoritma s2=sline3(x,y,x,2,0,0) untuk spine kubik
alami, sehingga akan muncul tampilan seperti berikut
3. Dari hasil di atas, diperoleh nilai matriks 𝐴, 𝑉, 𝑚𝑘 , 𝐶𝑘 , dan 𝐷𝑘
4 1 0 −12
𝐴 = (1 4 1 ) 𝑉 = ( 12 )
0 1 4 −12

30 36 30
𝑚2 = − , 𝑚3 = , 𝑚4 = −
7 7 7

12 6 12
𝐶1 = , 𝐶2 = − 7 , 𝐶3 = , 𝐶4 = 0
7 7

12 6 12
𝐷1 = 0 , 𝐷2 = , 𝐷3 = − 7 , 𝐷4 =
7 7

8. Substitusikan 𝑚𝑘 , 𝐶𝑘 , 𝐷𝑘 ke
𝑚𝑘+1 (𝑥 − 𝑥𝑘 )3 𝑚𝑘 (𝑥𝑘+1 − 𝑥)3
𝑆𝑘 (𝑥) = + + 𝐶𝑘 (𝑥 − 𝑥𝑘 ) + 𝐷𝑘 (𝑥𝑘+1 − 𝑥)
6(𝑥𝑘+1 − 𝑥𝑘 ) 6(𝑥𝑘+1 − 𝑥𝑘 )
diperoleh :
−30/7 12 5 12
𝑆1 (𝑥) = (𝑥 − 1)3 + 0 + (𝑥 − 1) + 0 = − (𝑥 − 1)3 + (𝑥 − 1)
6×1 7 7 7
30
36/7 − 7 6 12
3 (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥)
𝑆2 (𝑥) = (𝑥 − 2) +
6 6 7 7
6 5 6 12
= (𝑥 − 2)3 − (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥)
7 7 7 7
36
−30/7 6 6
𝑆3 (𝑥) = (𝑥 − 3) + 7 (4 − 𝑥)3 − (𝑥 − 3) − (4 − 𝑥)
3
6×1 6 7 7
5 6 12 6
= − (𝑥 − 3)3 + (4 − 𝑥)3 + (𝑥 − 3) − (4 − 𝑥),
7 7 7 7
−30/7 12 5 12
𝑆4 (𝑥) = 0 + (5 − 𝑥)3 + 0 + (5 − 𝑥) = − (5 − 𝑥)3 + (5 − 𝑥).
6 7 7 7

Diperoleh spline kubik alami yaitu,

5 12
− (𝑥 − 1)3 + (𝑥 − 1) ,1 ≤ 𝑥 ≤ 2
7 7
6 5 6 12
(𝑥 − 2)3 − (3 − 𝑥)3 − (𝑥 − 2) + (3 − 𝑥) ,2 ≤ 𝑥 ≤ 3
𝑆(𝑥) = 7 7 7 7
5 6 12 6
− (𝑥 − 3)3 + (4 − 𝑥)3 + (𝑥 − 3) − (4 − 𝑥)
7 7 7 7 ,3 ≤ 𝑥 ≤ 4
5 3
12 ,4 ≤ 𝑥 ≤ 5
{ − 7 (5 − 𝑥) + 7 (5 − 𝑥)

Anda mungkin juga menyukai