2016-08-04 26 views
1

下面是一个简单的例子;假设你有一个只有两个元素的数组。每个元素是一个X-Y坐标。第一个元素是(0,0),下一个元素是(3,3)。我想填补空白,使阵列现在在给定一组X-Y坐标的情况下插入缺失数据点的好算法是什么?

[(0, 0), (1, 1), (2, 2), (3, 3)] 

这是通过填写已提供的两个元素之间的所有整数值点。我觉得这应该很简单,但由于某种原因,我想不出一个好办法。有没有一个好的算法呢?谢谢!

回答

0

取每个邻居并进行线性插值。例如,如果我有[(0,0), (3,3)],我首先计算斜率为1.然后,我看到需要覆盖多少距离(3个单位)以及每个间隔的距离(即(3/(num_interpolants+1)))。然后,我将每个距离乘以斜率,并将其与y值相加,同时将距离增加x值。

0

让我们做一些符号首先,假设我们想点A =之间线性插值(X 一个,Y 一个和点B =(X b,Y b

另外,我们假设插值后,我们希望能有N + 1点(与原来的点一个是与指数分别和ñ,点)。

然后,下面的公式给出的坐标点:

  • X = X 一个 +(X b - X 一个)* i/n
  • y i = y a +(y b - y a)* i/n
+1

谢谢!非常有帮助 – user3047641

+0

@ user3047641不客气!感谢您的评论,我很高兴知道答案是有帮助的。 :-)我也很感激你是否会投票和/或接受答案! – qwertyman

相关问题