用以坐标为参数的函数的结果初始化NumPy矩阵最有效的方法是什么?你知道吗
目前,我只知道如何使用双循环,但我听说它通常不是NumPy矩阵的最佳选择。你知道吗
M = np.zeros((1000,1000))
for i in range(1000):
for j in range(1000):
M[i][j] = f(i,j) #where f is the desired function
有没有更好的方法用任意坐标函数的结果来实现NumPy矩阵?你知道吗
我假设这个函数实际上依赖于两个参数,即没有函数g和h是f(x,y) = h(x)g(y)
。
(原文:f(x,y) = h(g(x,y))
)。你知道吗
这个问题和公认的答案严重不符。
fun
不是坐标的任意函数。它是一个完全“矢量化”的,它接受可广播的数组。你知道吗fromfunction
只需生成一组完整的坐标,并将结果数组传递给函数:np.meshgrid
和np.mgrid
也可以用来生成这些坐标。像这样处理二维数组的函数不是任意的。不过,在使用numpy
时,这是一个非常理想的特性。你知道吗你的问题,或者可能是我们的问题没有得到回应,意味着
i
和j
必须是标量的,因此需要将每个i,j
对分别传递给函数。例如j
可能用于math.sin(j)
,或者函数对i
或j
值进行了一些if
测试。在这种情况下,fromfunction
方法将失败。你知道吗相关问题 更多 >
编程相关推荐