假设我有一个接受 2 个标量和 1 个 array_like 参数的 python 函数 f():
def f(a, b, arr):
X = a * np.exp(-arr**2 / b)
return np.sum(a * np.log(X) - arr)
我想要做的是评估 f() 为 a 和 b 的不同值,同时保持相同的 arr:
XX, YY = np.meshgrid(A_axis, B_axis)
arr = np.arange(10)
ZZ = np.empty_like(XX)
for i in range(XX.shape[0]):
for j in range(YY.shape[1]):
ZZ[i,j] = f(XX[i,j], YY[i,j], arr)
有没有办法对此进行矢量化?我正在考虑将 XX、YY 和 arr 转换为相同形状的 3D 数组,但 f() 中的 np.sum() 将始终返回一个标量。