algoritma untuk button proses adalah :
procedure TForm1.Button1Click(Sender: TObject);
var y0,y1,y2,y3,dy0,dy1,dy2,ddy0,ddy1,dddy0:Real;
begin
y0:=strtofloat(edit7.text);
y1:=strtofloat(edit8.text);
y2:=strtofloat(edit9.text);
y3:=strtofloat(edit10.text);
dy0:=y1-y0;
dy1:=y2-y1;
dy2:=y3-y2;
edit11.Text:=format('%8.4f',[dy0]);
edit12.Text:=format('%8.4f',[dy1]);
edit13.Text:=format('%8.4f',[dy2]);
ddy0:=dy1-dy0;
ddy1:=dy2-dy1;
edit14.Text:=format('%8.4f',[ddy0]);
edit15.Text:=format('%8.4f',[ddy1]);
dddy0:=ddy1-ddy0;
edit16.Text:=format('%8.4f',[dddy0]);
end;
algoritma untuk button hasil adalah :
procedure TForm1.Button2Click(Sender: TObject);
var
x,x0,x1,x2,x3,y0,dy0,ddy0,dddy0,m,n,o,r,y:Real;
begin
x:=strtofloat(edit1.text);
x0:=strtofloat(edit3.text);
x1:=strtofloat(edit4.text);
x2:=strtofloat(edit5.text);
x3:=strtofloat(edit6.text);
y0:=strtofloat(edit7.text);
dy0:=strtofloat(edit11.text);
ddy0:=strtofloat(edit14.text);
dddy0:=strtofloat(edit16.text);
m:=x1-x0;
n:=x2-x1;
o:=x3-x2;
r:=(x-x0)/m;
y:=y0+(r*dy0)+((r*(r-1)*ddy0)/2)+((r*(r-1)*(r-2)*dddy0)/6);
edit2.Text:=format('%8.4f',[y]);
end;
var y0,y1,y2,y3,dy0,dy1,dy2,ddy0,ddy1,dddy0:Real;
begin
y0:=strtofloat(edit7.text);
y1:=strtofloat(edit8.text);
y2:=strtofloat(edit9.text);
y3:=strtofloat(edit10.text);
dy0:=y1-y0;
dy1:=y2-y1;
dy2:=y3-y2;
edit11.Text:=format('%8.4f',[dy0]);
edit12.Text:=format('%8.4f',[dy1]);
edit13.Text:=format('%8.4f',[dy2]);
ddy0:=dy1-dy0;
ddy1:=dy2-dy1;
edit14.Text:=format('%8.4f',[ddy0]);
edit15.Text:=format('%8.4f',[ddy1]);
dddy0:=ddy1-ddy0;
edit16.Text:=format('%8.4f',[dddy0]);
end;
algoritma untuk button hasil adalah :
procedure TForm1.Button2Click(Sender: TObject);
var
x,x0,x1,x2,x3,y0,dy0,ddy0,dddy0,m,n,o,r,y:Real;
begin
x:=strtofloat(edit1.text);
x0:=strtofloat(edit3.text);
x1:=strtofloat(edit4.text);
x2:=strtofloat(edit5.text);
x3:=strtofloat(edit6.text);
y0:=strtofloat(edit7.text);
dy0:=strtofloat(edit11.text);
ddy0:=strtofloat(edit14.text);
dddy0:=strtofloat(edit16.text);
m:=x1-x0;
n:=x2-x1;
o:=x3-x2;
r:=(x-x0)/m;
y:=y0+(r*dy0)+((r*(r-1)*ddy0)/2)+((r*(r-1)*(r-2)*dddy0)/6);
edit2.Text:=format('%8.4f',[y]);
end;
namun, metode interpolasi beda maju atau mundur hanya dapat digunakan ketika memiliki beda yang sama pada x0,x1,x2, ... . oleh karena itu, ketika memiliki beda yang berbeda dianjurkan menggunakan metode lagrange.
sangat membantu
ReplyDelete