0
我需要在Mathematica中創建一個新的CA RULE。 我該怎麼辦?我的意思是,我需要用3種顏色(黑色,白色和灰色)創建一個CA。 可以幫我嗎?在Mathematica中創建一個新的元胞自動機規則
我需要在Mathematica中創建一個新的CA RULE。 我該怎麼辦?我的意思是,我需要用3種顏色(黑色,白色和灰色)創建一個CA。 可以幫我嗎?在Mathematica中創建一個新的元胞自動機規則
指定自定義規則的一種方法是定義一個函數,該函數在給定鄰居列表和時間步長的情況下將輸出更新後的值。例如
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]
非常感謝。 例如,如果我想使用三種顏色輸出以下輸出: {0,1,1,0,2,2,1,0},我可以設置一個從它開始的函數嗎? –
@DanieleRicci你究竟是什麼意思?在上面的例子中提供給'fun'的參數是單元格的鄰域和時間步長,所以對於鄰域半徑爲1且可能的狀態爲0,1,2的1D CA,您需要指定'fun [{ 0,0,0},t]','fun [{0,0,1},t]',...,和fun [{2,2,2,t]'其中't'是時間步驟。 – Heike
親愛的海克, 我的意思是對不起我的愚蠢問題:我想要遵循以下規則:白色(0),黑色(1),灰色(2) - > 0,0,0 - > 0; 0,0,1 - > –