【发布时间】:2016-04-10 15:59:18
【问题描述】:
我正在尝试实现一些插值函数来绘制 X 值 = Date.seconds 和 Y 值 = double 的一些值。
我一直在研究使用 Apache Commons Math 库来实现这一点,我发现了一种我认为可以使用 here 的方法
我试图理解的方法:
public double linearInterp(double[] x, double[] y, double xi) {
// return linear interpolation of (x,y) on xi
LinearInterpolator li = new LinearInterpolator();
PolynomialSplineFunction psf = li.interpolate(x, y);
double yi = psf.value(xi);
return yi;
}
我不明白我应该从哪里获得 xi 值?
什么是 xi 我为 xi 传递给这个方法的值是什么,我是否应该循环遍历我的 X 值数组并使用 X 和 @987654331 的数组传入 X 的第 i 个元素@?
当我想绘制这些新数据时,我是否使用返回的yi 以及传入的xi 来绘制?
【问题讨论】:
-
您想绘制插值函数本身,即使用一组 X/Y 点创建像 en.wikipedia.org/wiki/File:Interpolation_example_linear.svg 或 en.wikipedia.org/wiki/File:Interpolation_example_polynomial.svg 这样的图像吗?或者您想获取不在原始数据集中的 X 值的 Y 值并绘制它们?
-
我想绘制插值函数本身,我使用
highchart.js绘制数据。我的最终目标是使用我的 X/Y 点集在未来绘制点的外推函数。也许使用这样的东西:stackoverflow.com/questions/32076041/extrapolation-in-java 但我一直相信如果我有一个插值函数,我可以使用该函数进行推断。
标签: java interpolation apache-commons-math