Breaking News
recent

Heun Integral dengan N korektor

untuk korektor sembarang. Butuh 99 korektor bisa....
he...3x ndak tw bener apa gak, Cek Out.....


function fungsi(x,y:real):real;

begin

//result:=4*exp(0.8*x)-0.5*y;

result:=(500-4*y)/(300-2*x)

end;

//button berisi metode heun dengan n korektor

procedure TForm1.Button1Click(Sender: TObject);

var

x0,xt,n,i,k,nkorektor,bar:integer;

x,y,teta1,teta2,y0i,yi:array [1..100] of real;

h:real;

begin

stringgrid1.Refresh;

x0:=strtoint(edit1.text);

xt:=strtoint(edit2.text);

x[1]:=strtofloat(edit3.text);

y[1]:=strtofloat(edit4.text);

n:=strtoint(edit5.text);

nkorektor:=strtoint(edit6.Text);

h:=(xt-x0)/n;

bar:=0;

for i:=1 to n do

begin

teta1[i]:=fungsi(x[i],y[i]);

y0i[i]:=y[i]+( fungsi(x[i],y[i])*h );

x[i+1]:=x[i]+h;

teta2[i]:=fungsi(x[i+1],y0i[i]);

for k:=1 to nkorektor do

begin

bar:=bar+1;

y[i+1]:=y[i]+((teta1[i]+teta2[i])*h)/2;

stringgrid1.cells[5,bar]:=floattostr(teta2[i]);

stringgrid1.cells[6,bar]:=floattostr(y[i+1]);

teta2[i]:=fungsi(x[i+1],y[i+1]);

end;

bar:=bar+1;

//mengeluarkan pada stringgrid

stringgrid1.cells[0,bar-nkorektor]:=inttostr(i);

stringgrid1.cells[1,bar-nkorektor]:=floattostr(x[i]);

stringgrid1.cells[2,bar-nkorektor]:=floattostr(y[i]);

stringgrid1.Cells[3,bar-nkorektor]:=floattostr(teta1[i]);

stringgrid1.cells[4,bar-nkorektor]:=floattostr(y0i[i]);

label8.caption:='nilai h sebesar '+floattostr(h)+

' dan hasil integral sebesar = ' + floattostr(y[i+1]);

bar:=bar-1;

end;

stringgrid1.cells[0,bar+1]:=inttostr(n+1);

stringgrid1.cells[1,bar+1]:=floattostr(x[n]+h);

stringgrid1.cells[2,bar+1]:=floattostr(y[n+1]);

stringgrid1.RowCount:=bar+2;

end;

No comments:

Powered by Blogger.