有一个二维数组,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中实现上述算法。编程的难点在于粒子无法回头,这对编码来说很难。
One possible result, start direction B and C
self-avoiding random walk, and I need no turning back