自我避免随机游走,在MATLAB中没有回头路

时间:2015-04-18 13:11:33

标签: matlab random

有一个二维数组,8X8    cube =

-1    -1    -1    -1    -1    -1    -1    -1
-1   **2** **2** **2** **2** **2** **2**  -1
-1   **2**   2     2     2     2   **2**  -1
-1   **2**   2     2     2     2   **2**  -1
-1   **2**   2     2     2     2   **2**  -1
-1   **2**   2     2     2     2   **2**  -1
-1   **2** **2** **2** **2** **2** **2**  -1
-1    -1    -1    -1    -1    -1    -1    -1

对于这个数组,一个粒子可以在格子中移动,它从一个开始 一边到另一边。从值2的最外层随机选择一个站点,作为粒子移动的起点。然后粒子向前移动,它可以左转或右转或前进,但是没有回头,我们可以通过随机数确定移动方向。当下一个站点为-1时,粒子停止移动。当第一个移动路线完成时,从值2的最外层随机选择另一个站点,执行相同的操作。

如何在MATLAB中实现上述算法。编程的难点在于粒子无法回头,这对编码来说很难。

enter image description here

One possible result, start direction B and C

enter link description here

self-avoiding random walk, and I need no turning back

0 个答案:

没有答案