Senin, 29 Juni 2020

Interpolasi pada MATLAB

Halo sobat semua. Dalam tulisan ini saya ingin berbagi tentang metode interpolasi dengan menggunakan MATLAB. Yuk, simak uraiannya berikut ini. 
Dalam proses pengumpulan data di lapangan atau eksperimen laboratorium bisa saja terjadi kendala, seperti data kurang lengkap atau data hilang yang dapat mengganggu analisis data. Permasalahan tersebut dapat diselesaikan dengan menggunakan interpolasi (interpolation). Interpolasi merupakan suatu teknik mencari nilai-nilai antara yang tidak ada dalam suatu data. Selain berguna mengisi data yang hilang atau kosong, interpolasi juga biasa digunakan untuk memuluskan kurva. Intepolasi terbagi atas beberapa jenis, diantaranya: interpolasi linear, kuadrat, polinomial, Lagrange, dan Newton. Interpolasi yang paling mudah digunakan adalah interpolasi linear.
Dalam MATLAB terdapat berbagai perintah/fungsi yang dapat digunakan untuk interpolasi data. Interpolasi dalam MATLAB dibedakan atas dua jenis, yaitu interpolasi untuk data grid (grid data points) dan data gerombol (scattered data points).  Dalam tulisan ini akan dibahas beberapa interpolasi MATLAB yang umum, diantaranya:
vq = interp1(x,v,xq,method): mencari hasil interpolasi data berdimensi satu. Titik-titik sampel data dinyatakan dengan (x,v). Vektor xq menyatakan sekumpulan titik untuk interpolasi (xq,vq). Beberapa method yang tersedia yaitu linear (default), nearest, cubic, spline, pchip, makima, dan lain-lain.

Vq = interp2(X,Y,V,Xq,Yq,method): mencari hasil interpolasi untuk data grid dua dimensi. Titik-titik sampel data dinyatakan dengan (X,Y,V). Vektor Xq dan Yq menyatakan sekumpulan titik untuk interpolasi (Xq, Yq, Vq). Beberapa method yang tersedia yaitu linear (default), nearest, cubic, spline, dan makima.


Contoh 1
%mendeklarasikan titik-titik sampel (x,v)
x = 0:pi/4:2*pi;
v = cos(x);
%mendeklarasikan titik di sumbu-x untuk interpolasi
xq = 0:pi/16:2*pi;
%interpolasi dan plot
figure
vq1 = interp1(x,v,xq);
plot(x,v,'ro',xq,vq1,'b:.');
xlim([0 2*pi]);
title('Interpolasi linear/standar');
Plot interpolasi linear


Contoh 2
%mendeklarasikan titik-titik sampel (x,v)
x = 0:pi/4:2*pi;
v = cos(x);
%mendeklarasikan titik di sumbu-x untuk interpolasi
xq = 0:pi/16:2*pi;
%interpolasi dan plot
subplot(2,2,1)
vq1 = interp1(x,v,xq,'nearest');
plot(x,v,'ro',xq,vq1,'b:.');
title('Interpolasi nearest');
subplot(2,2,2)
vq2 = interp1(x,v,xq,'linear');
plot(x,v,'ro',xq,vq2,'b:.');
title('Interpolasi linear');
subplot(2,2,3)
vq3 = interp1(x,v,xq,'spline');
plot(x,v,'ro',xq,vq3,'b:.');
title('Interpolasi spline');
subplot(2,2,4)
vq4 = interp1(x,v,xq,'cubic');
plot(x,v,'ro',xq,vq4,'b:.');
title('Interpolasi cubic')
Plot berbagai jenis interpolasi
Contoh 3
%mendeklarasikan titik-titik sampel (X,Y,V)
[X,Y] = meshgrid(-5:5);
V = peaks(11);
%mendeklarasikan titik di sumbu-x dan y
[Xq,Yq] = meshgrid(-5:0.5:5);
%interpolasi dan plot
subplot(2,2,1)
surf(X,Y,V)
title('Plot 3D data sampel');
subplot(2,2,2)
Vq = interp2(X,Y,V,Xq,Yq);
surf(Xq,Yq,Vq);
title('Interpolasi linear');
subplot(2,2,3)
Vq2 = interp2(X,Y,V,Xq,Yq,'spline');
surf(Xq,Yq,Vq2);
title('Interpolasi spline');
subplot(2,2,4)
Vq3 = interp2(X,Y,V,Xq,Yq,'cubic');
surf(Xq,Yq,Vq3);
title('Interpolasi cubic');
Plot dengan interpolasi interp2
Demikianlah pembahasan tentang metode interpolasi dengan menggunakan MATLAB. Nantikan artikel menarik lainnya seputar pemrograman MATLAB.
Semoga bermanfaat.😊

Baca juga:

1 komentar: