作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现一个模拟波行为的元胞自动机。我正在使用冯·诺依曼邻域和 r=2
like here
我的问题是:我应该如何计算边界上单元的状态?
例如:我有一个数组 a
,我想计算 a[0][0]
的值。
单元格的状态是 (-1,1) 范围内的 float ,其中 0 是陆地。在“常规”单元上,我可以获取邻居的状态,但是当邻居较少时(<12),结果就是错误的,并“生成”新的波。
最佳答案
您的问题有不同的解决方案。
示例:a[-1][0] = a[n-2][0]
好的一面:通过平移使晶格不变,从而避免任何“边界效应”,这应该会导致更自然的演化。坏的一面:在较小的尺度上,这可能会产生不良影响,例如共振。
如果您想对模型进行定量研究,例如相变、平均场等,这种方法特别适合。
示例:a[-1][0] = 10e-6 左右,因为 0 表示土地。
好的一面:可以避免共振效应。坏的一面:潜在的边界效应,以及缺乏外部波源。
这种方法更适合定性用途:检查实现的有效性,寻找模型制品(例如类似漩涡的模式?)或简单地呈现一个对于观察者来说看起来有机的系统。
示例:所有边界单元都是陆地 (0)。
关于java - 元胞自动机 - 在边界元上做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252122/
我是一名优秀的程序员,十分优秀!