我正在尝试将一个大小为~20 的小数组匹配到一个大小为~200000 的较大数组中。两个数组都包含双精度值。在这种情况下,匹配意味着最小的错误,因为不会有完全匹配。
接下来是,我必须更改小数组的值,因为如果它不同但值之间的差距相同,它也应该匹配,这意味着:
array 1: [1.3, 1.4, 1.3, 1.5, 1.7]
array 2: [..., 2.3, 2.4, 2.4, 2.5, 2.7, ...]
我必须将每个比较的最后一个元素带到相同的数字。上面的例子将是一个非常好的匹配,因为首先我会 +1.0 整个数组 #1。
[编辑]为了澄清上述陈述:在计算错误之前,示例数组应如下所示:
array 1: [2.3, 2.4, 2.3, 2.5, 2.7]
// (+1 of each element so the last element of the small array,
// and the last element of the part of the large array I am
// comparing to, has the same values: in this case: 2.7)
array 2: [..., 2.3, 2.4, 2.4, 2.5, 2.7, ...]
[/编辑]
我知道可以简单地遍历大数组,但是太慢了。当然,我可以使用像 norm(v1 - v2) 这样的向量运算,而不是通过遍历数组来计算误差。
所以我听说,python 非常适合数学运算,但我找不到任何如何比较 2 个数组(数组中只有一个数字)的东西。
最后,问题是:任何想法,我如何能以非常快速的方式解决问题。哪种语言可以很好地解决这类问题(八度不是因为它在矢量计算方面速度很快,而是在迭代方面很慢) - 可能在 python 中有一些好的库?
让我知道我是否需要更详细地解释它。