gpt4 book ai didi

python - 获取函数评估的所有组合的矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:55 27 4
gpt4 key购买 nike

我有一个有两个参数的 Python 函数,f(x,y),它返回一个标量。我还有两个可能的参数 np.arrayxsys。我想计算一个形状为 (xs.size, ys.size) 的二维 numpy 数组,它保存在所有参数组合下计算的 fxsys。结果应该等于

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 计算定积分。结果矩阵仍然只包含数字。

最佳答案

假设 f 是一个 python 函数,请使用 numpy.frompyfunc().outer()

np.frompyfunc(f, 2, 1).outer(xs, ys)

关于python - 获取函数评估的所有组合的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com