Sunday, March 1, 2015

Tutorial Curve Fitting di Matlab

Dexter / / 0
Curve fitting ialah proses pencocokan pola data dalam bentuk grafik kedalam sebuah persamaan. pengertian sederhananya yaitu mengubah grafik data menjadi sebuah persamaan yang dapat mewakili grafik tersebut. hal ini dapat dilakukan dengan mudah di matlab. berikut tutorialnya :

1. buka matlab
2. siapkan data grafik anda. jika tidak punya sebagai contoh disini kita buat data grafik dengan persamaan berikut ini.
ketik di command windows matlab

x=-10:0.1:10;
y = x^.2 + 10;

pastikan pada jendela workspace terdapat data x dan y.

3. ketik  cftool untuk menggunakan matlab curve fitting, kemudian akan muncul dialog seperti gambar berikut ini:


4. kemudian pilih x data dengan data 'x' dan y data dengan data 'y' yang telah kita hasilkan dengan mengetik persamaan diatas tadi. kemudian pada grafik akan secara otomatis menampilkan data dalam bentuk grafik  seperti gambar berikut ini.


5.  dari gambar diatas dapat kita lihat terdapat dua garis, yang warna hitam adalah data yang kita punya, dan yang biru adalah data perkiraan dengan rumus polynomial. dari grafik tersebut dapat kita lihat tidak ada kecocokan sama sekali. kemudian kita cari dengan pilihan rumus atau degree yang tersedia pada kolom polynomial



 6. pertama mari kita coba dengan meningkatkan degree dari polynomial menjadi dua . Alhasil seperti berikut :


dari gambar diatas terlihat garis biru menyerupai garis warna hitam, sehingga hal ini dapat dikatakan persamaan ini sudah sesuai untuk mewakili persamaan  y = x^.2 + 10 . persamaan baru yang kita peroleh dapat kita lihat pada sisi sebelah kiri grafik. seperti berikut ini :

 dari gambar diatas dapat dilihat persamaan baru yang mewakili grafik, yaitu
y = p1*x^2 + p2*x +p3

dengan nilai p1, p2, p3 seperti tertulis diatas, dengan mengabaikan nilai yang sangat kecil yaitu p2. maka akan kita dapatkan persamaan baru diatas menjadi 
y = x^2 + 10 .. sehingga curve fitting mampu mengenali persamaan hingga 99%. 

untuk mewakili data diatas , tidak terpaku pada persamaan polynomial, anda juga bisa mencoba dengan persamaan exponential atau gaussian degree 2, namun untuk yang exponential kurang bagus hasilnya dibanding dengan gaussian degree 2. 

untuk exponential persamaan yang mewakili adalah :

     f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
       a =       7.948  (7.274, 8.622)
       b =     -0.2705  (-0.2804, -0.2606)
       c =       7.948  (7.275, 8.622)
       d =      0.2705  (0.2606, 0.2804)

dan untuk gaussian persamaan nya adalah :

     f(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
Coefficients (with 95% confidence bounds):
       a1 =       173.8  (168.3, 179.4)
       b1 =       15.77  (15.5, 16.05)
       c1 =       8.442  (8.306, 8.579)
       a2 =       173.8  (168.3, 179.4)
       b2 =      -15.77  (-16.05, -15.5)
       c2 =       8.442  (8.306, 8.579)

Selamat mencoba dengan data anda.
Semoga tulisan ini membantu, :)

0 comments:

Latest