Лабораторная работа: Интерполяция функций 2

n:=edt.Count;

setlength(x,n);

setlength(y,n);

for i:=0 to n-1 do x[i]:=edt.massiv[i];edt.Lines.Delete(0);

for i:=0 to n-1 do y[i]:=edt.massiv[i];edt.Lines.Delete(0);

xx:=strtofloat(edt.Text);

edt.Lines.Delete(0);

s:=0;

for i:=0 to n-1 do

begin

p:=1;

for j:=0 to n-1 do if i<>j then p:=p*(xx-x[j])/(x[i]-x[j]);

p:=p*y[i];

s:=s+p;

end;

edt.writer('',1);

edt.writer('',s,1);

end;


Сплайн – интерполяция ( программа составляет систему линейных уравнений, решая которую находим коэффициенты кубических сплайнов).

procedure TForm1.Button1Click(Sender: TObject);

var b,c,d,x,y:array of real;

urm:array of array of real;

i,j,k,n :byte;

begin

n:=edt.Count;

setlength(x,n);setlength(y,n);

for i:=0 to n-1 do x[i]:=edt.massiv[i];edt.Lines.Delete(0);

for i:=0 to n-1 do y[i]:=edt.massiv[i];edt.Lines.Delete(0);

setlength(b,n-1);setlength(c,n-1);setlength(d,n-1);

К-во Просмотров: 1099
Бесплатно скачать Лабораторная работа: Интерполяция функций 2