const N=5; //Вот описание процедуры из модуля (писал ее не я) (************************************************************************* Процедура Spline3BuildTable служит для построения таблицы коэффициентов кубического сплайна по заданным точкам и граничным условиям, накладываемым на производные. В дальнейшем постренная таблица используется функцией Spline3Interpolate. Параметры: N - число точек DiffN - тип граничного условия. "1" соответствует граничным условиям накладываемым на первые производные, "2" - на вторые. xs - массив абсцисс опорных точек с номерами от 0 до N-1 ys - массив ординат опорных точек с номерами от 0 до N-1 BoundL - левое граничное условие. Если DiffN равно 1, то первая произ- водная на левой границе равна BoundL, иначе BoundL равна вторая. BoundR - аналогично BoundL Выходные значения: ctbl - в этот массив помещается таблица коэффициентов сплайна. Эта таблица используется функцией Spline3Interpolate. *************************************************************************) procedure TForm1.SpeedButton1Click(Sender: TObject); var X, Y, Z :TReal1DArray; MyCtbl : TReal2DArray; i :integer; begin SetLength(X,5*sizeof(Double)); SetLength(Y,5*sizeof(Double)); SetLength(Z,50*sizeof(Double)); x[0]:=1; y[0]:=2; x[1]:=7; y[1]:=4; x[2]:=10; y[2]:=6; x[3]:=17; y[3]:=2; x[4]:=24; y[4]:=5; Spline3BuildTable(N, 1, X, Y, 1, 1, MyCtbl); //Далее сама интерполяция for i:=1 to 30 do begin Z[i] := Spline3Interpolate(N, MyCtbl, i); end; end;