资源简介
传染病模型的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图像压缩编解码程序
相关资源
- jpeg图像压缩编解码程序
- matlab模拟EKF滤波器
- 一种改进的DV-HOP算法matlab仿真代码
- matlab UKF 状态估计软件包
- matlab 正六边形随机撒点
- 迫零均衡MATLAB仿真程序
-
基于MATLAB_SIMUli
nk的交流电机调速系 - 相参串脉冲matlab
- 谱减法的matlab程序
- 修改后turbo系统 matlab 仿真代码 参考
- dv-hop算法的matlab原代码
- matlab 从TXT文件读出RGB图像内有TXT文件
- matlab gui经典
- NSGA-2 matlab
- 朴素贝叶斯算法在matlab中实现
- 流形学习工具包包括8种经典流形学习
- 期权蒙特卡洛模拟MATLAB代码
- matlab中用FFT实现线性卷积循环卷积
- 裸数据转成dicom图像格式
- mclmcrrt7_16.dll mclmcrrt7_16.rar
- ADPCM编解码Matlab程序
- 模式识别K-均值聚类法matlab实现程序
- 用于特征提取的matlab程序
- CBF算法matlab程序
- 指纹代码识别
- matlab的光谱处理工具
- 基于灰理论的灰关联排序---matlab程序
- fast ica matlab程序
- 基于matlab语言的垃圾邮件分类
- RSA加密算法的Matlab程序
评论
共有 条评论