外推python数组,元素之间的间距不等

时间:2014-04-21 00:27:02

标签: python arrays numpy extrapolation

我有两组大型数组(这里我缩短了它们):

x1 = [0, 2, 4, 6, 8, 10]

y1 = [0.2, 0.19, 0.22, 0.18, 0.22, 0.21]

x2 = [0, 0.2, 0.5, 1, 1.5, 2, 2.7, 3.5, 6, 10]

y2 = [5, 4.9, 4.9, 4.9, 5.2, 4, 4.6, 4, 4.3, 3.9] 

因此,上述数组可以注意到三件事:

  1. x1和y1有6个值,但x2和y2有10个值(确切的数字无关紧要,唯一重要的是x2和y2的值比x1和y1多很多)。

  2. x1间隔均匀,而x2不是。

  3. x数组以相同的值开始和结束。

  4. 如何在x2的所有值处创建一个新数组,其外推值为y1?

    同样重要的是要注意y1具有不会包含在新数组中的潜在值,例如在上面的示例中,不需要y1 [4],因为它不会落在x2的值。< / p>

    另请注意,y2与此特定问题无关,我只是为了全面理解而提供它。

    我尝试过使用Jblasco针对类似问题开发的方法:interpolate python array to minimize maximum difference between elements但是我的问题与该链接中的问题有所不同。

1 个答案:

答案 0 :(得分:0)

这似乎只是一个简单的插值/外推问题。

import numpy as np

#here y2 is the new extrapolated array
y2 = np.interp(x2,x1,y1)