# 基于改进型元胞自动机的多真菌生长模拟
## 元胞自动机
元胞自动机是一种离散方法,常常用于模拟自然界生物的生长发展,其核心为元胞状态转换。
## 真菌分解问题
自然界的真菌生长往往具有不确定性,不同的真菌具有不同的生长速率与环境适应能力,对此,此问题适合使用元胞自动机进行模拟。
## 基础状态的设置
将问题简化为理想情况,即真菌接种于培养基上,将培养基抽象为一块正方形板,划分为100*100的格子,这些格子就代表着元胞
### 数据预处理
将给出的数据`Data.mat`数据标准化
对于该元胞设置两种属性
- 基础木材含量,是一个数值,设置为100
- 元胞接种状态,设置不同的真菌种类代表不同的数字,则1,2,3代表真菌品种,0代表未接种
## 元胞状态转换
初始情况,随机选取五个位置,接种五种真菌
随着时间推移,每个元胞将发生两种状态转换
- 分解木材,根据其对应的分解速率,进行分解,木材的剩余的含量使用不同层次的颜色加以区分
- 如果一个空元胞周围有接种真菌的元胞,则该元胞有一定概率生长为接种状态,取决于周边格子的真菌生长速率
### 多种真菌同时作用时的竞争情况
- 如果一个已接种的格子周围有其他真菌,那么该真菌的生长将会受到一定影响,在给定的数据中,给出了一定环境下各种真菌的竞争能力,根据此比例,设置一个影响因子,乘以其生长速率和分解速率即可
## 模拟结果
- 通过`gif`可以看出其模拟情况
- 将处理求解过程设置为一个函数进行封装,运行改函数
- 将得到的结果进行绘图,得到各种关系图表
- 经过与原始数据比较,说明模拟结果符合预期
## 程序说明
- `ChangeCells.m`元胞状态转移函数
- `DrawCells.m`绘制真菌分解情况模拟
- `solve_cells.m`封装好的函数
- `main.m`主程序