ihtiyacımız olanlar ; button,2 tane memo, combobox
ilk olarak button1 ın onclick event'ına aşagıdaki kodları giriyoruz.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
x:real;
begin
Memo1.Clear;
Randomize; // bu işlem sayesınde button'a her tıkladıgımızda farklı sayılar geliyo
for i:=1 to 100 do //örneklem geniligini kendimiz 100 olrak belirledik
begin
x:=Random*(10-0)+0; //U(0,10);
memo1.Lines.Add(Floattostr(x));
end;
end;
Not: Randomrange tamsayılarda çalıştığı için burada Random kullanarak real sayılar elde etmeye çalıştık.
Örneklem büyüklüğü 100 olarak almamaza ragmen bir editbox koyarak kullanıcının girmesini sağlayabiliriz.
combobox1 in onchange event'ına aşagıdaki kodları giriyoruz ;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
data,x:array of double;
n,i:integer;
min,max,xbar,std:real;
begin
n:=memo1.Lines.Count;
SetLength(data,n);
SetLength(x,n);
for i:=0 to n-1 do
data[i]:=strtofloat(memo1.lines[i]);
memo2.clear;
if ComboBox1.ItemIndex=0 then
begin
min:=MinValue(data);
max:=MaxValue(data);
for i:=0 to n-1 do
begin
x[i]:=(data[i]-min)/(max-min);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end
else if ComboBox1.ItemIndex=1 then
begin
xbar:=Mean(data);
std:=stddev(data);
for i:=0 to n-1 do
begin
x[i]:=((data[i]-xbar)/std);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end;
end;
end.
Bu kod da kullandığımız önemli sayılan kodlar aşağıda listelenmiştir.
min:=MinValue(); // minimum değeri bulur.
max:=MaxValue(); // maximum değeri bulur.
xbar:=Mean(); // ortalama bulur.
std:=stddev(); // Standart Sapmayı bulur.
Hiç yorum yok:
Yorum Gönder