【发布时间】:2016-01-02 18:41:57
【问题描述】:
假设我有两个矩阵:
X, Y = np.meshgrid(np.arange(0, 2, 0.1), np.arange(3, 5, 0.1))
还有一个函数,比如:
def func(x) :
return x[0]**2 + x[1]**2
如何填充矩阵Z(大小为np.shape(X)),其中每个条目是通过在X 和Y 的两个对应值上调用func 形成的,即:
Z[i, j] = func([X[i, j], Y[i, j]])
有没有办法不用双嵌套for循环?
【问题讨论】:
-
代码中有一个错字
x**[1]。 -
这不就是
Z = func([X, Y])吗? -
最好避免使用小数范围(如
np.arange(0, 2, 0.1)),因为浮点不准确会导致不可预测的端点。请改用linspace。
标签: python arrays numpy vectorization