超市火灾烟雾蔓延及人员疏散的matlab模拟仿真,带GUI界面

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 本项目基于MATLAB2022A开发,模拟了大型商业建筑中火灾发生后的人员疏散与烟雾扩散情况。算法通过设定引导点指导人员疏散,考虑视野范围、随机运动及多细胞竞争同一格点的情况。人员疏散时,根据是否处于烟雾区调整运动策略和速度,初始疏散采用正态分布启动。烟雾扩散模型基于流体方程,考虑了无风环境下的简化。

1.程序功能描述
出口在人员的视野范围内时,该元胞选择朝向引导点的方向运动。出口不在人员的视野范围内时,作随机运动,8个方向的运动概率相等。引导点可设在过道中间等地方,出口都是引导点。

  1. 当多个元胞同时竞争同一个格点时,每个元胞以50%等概率进入,没有进入的保持静止.

2.运动人员以5%概率静止,即下一时间步不动.

3.开始疏散时所有人员是以正态分布的概率开始运动,而不是同时运动.

2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
1.jpeg
2.jpeg
3.jpeg
4.jpeg
5.jpeg

3.核心程序

```Times = str2num(get(handles.edit1,'string'));
TStep = str2num(get(handles.edit2,'string'));

YW_X = str2num(get(handles.edit3,'string'));
YW_Y = str2num(get(handles.edit4,'string'));
Vyw = str2num(get(handles.edit5,'string'));
Fac = str2num(get(handles.edit6,'string'));

N1 = str2num(get(handles.edit7,'string'));
N2 = str2num(get(handles.edit8,'string'));
N3 = str2num(get(handles.edit9,'string'));

V1 = str2num(get(handles.edit10,'string'));
V2 = str2num(get(handles.edit11,'string'));
V3 = str2num(get(handles.edit12,'string'));

SCOPE = str2num(get(handles.edit13,'string'));
movetime = str2num(get(handles.edit14,'string'));
dmovetime = str2num(get(handles.edit14,'string'));

[gnd,Exit_Position] = func_Small_market();
% ϰ  ϰ
obstacles = gnd(:,:,1);%1 ʾͨ 0 ʾ ϰ
[row,col,KK] = size(gnd);
Ewidth = [40,50]; % 2 ڵĿ
% ォ ٶ Ϊÿ ƶ ķ Ϊ׼
Vv1 = lcm(V1,V2);
VMAX = lcm(Vv1,V3);
% ٶ ÿ ٸ ʱ 䲽 ƶ һ
L1 = VMAX/V1;
L2 = VMAX/V2;
L3 = VMAX/V3;

%%
%**
%ģ ʼ
% ʼ
Positions = zeros(row,col);
Positions(YW_X,YW_Y) = 1;
[I1,I2] = find(Positions==1);
% Ա ʼ
% Ա ʼ
Num_People = N1 + N2 + N3;
Infor_People = zeros(Num_People,5); % X Y X Y
Map_People = zeros(row,col);
x = [];
y = [];
i = 0;
while(i <= Num_People)
r = randi([1,row]);
c = randi([1,col]);
II1 = find(x == r);
II2 = find(y == c);
if Map_People(r,c)==0 & obstacles(r,c)==1 & (isempty(II1) == 1 & isempty(II2) == 1)
i = i + 1;
if i <= N1
Map_People(r,c) = 1;
Infor_People(i,1:2) = [c,r];
Infor_People(i,3:4) = [func_rand_fangx()];%
Infor_People(i,5) = 1;% ˵ı
x(end+1) = c;
y(end+1) = r;
end
if i <= N1+N2 & i > N1
Map_People(r,c) = 1;
Infor_People(i,1:2) = [c,r];
Infor_People(i,3:4) = [func_rand_fangx()];%
Infor_People(i,5) = 2;% ˵ı
x(end+1) = c;
y(end+1) = r;
end
if i <= N1+N2+N3 & i > N1+N2
Map_People(r,c) = 1;
Infor_People(i,1:2) = [c,r];
Infor_People(i,3:4) = [func_rand_fangx()];%
Infor_People(i,5) = 3;% ˵ı
x(end+1) = c;
y(end+1) = r;
end
end
end
%**
ind1 = 0;
ind2 = 0;
ind3 = 0;
for i = 1:Num_People
if Infor_People(i,5) == 1
ind1 = ind1 + 1;
% plot(Infor_People(i,1),Infor_People(i,2),'ko');
Infor_People_Saved1(ind1,:) = Infor_People(i,1:2);
Ind_People_Saved1(ind1) = Infor_People(i,5);
end

if Infor_People(i,5) == 2
   ind2 = ind2 + 1;

% plot(Infor_People(i,1),Infor_People(i,2),'k^');
Infor_People_Saved2(ind2,:) = Infor_People(i,1:2);
Ind_People_Saved2(ind2) = Infor_People(i,5);
end

if Infor_People(i,5) == 3
   ind3 = ind3 + 1;

% plot(Infor_People(i,1),Infor_People(i,2),'ks');
Infor_People_Saved3(ind3,:) = Infor_People(i,1:2);
Ind_People_Saved3(ind3) = Infor_People(i,5);
end
% hold on;
end
%*
16_019m

```

4.本算法原理
在超市这类大型商业建筑中,火灾发生后,烟雾会在短时间内迅速扩散。烟雾的传播主要受到热量释放、空气流动(包括自然对流、强制通风)、建筑布局(如走廊、隔断、开口)以及材料燃烧特性的影响。烟雾不仅阻碍视线,而且含有有毒有害物质,对被困人员构成生命威胁。烟雾蔓延可以通过火灾动力学模型(如热层流方程、组分传输方程)进行模拟分析,如使用FDS(Fire Dynamics Simulator)软件。

基本烟雾扩散模型都是基于流体方程建模的:
2f6de5d09c089279498e37faab01bef9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

并考虑室内风速为0,我们可以将模型做如下的修改,那么模型可以简化为如下的公式:

5fc3026313d5ee1b90d093e25f2ea1c8_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

关于人员疏散部分的要求,主要分为两个部分进行讨论:

·当人员在正常区域:

疏散人员的视野范围是个参数值,初值设为10个单位,并且参数值可改。

   出口在人员的视野范围内时,该元胞选择朝向引导点的方向运动。出口不在人员的视野范围内时,作随机运动,8个方向的运动概率相等。引导点可设在过道中间等地方,出口都是引导点。

   当多个元胞同时竞争同一个格点时,每个元胞以50%等概率进入,没有进入的保持静止。

运动人员以5%概率静止,即下一时间步不动。

每个时间步为1/12s,可设置3种移动速度的人员,分别设置为3种颜色,速度分别为2m/s,1.5m/s,1m/s,即每3、4、6个时间步运动一次。

开始疏散时所有人员是以正态分布的概率开始运动,而不是同时运动。

·当人员在烟雾区域:

   人员以80%概率躲避烟气(即20%概率进入烟气中)

   进入烟气后,前360个时间步(30s)朝引导点运动,但速度减小,2m/s的减小为1.5m/s,1.5m/s的减小为1.0m/s,1.0m/s的速度不变。不在烟气中后,速度恢复以前。
相关文章
|
9月前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
8月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
440 0
|
8月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
1065 30
|
8月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
8月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
9月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
1492 5
|
9月前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
390 0
|
8月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
734 0
|
8月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1002 0
|
8月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
260 0

热门文章

最新文章