在Mathematica中创建一个新的元胞自动机规则

时间:2012-07-04 09:51:18

标签: wolfram-mathematica cellular-automata

我需要在Mathematica中创建一个新的CA RULE。 我能怎么做?我的意思是,我需要创建一个有3种颜色(黑色,白色和灰色)的CA. 你可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

指定自定义规则的一种方法是定义一个函数,给定邻居列表和时间步长,将输出更新的值。例如

fun[lst_, t_] := Mod[Total[lst], 3]

它将简单地计算元素模3的所有邻居的总和。然后可以在CellularAutomaton中使用此函数,如下所示

With[{init = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, nsteps = 10, r = 1},
   res = CellularAutomaton[{fun, {}, r}, init, nsteps]]

ArrayPlot[res]

Mathematica graphics