【发布时间】:2015-04-03 05:59:41
【问题描述】:
在本页https://courses.cit.cornell.edu/bionb441/CA/forest.m
我发现了一个名为“森林火灾”的代号 我试图弄清楚这段代码是如何用于教育目的的。
规则如下:
细胞可以处于 3 种不同的状态。 state=0 为空,state=1 为燃烧,state=2 为森林。
如果一个单元格的 4 个邻居中有一个或多个正在燃烧并且它是森林 (state=2),那么新的状态正在燃烧 (state=1)。
正在燃烧的单元格 (state=1) 变为空 (state=0)。
森林细胞(状态=2)开始自行燃烧(来自闪电)的概率很低(0.000005)。
空单元格变成森林以模拟生长的概率很低(例如,0.01)。
它是如何工作的不是很清楚......
sum = (veg(1:n,[n 1:n-1])==1) + (veg(1:n,[2:n 1])==1) + ...
(veg([n 1:n-1], 1:n)==1) + (veg([2:n 1],1:n)==1) ;
veg = 2*(veg==2) - ((veg==2) & (sum> 0 | (rand(n,n)< Plightning))) + ...
2*((veg==0) & rand(n,n)< Pgrowth) ;
运行代码没有问题,只是我很困惑这些向量(sum 和 veg)是什么。尤其是什么使 (veg(1:n,[n 1:n-1])==1)。
我看到的是,两者都是矩阵,而 veg 是绘图的数据(带有 0 和 1 和 2 的矩阵)。
非常感谢您提供的任何帮助。
【问题讨论】:
-
您遇到的问题/错误是什么?请更新。
标签: octave simulation automata