我有以下情况。在离散域0,1,…,L上有M个独立的随机游走者。我们对N个相同的域这样做。这导致矩阵X
,其中X[i, j]
是域j
上的walker i
的位置。为了进行随机步骤,我向矩阵X
添加了一个形状相同的矩阵,其中包含random+1和-1。然后我处理边缘。这很有效
但是,我想扩展这个模型,使其具有不能相互通过的固体粒子。这显示在2个案例中
i
位置,第二个粒子位于i+1
位置。第一个粒子向右移动,而第二个粒子向左移动李>i
位置,第二个粒子位于i+2
位置。第一个粒子向右移动,而第二个粒子向左移动李>如果我独立完成所有步骤,我可以手动检查每个步骤,看它是否合法。然而,这是糟糕的性能。有没有更有效的方法来检测哪些矩阵元素对X[i,j], X[k, j]
导致两个粒子相互穿过,最好是以矢量化的方式?这样,我可以使模拟跳过这些步骤
我想您必须使用某种形式的循环来实现这一点,但这可能会有所帮助:
相关问题 更多 >
编程相关推荐