多语言展示
当前在线:963今日阅读:3今日分享:40

用python玩转元胞自动机

工具/原料
1

电脑

2

python

方法/步骤
1

整体代码,请下载于:pan.baidu.com/s/1bpbL0nZDQBuICD8PWo26oQ,提取码: 4e43。

2

元胞自动机需要一个初始状态,这里给出一个初始状态:a=np.zeros((100,136))u,v=a.shapefor i in range(u):    for j in range(v):        if (i+j)%10<2 or (i-j)%10<2:            a[i,j]=1只有0和1的简单情形。本文只考虑这种简单情形。

3

它的前36步变化的动画如下。

4

前100步变化。

5

换一种初始状态:a=np.zeros((100,136))u,v=a.shapefor i in range(u):    for j in range(v):        if (i+j)%10<2 or (i-j)%10<3:            a[i,j]=1前100步动画如下。

6

a=np.zeros((100,136))u,v=a.shapefor i in range(u):    for j in range(v):        if (i**2+j**2)%10<2:            a[i,j]=1

7

a=np.zeros((100,136))u,v=a.shapefor i in range(u):    for j in range(v):        if 20<(i**2+j**2)%36<30:            a[i,j]=1

9

a=np.zeros((100,136))u,v=a.shapefor i in range(u):    for j in range(v):        if i==68 or j==68:            a[i,j]=1

推荐信息