得到所有函数求值组合的矩阵

2024-04-19 14:59:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含两个参数的Python函数f(x,y),它返回一个标量。我还有两个np.array可能的参数,xsys。我想计算一个形状为(xs.size, ys.size)的二维numpy数组,它保存从xsys得到的所有参数组合的f值。结果应等于

np.array([[f(x,y) for y in ys] for x in xs])

我希望尽可能高效地实现这一点,并利用多处理器内核。f没有任何副作用。我试图使用numpy.vectorize,但没有达到预期的效果。例如numpy.outer完全符合我对f=operator.__mul__特例的要求。你知道吗

作为一个额外的警告,尽管可能不是立即相关的,但是其中一个数组,比如ys,不包含数字,而是由scipy.interpolate.interp1d返回的对象。函数f通过这些插值scipy.integrate.quad计算定积分。得到的矩阵仍然只包含数字。你知道吗


Tags: 函数innumpyfor参数sizenp数字