该代码实现了一个元胞自动机模型,用于模拟柑橘青霉病在果实接触面上的时空传播动态。
研究背景
柑橘青霉病是由青霉菌引起的常见采后病害,病斑会从局部感染开始,经潜伏、显症到产孢,最终形成绿色霉层。通过离散的元胞自动机可以模拟其接触传播与病斑扩展过程,为病害预测与防治提供理论参考。主要功能
模拟病害在二维网格上的传播:健康组织被感染后进入潜伏期,随后依次转为显症病斑和产孢状态;可视化病斑扩展,并能生成GIF动画;当无潜伏、显症细胞且无产孢细胞时自动提前终止。算法步骤
- 初始化200×200网格,所有细胞为健康(0),在中心点放置显症感染源(状态2)。
- 每个时间步遍历所有细胞:
- 健康细胞若邻域存在显症(2)或产孢(3)细胞,则以概率pInfectionp_{\text{Infection}}pInfection转为潜伏(1)。
- 潜伏细胞计时达到潜伏期TlatentT_{\text{latent}}Tlatent后转为显症(2)。
- 显症细胞计时达到显症期TsymptomaticT_{\text{symptomatic}}Tsymptomatic后转为产孢(3)。
- 产孢细胞保持状态不变。
- 更新状态与计时矩阵,刷新图像显示。
- 检查终止条件,若没有传染性细胞则提前结束。
技术路线
采用同步更新的元胞自动机,离散时间、离散空间、四状态。传播依赖邻域接触(可选用Moore八邻域或von Neumann四邻域),感染概率引入随机性,潜伏期和显症期由整数计时器控制,形成“健康→潜伏→显症→产孢”的病程链。公式原理
- 感染概率:对于每个健康细胞,若其邻域内存在状态2或3的细胞,则以固定概率pInfection=0.35p_{\text{Infection}} = 0.35pInfection=0.35变为潜伏,而无需考虑邻居数量,属于“有无接触即有机会感染”的简化规则。
- 时间阈値转换:潜伏状态持续步数≥Tlatent=8\ge T_{\text{latent}} = 8≥Tlatent=8时强制转为显症;显症状态持续步数≥Tsymptomatic=12\ge T_{\text{symptomatic}} = 12≥Tsymptomatic=12时强制转为产孢。
整体模型不涉及微分方程,是确定性与随机结合的离散规则。
参数设定
- 网格尺寸:200×200
- 最大时间步:300
- 感染概率:0.35
- 潜伏期:8步
- 显症期:12步
- 初始感染源:坐标(100,100)处为显症
- 邻域类型:Moore八邻域(
useMoore = true) - 可视化颜色映射:健康橙黄、潜伏浅黄、显症棕色、产孢绿色
- GIF输出可选(默认为关闭)
运行环境
MATLAB(R2020b或更高版本)。应用场景
教学演示元胞自动机在植物病害流行学中的应用;辅助理解青霉病接触传播的时空规律;可为采后病害风险评估、包装运输中病果隔离策略提供定性分析工具。