Apache common math libには、Akimaアルゴリズムを使用してデータセットの3次スプライン補間を計算するために使用できるクラスAkimaSplineInterpolatorがあります。
http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator.html
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
以下のコードは、あなたの条件のための完全な実装ではありません。しかし、これを出発点としてこれをさらに進めることができます。お役に立てれば!
public static void main(String[] main) {
double [] xDouble = new double [] {24.0, 35.0, 67.0, 78.0,79.0};
double [] yDouble = new double [] {13.0, 45.0, 8.0, 45.0, 23.0};
AkimaSplineInterpolator asi = new AkimaSplineInterpolator();
PolynomialSplineFunction psf = asi.interpolate(xDouble, yDouble);
for (PolynomialFunction pf : psf.getPolynomials()) {
System.out.println(pf.polynomialDerivative());
}
}
これらのライブラリの両方には、「スプライン」が含まれていません – Mavie