Sabtu, 04 Juli 2020

Pencocokan Kurva (Curve-Fitting) dengan MATLAB

Halo sobat semua. Dalam tulisan kali ini saya ingin berbagi tentang metode pencocokan kurva dengan menggunakan MATLAB. Yuk, simak uraiannya berikut ini. 
Pencocokan kurva (curve-fitting) merupakan suatu proses pencocokan (fitting) data ke dalam suatu fungsi suku banyak atau polinomial. Kurva yang terbentuk dapat berubah hasil dari fungsi linear (garis lurus), kuadrat, eksponensial, suku banyak/polinomial pangkat tiga, empat dan lain sebagainya. Dalam proses pencocokan kurva biasanya error atau kesalahan dihitung dengan metode kuadrat terkecil (least squares method).
MATLAB menyediakan perintah yang dapat kita gunakan untuk mencocokkan sekumpulan data dengan kurva tertentu. Dengan menggunakan perintah polyfit, MATLAB akan menampilkan koefisien dari suatu polinom yang tepat untuk data yang diberikan.
polyfit(x,y,n): menentukan koefisien polinomial berderajat n yang cocok dengan y.

Contoh 1
Diketahui data berikut:

x
10
20
30
40
50
60
70
80
90
100
y
27.53
52.43
75.63
102.67
125.34
150.33
177.4
202.34
228.56
253.7
Misalkan kita menduga data tersebut cocok digambarkan dengan fungsi linear, maka pada MATLAB dituliskan:

x=[10   20  30  40  50  60  70  80  90  100];
y=[22.53 49.43 75.63   95.67   100.34  150.33  177.4   189.34  228.56  233.7];
p=polyfit(x,y,1)
MATLAB akan menampilkan hasil berikut:
p =
    2.4353    -1.6460
Artinya bahwa data di atas dapat dinyatakan dengan fungsi:

Sekarang, mari kita coba lihat hasilnya:
x=[10   20  30  40  50  60  70  80  90  100];
y=[22.53 49.43 75.63   95.67   100.34  150.33  177.4 189.34  228.56  233.7];
p=polyfit(x,y,1)
y1=polyval(p,x);
plot(x,y,'*')
hold on
plot(x,y1)
Pencocokan kurva dengan fungsi linear
Contoh 2
Dari suatu penelitian diperoleh data berikut:

x
1
2
3
4
5
6
7
8
9
10
y
0.93
2.1
8.5
15.5
24.3
28.7
42.2
50
80.2
90.3
Selanjutnya data tersebut akan dicocokkan dengan polinomial tertentu.
Misalkan dengan mengamati data sekilas, kita menduga bahwa fungsi yang cocok mewakili data tersebut adalah fungsi kuadrat. Pada MATLAB kita tuliskan.
x=[1    2   3   4   5   6   7   8   9   10];
y=[0.93 2.1 8.5 15.5 24.3 28.7  42.2 50  80.2 90.3];
>> p=polyfit(x,y,2)

p =
    1.0166   -1.2247    1.8703

Artinya bahwa data di atas dapat dinyatakan dengan fungsi:

Sekarang, mari kita coba lihat hasilnya:
x=[1  2   3   4   5   6   7   8   9   10];
y=[0.93 2.1 8.5 15.5 24.3 28.7  42.2 50  80.2 90.3];
p=polyfit(x,y,5);
y1=polyval(p,x);
plot(x,y,'o')
hold on
plot(x,y1)
Pencocokan kurva dengan fungsi kuadrat


Contoh 3
Misalkan diketahui data berikut:

x
1
2
3
4
5
6
7
8
9
10
y
302.8
213
129.8
-0.6
-102
-258.2
-303
-390.2
-343.6
-207

Selanjutnya data tersebut akan dicocokkan dengan polinomial tertentu.
x=[1 2 3 4 5 6 7 8 9 10];
x1=linspace(0,10,100);
y=[302.8 203 129.8 -0.6 -102 -258.2 -303 -390.2 -343.6 -207];
p3=polyfit(x,y,3)
p4=polyfit(x,y,4)
p5=polyfit(x,y,5)
y1=polyval(p3,x1);
y2=polyval(p4,x1);
y3=polyval(p5,x1);
plot(x,y,'o')
hold on
plot(x1,y1,'-',x1,y2,'-.',x1,y3,'--');
legend('data','orde-3','orde-4','orde-5')
xlabel('sumbu-x'),ylabel('sumbu-y')
title('perbandingan beberapa polinomial')

Selanjutnya MATLAB akan menampilan hasil berikut:
p3 =
   3.0477  -39.2811   37.6651  286.3333
p4 =
   0.2695   -2.8818    4.1119  -80.9246  378.8333
p5 =
-0.0244    0.9394   -9.6211   34.2562 -138.3469  413.6667

Pencocokan kurva dengan beberapa polinomial
Demikianlah pembahasan tentang metode pencocokan kurva dengan menggunakan MATLAB. Nantikan artikel menarik lainnya seputar pemrograman MATLAB.
Semoga bermanfaat.😊

Baca juga:

Tidak ada komentar:

Posting Komentar