Selasa, 20 Maret 2012

Regresi Polinomial pada Contoh soal 4.2

Depok, 20 Maret 2012

Setelah memahami bagaimana mencari persamaan linear dari contoh 4.1, maka apabila kita melihat ke contoh 4.2, maka kasus soal menjadi seperti ini
Jika kita sekarang hanya diberitahu data penelitian sebagai berikut :
Sekarang kita mempunyai data temperatur seperti diatas, nilai temperatur kita jadikan sebagai sumbu y, untuk sumbu x adalah jarak dari tembok yaitu  :
 Sehingga pasangan titik menjadi (0,100) ; (0.2,150) ; (0.6,218) ; (1,254) ; (1.4,258) ; (1.8,230) ; (2,200) di mana nilai x dibuat dalam satuan cm.

Berikut adalah algoritma pembuatan least square (regresi polinomial)
  1. Tentukan dan susun deretan nilai X dan Y yang diketahui
  2. Tentukan n ( berapa data) yang diketahui
  3. Hitunglah jumlah dari nilai x dan definisikan sebagai sum x
  4. Hitung jumlah dari nilai y dan definisikan sebagai sum y
  5. Lakukan perhitungan kuadrat dari nilai x sehingga setiap nilai x akan dikuadratkan menjadi x^2
  6. Hitung jumlah dari nilai x^2 sehingga dapat didefinisikan menjadi sum x^2
  7. Lakukan perkalian setiap nilai x dengan nilai y sehingga menjadi xy
  8. Hitung jumlah dari nilai xy sehingga dapat didefinisikan menjadi sum xy
  9. Persamaan umum dari persamaan linear adalah y = a2 x^2 + a1 x + a0
  10. Mencari a2, a1, dan a0 menggunakan eliminasi gauss dan kemudia lakukan substitusi balik
Berikut adalah langkah awal visual basic
1. membuat userform

2. Buat program pada commandbutton


Private Sub CommandButton1_Click()
Dim x1, x2, x3, x4, x5, x6, x7, y1, y2, y3, y4, y5, y6, y7, n As Integer
Dim sum_x, sum_y, sum_x_2, sum_x_3, sum_x_4, sum_x_y, sum_x_2_y As Integer
Dim U11, U12, U13, b21, b22, b23, b24, c31, c32, c33, c34, d31, d32, d33, d34 As Integer
Dim a2, a1, a0 As Integer


'Mendefinisikan variabel
x1 = arax1.Text
x2 = arax2.Text
x3 = arax3.Text
x4 = arax4.Text
x5 = arax5.Text
x6 = arax6.Text
x7 = arax7.Text
y1 = aray1.Text
y2 = aray2.Text
y3 = aray3.Text
y4 = aray4.Text
y5 = aray5.Text
y6 = aray6.Text
y7 = aray7.Text
n = aran.Text

'Mencari nilai sum dari berbagai jenis

sum_x = Val(x1) + Val(x2) + Val(x3) + Val(x4) + Val(x5) + Val(x6) + Val(x7)
sum_y = Val(y1) + Val(y2) + Val(y3) + Val(y4) + Val(y5) + Val(y6) + Val(y7)
sum_x_2 = x1 ^ 2 + x2 ^ 2 + x3 ^ 2 + x4 ^ 2 + x5 ^ 2 + x6 ^ 2 + x7 ^ 2
sum_x_3 = x1 ^ 3 + x2 ^ 3 + x3 ^ 3 + x4 ^ 3 + x5 ^ 3 + x6 ^ 3 + x7 ^ 3
sum_x_y = x1 * y1 + x2 * y2 + x3 * y3 + x4 * y4 + x5 * y5 + x6 * y6 + x7 * y7
sum_x_4 = x1 ^ 4 + x2 ^ 4 + x3 ^ 4 + x4 ^ 4 + x5 ^ 4 + x6 ^ 4 + x7 ^ 4
sum_x_2_y = (x1 ^ 2 * y1) + (x2 ^ 2 * y2) + (x3 ^ 2 * y3) + (x4 ^ 2 * y4) + (x5 ^ 2 * y5) + (x6 ^ 2 * y6) + (x7 ^ 2 * y7)


'Eliminasi Gauss untuk menghitung a0, a1, dan a2
'Eliminasi pertama

U11 = sum_x / n

b21 = sum_x - (U11 * n)
b22 = sum_x_2 - (U11 * sum_x)
b23 = sum_x_3 - (U11 * sum_x_2)
b24 = sum_x_y - (U11 * sum_y)

'Eliminasi Kedua
U12 = sum_x_2 / n
c31 = sum_x_2 - (U12 * n)
c32 = sum_x_3 - (U12 * sum_x)
c33 = sum_x_4 - (U12 * sum_x_2)
c34 = sum_x_2_y - (U12 * sum_y)

'Eliminasi Ketiga
U13 = c32 / b22

d31 = c31 - (U13 * b21)
d32 = c32 - (U13 * b22)
d33 = c33 - (U13 * b23)
d34 = c34 - (U13 * b24)

'Substitusi Balik
a2 = d34 / d33
a1 = (b24 - (b23 * a2)) / b22
a0 = (sum_y - (sum_x_2 * a2) - (sum_x * a1)) / n

hasila0.Caption = a0
hasila1.Caption = a1
hasila2.Caption = a2

End Sub

3. Hasil adalah sebagai berikut :

Maka persamaan adalah  y = -104.02 x2 + 258.05 x + 101

Tidak ada komentar:

Posting Komentar