2024-04-26 21:41:08 发布
网友
gridmax, gridsize = 8, 150 grid=linspace(0, gridmax**1e-1, gridsize)**10 sigma= lambda s:0
我要评估网格上所有点的函数sigma。然而,我得到的不是一个零数组,而是一个零。我想要一个零数组。救命啊!你知道吗
使用列表理解
grid = [sigma(e) for e in grid] 10000 loops, best of 3: 21.6 us per loop
使用numpy的矢量化
grid = np.vectorize(sigma)(grid) 100 loops, best of 3: 2.61 ms per loop
或矢量化lambda函数:
sigma = lambda s: np.zeros(s.shape) grid = sigma(grid) 1000000 loops, best of 3: 667 ns per loop
矢量化版本显然是性能最好的。你知道吗
使用列表理解
使用numpy的矢量化
或矢量化lambda函数:
矢量化版本显然是性能最好的。你知道吗
相关问题 更多 >
编程相关推荐