Я начал использовать библиотеку Alglib, а именно функцию spline1dbuildlinear.
При использовании небольшого набора данных (для X & Y) например, скрипт кода ниже, он работает нормально:
vector<double> X(5), Y(5);
X[0]=0.1;
X[1]=0.4;
X[2]=1.2;
X[3]=1.8;
X[4]=2.0;
Y[0]=0.1;
Y[1]=0.7;
Y[2]=0.6;
Y[3]=1.1;
Y[4]=0.9;
AX.setcontent(X.size(), &(X[0]));
AY.setcontent(Y.size(), &(Y[0]));
alglib::spline1dinterpolant spline;
alglib::spline1dbuildlinear(AX, AY, X.size(), spline);
Но при использовании X & Вектор Y содержит двойные элементы размером «1995», и он вызывает исключение в блоке catch (alglib_impl :: ae_error_type).
После попытки найти какое-либо решение через Интернет я обнаружил, что мне может понадобиться использовать:
alglib_impl::ae_state *_state;
функция инициализации состояния, но не может найти правильный способ отладки. Любые предложения будут высоко оценены.
Задача ещё не решена.