元胞自动机基于matlab元胞自动机甲板火灾下人群疏散含Matlab源码 1291期

Posted 紫极神光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元胞自动机基于matlab元胞自动机甲板火灾下人群疏散含Matlab源码 1291期相关的知识,希望对你有一定的参考价值。

一、元胞自动机简介

1 元胞自动机发展历程
最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视.
1970 年, 剑桥大学的约翰 · 何顿 · 康威设计了一个电脑游戏 “生命游戏” 后, 元胞自动机才吸引了科学家们的注意.

1983 年 S.Wolfram 发表了一系列论文. 对初等元胞机 256 种 规则所产生的模型进行了深入研究, 并用熵来描述其演化行 为, 将细胞自动机分为平稳型, 周期型, 混沌型和复杂型.

2 对元胞自动机的初步认识
元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其( 4 或 8 )邻居的状态。

3 元胞的变化规则&元胞状态
典型的变化规则,决定于元胞的状态,以及其( 4 或 8 )邻居的状态。

4 元胞自动机的应用
元胞自动机已被应用于物理模拟,生物模拟等领域。

5 元胞自动机的matlab编程
结合以上,我们可以理解元胞自动机仿真需要理解三点。一是元胞,在matlab中可以理解为矩阵中的一点或多点组成的方形块,一般我们用矩阵中的一点代表一个元胞。二是变化规则,元胞的变化规则决定元胞下一刻的状态。三是元胞的状态,元胞的状态是自定义的,通常是对立的状态,比如生物的存活状态或死亡状态,红灯或绿灯,该点有障碍物或者没有障碍物等等。

6 一维元胞自动机——交通规则
定义:
6.1 元胞分布于一维线性网格上.
6.2 元胞仅具有车和空两种状态.

7 二维元胞自动机——生命游戏
定义:
7.1 元胞分布于二维方型网格上.
7.2 元胞仅具有生和死两种状态.

元胞状态由周围八邻居决定.
规则:

骷髅:死亡;笑脸:生存
周围有三个笑脸,则中间变为笑脸
少于两个笑脸或者多于三个,中间则变死亡。

8 什么是元胞自动机
离散的系统: 元胞是定义在有限的时间和空间上的, 并且元 胞的状态是有限.
动力学系统: 元胞自动机的举止行为具有动力学特征.
简单与复杂: 元胞自动机用简单规则控制相互作用的元胞 模拟复杂世界.


9 构成要素

(1)元胞 (Cell)

元胞是元胞自动机基本单元:
状态: 每一个元胞都有记忆贮存状态的功能.
离散: 简单情况下, 元胞只有两种可能状态; 较复杂情况下, 元胞具有多种状态.
更新: 元胞的状态都安照动力规则不断更新.
(2)网格 (Lattice)
不同维网格

常用二维网格

(3)邻居 (Neighborhood)

(4)边界 (Boundary)

反射型:以自己作为边界的状态
吸收型:不管边界(车开到边界就消失)

(5)规则(状态转移函数)
定义:根据元胞当前状态及其邻居状况确定下一时刻该元胞状态的动力学函数, 简单讲, 就是一个状态转移函数.
分类 :
总和型: 某元胞下时刻的状态取决于且仅取决于它所有邻居 的当前状态以及自身的当前状态.
合法型: 总和型规则属于合法型规则. 但如果把元胞自动机 的规则限制为总和型, 会使元胞自动机具有局限性.
(6)森林火灾

绿色:树木;红色:火;黑色:空地。
三种状态循环转化:
树:周围有火或者被闪电击中就变成火。
空地:以概率p变为树木
理性分析:红为火;灰为空地;绿是树

元胞三种状态的密度和为1

火转化为空地的密度等于空地转换为树的密度(新长出来的树等于烧没的树)

f是闪电的概率:远远小于树生成的概率;T s m a x T_{smax}T smax
​是一大群树被火烧的时间尺度
程序实现
周期性边界条件
购进啊

其中的数字为编号
构建邻居矩阵

上面矩阵中的数字编号,对应原矩阵相同位置编号的上邻居编号,一 一对应
同样道理:

(7)交通概念
车距和密度

流量方程

守恒方程

时空轨迹(横轴是空间纵轴为时间)

红线横线与蓝色交点表示每个时间车的位置。
如果是竖线则表示车子在该位置对应的时间

宏观连续模型:

最常用的规则:

红色条表示速度是满的。

1 加速规则:不能超过v m a x ( 2 格 / s ) v_{max}(2格/s)v
max(2格/s)
2 防止碰撞:不能超过车距

理论分析:

结果分析: 密度与流量

第一个图:横坐标是归一化后的密度,纵坐标是车流量。第二个图:理论值与CA的结果

结果分析: 时空轨迹

中间的深色区域是交通堵塞的区域。

二、部分源代码

clc
clear all
close all
%% 第一列是序号 第二、三列是横纵坐标、第四列是节点容量、第五列是初始人数
data=[102    0      0  inf 0 ;%%第一层
    65  1150      0  inf 0 ;
    16  1150  -2780   63 4 ;
    66  6850      0  inf 0 ;
    17  6850  -2780   63 4 ;
    67  9220      0  inf 0 ;
    18  9220  -2770   63 4 ;
    68  13020     0  inf 0 ;
    11  13020  2960   60 0 ;
    69  15020     0  inf 0 ;
    19  15020 -2710   72 4 ;
    70  18480     0  inf 0 ;
    20  18480 -2710   72 4 ;
    71  21100     0  inf 0 ;
    72  24180     0  inf 0 ;
    21  24180 -2710   72 4 ;
    73  27640     0  inf 0 ;
    22  27640 -2710   72 4 ;
    74  33040     0  inf 0 ;
    23  33040 -2710   72 4 ;
    104  34770    0  inf 0 ;
    52  6850   6960  inf 0 ; %%第二层
    2   6850   9340   68 4 ;
    51  5150   6960  inf 0 ;
    9   5150   4160   33 0 ;
    50  3100   6960  inf 0 ;
    8   3100   4000   69 4 ;
    49  1470   6960  inf 0 ;
    101 0      6960  inf 0;
    1   1470   9340   68 4 ;
    53  10110  6960  inf 0 ;
    10  10110  3920   75 4 ;
    54  11060  6960  inf 0 ;
    3   11060  9780   68 4 ;
    55  13030  6960  inf 0 ;
    4   13030  9640   44 0 ;
    56  16160  6960  inf 0 ;
    12  16160  4120   75 4 ;
    57  18540  6960  inf 0 ;
    47  18540 10670   12 0 ;
    58  19260  6960  inf 0  ;
    59  21670  6960  inf 0 ;
    13  21670  4120   75 4 ;
    60  22340  6960  inf 0 ;
    5   22340  9670   72 4 ;
    61  25800  6960  inf 0 ;
    6   25800  9670   72 4 ;
    62  27370  6960  inf 0 ;
    14  27370  4120   75 4 ;
    63  30130  6960  inf 0 ;
    7  30130  9730   72 4 ;
    64  31500  6960  inf 0 ;
    15  31500  4160   69 4 ;
    103  33230  6960  inf 0 ;
    25  6850  13360   68 4 ; %第四层
    78  6850  10980  inf 0 ;
    77  5150  10980  inf 0 ;
    32  5150   8180   33 0 ;
    76  3100  10980  inf 0 ;
    31  3100   8020   69 4 ;
    75  1470  10980  inf 0 ;
    24  1470  13360   68 4 ;
    105    0  10980  inf 0 ;
    79  10110 10980  inf 0 ;
    33  10110  7940   75 4 ;
    80  11060 10980  inf 0 ;
    26  11060 13800   68 4 ;
    81  13030 10980  inf 0 ;
    27  13030 13660   44 0 ;
    82  16160 10980  inf 0 ;
    35  16160  8140   75 4 ;
    48  18540 12870   12 0 ;%%楼梯
    83  18540 10980  inf 0 ;
    84  19260 10980  inf 0  ;
    85  21670 10980  inf 0 ;
    36  21670  8140   75 4 ;
    86  22340 10980  inf 0 ;
    28  22340 13690   72 4 ;
    87  25800 10980  inf 0 ;
    29  25800 13690   72 4 ;
    88  27370 10980  inf 0 ;
    37  27370  8140   75 4 ;
    89  30130 10980  inf 0 ;
    30  30130 13750   72 4 ;
    90  31500 10980  inf 0 ;
    38  31500  8180   69 4 ;
    107  33230 10980  inf 0 ;
    106    0   4020  inf 0 ;%%第三层
    91  1150   4020  inf 0 ;
    39  1150   1240   63 4 ;
    92  6850   4020  inf 0 ;
    40  6850   1240   63 4 ;
    93  9220   4020  inf 0 ;
    41  9220   1240   63 4 ;
    94  13020  4020  inf 0 ;
    34  13020  6980   60 0 ;
    95  15020  4020  inf 0 ;
    42  15020  1310   72 4 ;
    96  18480  4020  inf 0 ;
    43  18480  1310   72 4 ;
    97  21100  4020  inf 0 ;
    98  24180  4020  inf 0 ;
    44  24180  1310   72 4 ;
    99  27640  4020  inf 0 ;
    45  27640  1310   72 4 ;
    100 33040  4020  inf 0 ;
    46  33040  1310   72 4 ;
    108  34770 4020  inf 0 ;
    ];
%% 第一列是出发点,第二列是终点,第三列是长度,第四列通道容量,第五列是通道每步的通行人数,第六列当前当道人数,%第七列是当前时刻通道人数,第八列编号,第九列通道面积

R=[ 65 102 1150 4  2  0 0 101 1 ;%第一层
    16  65 2780 8  2  0 0  16 2
    66  65 5700 29 3  0 0  65 8
    66  17 2780 8  2  0 0  17 2
    66  67 2370 12 3  0 0  66 3
    18  67 2770  8 2  0 0  18 2
    68  67 3800 19 3  0 0  67 5
    11  68 2960  7 2  0 0  11 2
    69  68 2000 10 3  0 0  68 3
    19  69 2710  8 3  0 0  19 2
    70  69 3460 17 3  0 0  69 5
    20  70 2710 8  3  0 0  20 2
    70  71 2620 22 2  0 0  70 4
    72  71 3080 15 3  0 0  71 4
    21  72 2710 8  3  0 0  21 2
    73  72 3460 17 3  0 0  72 5
    22  73 2710  8 3  0 0  22 2
    74  73 5400 27 3  0 0  73 8
    23  74 2710  8 3  0 0  23 2
    74 104 1730  6 2  0 0 103 2
    49 101 1470  5 2  0 0 100 1%第二层
    1  49  2380  8 2  0 0   1 2
    49 50  1630  8 3  0 0  49 2
    8  50  2960  8 2  0 0   8 2
    51 50  2050 10 3  0 0  50 3
    9  51  2800 8  2  0 0   9 2
    52 51  1700 10 3  0 0  51 2
    2  52  2380 8  2  0 0   2 2
    52  66 6960 35 2  0 0 109 2
    53  52 3260 15 3  0 0  52 5
    10  53 3040  9 2  0 0  10 2
    54  53 950   6 3  0 0  53 1
    3   54 2820  8 2  0 0   3 2
    55  54 2920 16 2  0 0  54 4
    4   55 2680  8 2  0 0   4 2
    56  55 3130 16 3  0 0  55 4
    12  56 2840  8 2  0 0  12 2
    57  56 2380 12 3  0 0  56 3
    47  57 3710 10 2  0 0  47 3
    58  57 720   4 3  0 0  57 1
    71  58 6960 35 3  0 0  59 10
    59  58 2410 12 3  0 0  58 3
    13  59 2840  8 2  0 0  13  2
    60  59 670   3 2  0 0  60  1
    5   60 2710  8 2  0 0   5  2
    61  60 3460 17 3  0 0  61  5
    6   61 2710  8 2  0 0   6  2
    61  62 1570  8 3  0 0  62  2
    62  63 2760 14 3  0 0  63  4
    14  62 2840 8  2  0 0  14  2
    7   63 2760 8  2  0 0  7   2
    64  63 1370  7 3  0 0  64  2
    15  64 2800  8 2  0 0  15  2
    64 103 1730  6 2  0 0  102 2
    91 106 1150 4  2  0 0  105 1;%第三层
    39  91 2780 8  2  0 0  39  2
    92  91 5700 29 3  0 0  91  8
    40  92 2780 8  2  0 0  40  2
    93  92 2370 12 3  0 0  92  3
    41  93 2770  8 2  0 0  41  2
    93  94 3800 19 3  0 0  93  5
    34  94 2960  7 2  0 0  34  2
    94  95 2000 10 3  0 0  94  3
    42  95 2710  8 3  0 0  42  2
    96  95 3460 17 3  0 0  95  5
    43  96 2710 8  3  0 0  43  2
    96  97 2620 22 2  0 0  96  4
    97  98 3080 15 3  0 0  97  4
    44  98 2710 8  3  0 0  44  2
    98  99 3460 17 3  0 0  98  5
    45  99 2710  8 3  0 0  45  2
    99 100 5400 27 3  0 0  99  8
    46 100 2710  8 3  0 0  46  2
    100 108 1730  6 2  0 0  107 2
    75 105 1470  5 2  0 0  104 1%424 75  2380  8 2  0 0  24  2
    75 76  1630  8 3  0 0  74  2
    31 76  2960  8 2  0 0  31  2
    77 76  2050 10 3  0 0  75  3
    32 77  2800 8  2  0 0  32  2
    78 77  1700 10 3  0 毕设题目: Matlab元胞自动机森林火灾

元胞自动机基于元胞自动机之地铁火灾疏散模型matlab源码

元胞自动机基于元胞自动机之地铁火灾疏散模型matlab源码

元胞自动机基于matlab元胞自动机车流密度不变下的双向两车道仿真(T 字形路口)含Matlab源码 1290期

毕设题目:Matlab元胞自动机人员疏散

元胞自动机基于matlab元胞自动机晶体生长含Matlab源码 232期