资源简介
传染病模型的matlab仿真程序,自己写的可能有bug,加入调控措施的控制变量,使用自动元胞机原理,可仿真疫情发展情况
代码片段和文件信息
for j=1:1
N=300;%仿真步数
n=500;%元胞边长
cell = init(n0.002);%初始化
cell(22)=1;
cell(1:) = 10;
cell(n:) = 10;
cell(:1) = 10;
cell(:n) = 10;%加外壁
left = 10*ones(n-21);
up=10*ones(1n);
%初始化
cell_new = zeros(nn);
cell_crnl = zeros(nn);
num_of_infected = zeros(1N);
num_of_dead = zeros(1N);
total_num_of_infected=zeros(1N);
num_new_patient=zeros(1N);
num_of_health=zeros(1N);
num_of_recover=zeros(1N);
num_of_newpatient=zeros(1N);
num_of_newdeath=zeros(1N);
get_medicane=0;
p =0.009;%感染率
q = 0.955;%死亡率
r = 0.005;%复原率
glrate=0.7;%隔离率
r1=5*r;%吃药后复原率
ym=100;%ym为每日接种疫苗数
medicane =10;%药的数目
flag=0;
% pp=medicane;
% if j==2
% medicane=pp-10;
% elseif j==3
% medicane=pp+10;
% end
%
cell_color=zeros(nn3);%颜色矩阵
amount_of_step =0;
% imh = image(cell_color);
% set(imh ‘erasemode‘ ‘none‘)
% axis equal
% axis tight
rate_of_infected = zeros(1N);
rate_of_death = zeros(1N);
aa = zeros(n-2n-2);
delay=0;
for i=1:N
getmedicane=0;
num_of_infected(i)=sum(sum(cell==1|(cell>4&cell<9)|cell==12|cell==11));
% glrate = 2.5*log2(i)/log2(3000);
cell_color=zeros(nn3);%颜色矩阵
cell_crnl(::) = 0;
cell = cell(1:n1:n);
cell_crnl(cell==1|(cell>4&cell<9)|cell==12) = p;
% cell(cell==12)=11*(rand()>=0.5)+rand()<0.5;
ymrate = ym/sum(sum(cell==0));
x = 2:n-1;
y = 2:n-1;
% if rand()<0.1
% p=p+0.5;
% end
% healthy = find(cell==0);
% healthy_position = [mod(healthy./n);floor(mod(healthy./n))];
rand_cell = rand(nn);
rand_cell2 = rand(n-2n-2);
ff=12*(rand_cell ff(ff==0)=1;
cell_new(cell_new==1)=ff(cell_new==1);
ff(ff==1)=11;
cell_new(cell_new==11)=ff(cell_new==11);
fff(i)=sum(sum(cell_new==12));
%常人患病
cell_new(cell_new>5&cell_new<10)= cell_new(cell_new>5&cell_new<10)-1;
num_of_newpatient(i) = sum(sum(cell_new==5));
cell_new(cell==5)=1;
%显病复原
bb=2*(rand_cell bb(bb==0)=1;
cell_new(cell_new==1) = bb(cell_new==1);
%隔离复原
bb(bb==1)=11;
cell_new(cell_new==11)=bb(cell_new==11);
gg=2*(rand_cell gg(gg==0)=12;
cell_new(cell_new==12) = gg(cell_new==12);
%接种疫苗
dd = 4*(rand_cell cell_new(cell_new==0)=dd(cell_new==0);
%各种死亡
cc=3*(rand_cell>q);
cc(cc==0)=1;
cell_new(cell_new==1)=cc(cell_new==1);
cc(cc==1)=11;
cell_new(cell_new==11)=cc(cell_new==11);
cc(cc==11)=12;
cell_new(cell_new==12)=cc(cell_new==12);
%隔离
ee=11*(rand_cell-r ee(ee==0)=1;
cell_n
- 上一篇:matlab模拟EKF滤波器
- 下一篇:jpeg图像压缩编解码程序
相关资源
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论