我的理解是(一次使用)numpy的vectorize允许我将数组发送到通常只采用标量的函数,而不是使用内置的map函数(结合lambda函数等).但是,在下面的场景中,当我使用map vs numpy.vectorize时,我得到了不同的结果,我似乎无法弄清楚原因.
import numpy as np
def basis2(dim, k, x):
y = np.array([-0.2, -0.13, -0.06, 0, 0.02, 0.06, 0.15, 0.3, 0.8,
1.6, 3.1, 6.1, 10.1, 15.1, 23.1, 30.1, 35.0, 40.0, 45.0, 50.0, 55.0])
if x < y[k] or x > y[k + dim + 1]:
return 0
elif dim != 0:
ret = ((x - y[k]) / (y[k + dim] - y[k])) * basis2(dim - 1, k, x) + (
(y[k + dim + 1] - x) / (y[k …Run Code Online (Sandbox Code Playgroud)