数字矢量化功能



我有这个函数fs(i,j,dif(。通过这样做很容易对此功能进行矢量化vfunc = np.vectorize(fs)问题是,我想计算这个函数的输出

i=0, j=1,2,3,4,5, ...ysize-1
i=1, J=1,2,3,4,5, ...ysize-1
....
i=xsize-1,  j=1,2,3,4,5 ... ysize-1

对于一个i值,vfunc(0, np.arange(ysize), 0) (dif=0)没有问题

但是我找不到如何针对i的所有值执行此操作.

我设法做到这一点的唯一方法是

vfunc([[0],[1],[2],...[xsize-1]], np.arange(ysize), 0)

这对于大型 xsize 是不可行的。有没有办法做到这一点?

我理解你的问题如下。您想知道如何用 xsize 表示列表[[0],[1],[2],...[xsize-1]]吗?列表理解为您完成这项工作。[[0],[1],[2],...[xsize-1]]=[[i] for i in range(xsize)]然后可以按如下方式调用矢量化函数(对于示例函数fs(

import numpy as np
xsize=10
ysize=15
def fs(i,j,dif):
return i+j
np.vectorize(fs)([[i] for i in range(xsize)],np.arange(ysize),0)

最新更新