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.
Bagus sharingnya. Lanjutkan!!!
ReplyDeletesip pak sopandi.. terima kasih
ReplyDeleteMati gan linknya
ReplyDelete