Monday, December 12, 2011

Regresi Linear

dalam metode numerik, regresi linear digunakan untuk menghampiri sebuah fungsi dari data yang kita miliki. misalkan dihampiri dengan fungsi linear, eksponensial, polinomial, dan lain-lain. saat ini, saya coba memaparkan algoritma delphi tentang regresi linear. sebagai berikut :

//prosedur yang pertama tentang masukan dua edit text kepada dua listbox
procedure TForm1.Button1Click(Sender: TObject);
begin
  listbox1.items.add(edit1.Text);
  listbox2.items.add(Edit2.text);
  edit1.Text:='';
  edit2.Text:='';
end;

// yang berikutnya algoritma button tentang proses menuju hasil. 
procedure TForm1.Button2Click(Sender: TObject);
var
  a:array[-100..100] of real;
  ad:array[-100..100] of real;
  b:array[-100..100] of real;
  xy:array[-100..100] of Real;
  i,k,l,n:integer;
  sqr,jml,jmly,xxy,a1,a0:real;
begin
//untuk menghitung banyak data dalam listbox
  edit3.Text:=inttostr(listbox1.items.Count);
//membaca data dalam listbox
  for i:=0 to listbox1.items.count-1 do
    a[i]:=strtofloat(listbox1.Items[i]);
//menjumlahkan data dalam listbox  
jml:=0;
  for i:=0 to listbox1.Items.Count-1 do
  jml:=jml+a[i];
  edit6.Text:=format('%8.4f',[jml]);
  for i:=0 to listbox1.Items.Count-1 do
    ad[i]:=(a[i])*(a[i]);
  sqr:=0;
  for i:=0 to listbox1.Items.Count-1 do
    sqr:=sqr+ad[i];
  edit7.Text:=format('%8.4f',[sqr]);

  for k:=0 to listbox2.Items.Count-1 do
    b[k]:=strtofloat(listbox2.Items[k]);
  jmly:=0;
  for k:=0 to listbox2.items.Count-1 do
    jmly:=jmly+b[k];
  edit9.Text:=format('%8.4f',[jmly]);

   for k:=0 to listbox2.Items.count-1 do
   for i:=0 to listbox1.items.Count-1 do
        xy[k]:=(a[i])*(b[k]);
  xxy:=0;
  for k:=0 to listbox1.items.Count-1 do
    xxy:=xxy+xy[k];
  edit8.Text:=format('%8.4f',[xxy]);

  n:=strtoint(edit3.Text);
  a1:=((n*xxy)-(jml*jmly))/((n*sqr)-(jml*jml));
  a0:=(jmly-(a1*jml))/n;
  edit4.Text:=format('%8.4f',[a0]);
  edit5.Text:=format('%8.4f',[a1]);
end;

end.

untuk mendownload aplikasi ini, klik disini.
atau kunjungi link ini : http://www.4shared.com/file/hOKCXpFT/Regresi_Linear.html?
algoritma yang saya buat, masih terdapat kekurangan. silahkan perbaiki. terima kasih.
salam GENERATOR.

3 comments: