【发布时间】:2019-11-06 14:19:54
【问题描述】:
我有一个整数矩阵phase_space,形状为(n,n),其中每个条目代表空间中该位置的点数。我还有两个更新矩阵u_x, u_y,形状也是(n,n),整数在0,...,n 范围内,指定我的动态系统在空间中的每个对应点的位置。
我想迭代地将更新矩阵“应用”到相空间。
例如,如果
>>>u_x
array([[1, 2, 1],
[0, 1, 2],
[0, 0, 0]])
>>>u_y
array([[2, 1, 2],
[1, 0, 1],
[2, 2, 0]])
>>>phase_space
array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
我想要
>>>new_phase_space
array([[1., 1., 2.],
[1., 0., 2.],
[0., 2., 0.]])
我当前(工作)的解决方案是循环如下
for i in range(n):
for j in range(n):
new_phase_space[u_x[i, j], u_y[i, j]] += phase_space[i,j]
有什么办法可以矢量化吗?
【问题讨论】:
标签: python numpy vectorization