0

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

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 数组以相同的值开始和结束。

如何在 x2 的所有值处使用 y1 的外推值创建一个新数组?

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

另请注意,y2 与这个特定问题无关,我只是为了整体理解而提供它。

我尝试使用 Jblasco 为类似问题开发的方法:插入 python 数组以最小化元素之间的最大差异,但是我的问题与该链接中提出的问题有些不同。

4

1 回答 1

0

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

import numpy as np

#here y2 is the new extrapolated array
y2 = np.interp(x2,x1,y1)
于 2014-04-21T01:36:03.500 回答