Python中的数组插值?

5

我有两个数组:

array_x = [x1, x2, x3, x4... xn]
array_y = [y1, y2, y3, y4... yn]

我希望有一个函数f(array_x, array_y, value_x),它可以通过对数组进行插值计算来返回与value_x相关的value_y

如何实现这个功能?


你想要什么并不是完全清楚的。你希望获取array_x中与value_x对应的位置所对应的array_y中的值吗? - noio
1
@Noio:假设你在时间点[10,20,30]有数值[1,2,3],那么想要在时间点24进行插值。有很多方法可以实现这个目的。最简单的方法是分段线性插值,这也是numpy.interp所使用的方法。 - Eryk Sun
1个回答

13

我认为numpy.interp正是你想要的。例如:

numpy.interp(value_x,array_x,array_y)

请注意,这里的value_x可以是标量或另一个类似于数组的值。如果它是一个类似于数组的值,你将得到相应插值值的数组。

嗯...怎么写我的自己的呢?有些人抱怨他们没有numpy,所以我需要自己写... - Adrians Netlis
线性插值是一个相当著名的算法。从那里开始,只需要搜索数组(可以使用二分法)来查找边界元素,这些元素限定了您想要插值到的值 - 话虽如此,对于任何实际的数学分析,“numpy”似乎是标准。那些人为什么不能安装numpy呢? - mgilson
当我制作游戏时,我不想为numpy(如果已安装)和安装程序(如果未安装)放置测试器。因此... - Adrians Netlis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接