Я пытаюсь реализовать функцию экстраполяции, используя библиотеку Apache Commons Math и функции PolynomialSplineFunction и LinearInterpolator.
public double[] linearInterp(double[] x, double[] y, double[] xi) {
LinearInterpolator li = new LinearInterpolator(); // or other interpolator
PolynomialSplineFunction psf = li.interpolate(x, y);
double[] yi = new double[xi.length];
for (int i = 0; i < xi.length; i++) {
yi[i] = psf.value(xi[i]);
}
return yi;
}
x = [0, 60, 120,180,240];
y = [196, 232, 250, 157, 300];
xi = [300, 360, 420];
проблема в том, что если я использую значение за пределами диапазона x
, я получаю OutOfRangeException
есть ли способ экстраполировать с помощью этого метода? как мне обойти эту ошибку.