1
假设我有一个Python函数f(),它接受2标量和1个array_like参数:呼叫函数
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转换为相同形状的三维数组,但f()中的np.sum()将始终返回一个标量。
所以它的工作原理?你只是想要矢量化它? – Stephan
你是真正的功能吗?如果是这样,它会减少到* log(a) - arr *(1-(a /(2 * b))。 – tom10
@ tom10不,它不是真正的函数:) – ianalis