К сожалению, я не знаком со Сципионом, но, возможно, это поможет:
Полагаю, это полиномиальные сплайн-функции, поэтому вы можете фактически интерполировать ваш набор данных вблизи краев с фактическими полиномами. Это легко.
Предположим, у нас есть набор данных точек, таких как (xi, yi), i = 1..n. С помощью функции splerp мы можем найти первую производную (на самом деле будет существовать конечная разница) в точках '2' (df_second ') и' n-1 '(df_before_last). Тогда нам понадобятся две системы линейных уравнений:
a1*x1^2 + b1*x1 + c1 = y1
a1*x2^2 + b1*x2 + c1 = y2
2*a1*x2 + b1 = df_second
и
a2*xn^2 + b2*xn + c2 = yn
a2*x(n-1)^2 + b2*x(n-1) + c2 = y(n-1)
2*a2*x(n-1) + b2 = df_before_last
Решая это уравнение, вы получите два многоугольника: a1 * x ^ 2 + b1 * x + c1 и a2 * x ^ 2 + b2 * x + c2, которые будут интерполироваться и легко получать доступ к функции сплайна.
На самом деле, вы можете повысить степень полиномов и установить кривизну и угол интерполированной графики в первой и последней точке, просто поместив дополнительные уравнения в систему.