Uploaded by Hidayatul Latifah

[Modul 8 Interpolasi Shift 8]Hidayatul Latifah 10211016

advertisement
MODUL 8
INTERPOLASI
Hidayatul Latifah
10211016
Program Studi Fisika, Institut Teknologi Bandung, Indonesia
E-mail: [email protected]
Asisten: Ulin Nuha A. Q. / 10210095
Fauzia P. Lestari / 10210085
Tanggal Praktikum: 17-04-2014
Abstrak
Untuk 𝑛 + 1 data terdapat suatu polinom orde n atau kurang yang melalui semua titik. Metode tersebut
disebut dengan interpolasi. Interpolasi dapat dilakukan dengan berbagai macam metode. Pada percobaan
ini akan dilakukan interpolasi data dengan menggunakan metode gradient dan metode polinom. Interpolasi
dilakukan dengan membuat program dengan menggunakan software Matlab. Dari interpolasi yang
dilakukan kemudian dilakukan pembandingan terhadap kedua metode interpolasi. Dari percobaan yang
telah dilakukan metode gradien lebih sesuai dengan data yang ada dibanding dengan metode polinom,
karena pada metode polinom terdapat penyimpangan. Untuk mengurangi penyimpangan pada metode
polinom dilakukan pembagian data agar interpolasi yang diperoleh lebih sesuai.
Kata kunci: Interpolasi, Metode Gradien, Metode Polinom
I.
Pendahuluan
Untuk mencari nilai di sebuah titik data
yang tidak diketahui sebelumnya biasanya
digunakan metode menggunakan suatu
polinom. Berikut adalah rumusan untuk
polinom berderajat n,
𝑓 𝑥 = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 + 𝑎3 𝑥 3 + ⋯ +
𝑎𝑛 𝑥 𝑛
(1)
Untuk 𝑛 + 1 data terdapat suatu polinom
orde n atau kurang yang melalui semua titik.
Metode tersebut disebut dengan interpolasi.
Interpolasi yang paling sederhana adalah
interpolasi linier. Metode ini dilakukan
dengan cara menghubungkan dua buah titik
data dengan suatu garis lurus lalu mencari
gradient dua titik tersebut dengan cara,
𝑚=
𝑦2 −𝑦1
𝑥 2 −𝑥 1
(2)
Kemudian untuk mencari nilai di antara
titik tersebut dapat dilakukan dengan
menurunkan persamaan (2),
𝑦2 = 𝑚 𝑥2 − 𝑥1 + 𝑦2
(3)
Pada percobaan modul ini, akan
dilakukan interpolasi linier dan polinom pada
11 titik pada tabel 1. Kemudian akan
dibandingkan hasil interpolasi secara linier
dan polinom terhadap data tersebut.
No
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Tabel 1. Data sampel X dan Y
X
Y
1
2.5
3
2.5
4
3
6
8
9
12
12
16
20
18
25
17.5
30
15.5
40
8.5
50
1.5
II. Metode Percobaan
Dari data pada tabel 1 akan dibuat
interpolasi dengan dua metode yaitu dengan
metode linier atau gradien dan dengan
metode polinom.
Pada metode gradien, dicari gradient
pada setiap dua titik pada data yang ada
dengan menggunakan persamaan (2).
Kemudian dicari nilai di setiap titik pada
selang data dengan menggunakan persamaan
(3). Lalu dibuat kode sederhana dengan
menggunakan Matlab.
Pada metode polinom, pada setiap titik
memiliki persamaan seperti persamaan (1).
Dari persamaan tersebut dapat dibuat matriks,
𝑌 = 𝑋. 𝐴
Sehingga A dapat dicari dengan,
𝐴 = 𝑋 −1 𝑌
metode polinom agar hasil interpolasi lebih
sesuai,
Dari program yang dibuat kemudian
kedua metode dibandingkan apakah sama
atau tidak. Dan dilihat metode mana yang
lebih baik.
III. Data dan Pengolahan
Pada percobaan yang dilakukan (membuat
program sederhana dengan Matlab) diperoleh
data grafik sebagai berikut,
Berikut adalah grafik yang diperoleh saat
interpolasi menggunakan metode gradient,
Gambar 3. Grafik interpolasi dengan metode
polinom yang dimodifikasi
Gambar 1. Grafik interpolasi dengan metode
gradien
Berikut adalah grafik interpolasi yang
diperoleh dengan menggunakan metode
polinom,
Gambar 2. Grafik interpolasi dengan metode
polinom
Karena
hasil
interpolasi
dengan
menggunakan metode polinom sangat
berbeda dengan pola data yang seharusnya
(menyimpang)
sehingga
dilakukan
pembagian interpolasi dengan menggunakan
Gambar 4. Grafik interpolasi dengan metode
polinom yang dimodifikasi
IV. Pembahasan
Dari kedua metode interpolasi yang
dilakukan diperoleh grafik pada gambar 1
dan 2. Dari kedua grafik dari metode tersebut,
metode gradien terlihat lebih sesuai dengan
data debanding dengan metode polinom.
Metode gradient lebih sesuai karena metode
ini dilakukan pada setiap dua titik data
sedangkan
untuk
metode
polinom
diinterpolasi pada semua data sehingga dapat
terjadi penyimpangan pada titik tertentu.
Penyimpangan pada metode polinom ini
dapat terjadi karena terdapat data yang
nilainya jauh berbeda dengan data lainnya
sehingga saat dibuat interpolasi dari data
tersebut
terjadi
penyimpangan
pola
interpolasi.
Pola interpolasi yang menyimpang dapt
diperbaiki dengan cara memperkecil jumlah n
pada persamaan (1) sehingga terdapat lebih
dari satu persamaan dalam satu data. Dengan
begitu akan memperkecil penyimpangan pola
interpolasi yang terjadi.
Grafik pada gambar 3 merupakan hasil
interpolasi dengan metode polinom dimana
data dibagi menjadi 3 bagian dan pada grafik
gambar 4 data dibagi menjadi 4 bagian. Dari
kedua grafik tersebut terlihat bahwa
penyimpangan interpolasi semakin kecil saat
data dibagi menjadi lebih banyak.
V. Simpulan
 Dari interpolasi data yang telah
dilakukan dengan menggunakan metode
gradien dan metode polinom diperoleh
bahwa metode gradien lebih sesuai
dengan data daripada metode polinom
 Agar
pada
metode
polinom
penyimpangan interpolasi lebih kecil
dapat dilakukan dengan cara membagi
data saat interpolasi dilakukan
VI. Pustaka
[1] Steven C. Chapra. 2012. Applied
Numerical Methods with Matlab for
Engineers and Scientist. New York: The
McGraw-Hill Companies.
Lampiran
Kode
program
interpolasi
menggunakan metode gradien,
end
end
clc
close
clear
A = inv(xx)*y;
x =
[1;2;4;6;9;12;20;25;30;40;50];
y =
[2.5;2.5;3;8;12;16;18;17.5;15.5;8
.5;1.5];
for i = 1 : 10
m(i,1) = (y(i+1,1)y(i,1))/(x(i+1,1)-x(i,1));
end
gx = [];
gy = [];
disp(['x
y']);
for xx = 1 : 50
for i = 1 : 10
if(xx >= x(i,1) && xx <=
x(i+1,1))
fxx = m(i,1)*(xxx(i,1))+y(i,1);
end
end
disp([num2str(xx) '
'
num2str(fxx)]);
gx = [gx;xx];
gy = [gy;fxx];
end
hold on;
plot(x,y,'bsq');
plot(gx,gy,'g');
legend('Data','Interpolasi');
xlabel('x');ylabel('y');
title('Interpolasi Gradien');
Kode
program
interpolasi
menggunakan metode polinom,
xx(i,j) = x(i,1)^(j-1);
dengan
dengan
clc
close
clear
px = [];
py = [];
disp(['x
y']);
for xs = 1 : 50
fxs = 0;
for i = 1 : 11
fxs = fxs + A(i,1)*xs^(i1);
end
disp([num2str(xs) '
'
num2str(fxs)]);
px = [px;xs];
py = [py;fxs];
end
hold on;
plot(x,y,'bsq');
plot(px,py,'g');
legend('Data','Interpolasi');
xlabel('x');ylabel('y');
title('Interpolasi Gradien');
Kode
program
interpolasi
dengan
menggunakan metode polinom dengan dibagi
menjadi 3 bagian,
clc
close
clear
x =
[1;2;4;6;9;12;20;25;30;40;50];
y =
[2.5;2.5;3;8;12;16;18;17.5;15.5;8
.5;1.5];
for i = 1 : 4
y1(i,1) = y(i,1);
end
for i = 1 : 4
y2(i,1) = y(i+3,1);
end
x =
[1;2;4;6;9;12;20;25;30;40;50];
y =
[2.5;2.5;3;8;12;16;18;17.5;15.5;8
.5;1.5];
for i = 1 : 5
y3(i,1) = y(i+6,1);
end
for i = 1 : 11
for j = 1 : 11
for i = 1 : 4
for j = 1 : 4
xx1(i,j) = x(i,1)^(j-1);
end
end
for i = 1 : 4
for j = 1 : 4
xx2(i,j) = x(i+3,1)^(j1);
end
end
for i = 1 : 5
for j = 1 : 5
xx3(i,j) = x(i+6,1)^(j1);
end
end
A1 = inv(xx1)*y1;
A2 = inv(xx2)*y2;
A3 = inv(xx3)*y3;
px = [];
py = [];
disp(['x
y']);
for xs = 1 : 50
fxs = 0;
if(xs >= x(1,1) && xs <=
x(4,1))
for i = 1 : 4
fxs = fxs +
xs ^ (i-1);
end
elseif(xs >= x(4,1)
x(7,1))
for i = 1 : 4
fxs = fxs +
xs ^ (i-1);
end
elseif(xs >= x(7,1)
x(11,1))
for i = 1 : 5
fxs = fxs +
xs ^ (i-1);
end
end
disp([num2str(xs) '
num2str(fxs)]);
px = [px;xs];
py = [py;fxs];
end
A1(i,1) *
&& xs <=
A2(i,1) *
&& xs <=
A3(i,1) *
'
hold on;
plot(x,y,'bsq');
plot(px,py,'g');
legend('Data','Interpolasi');
xlabel('x');ylabel('y');
title('Interpolasi Gradien');
Download