资源简介
HIV传染动力学模型 matlab
一次作业的题
代码片段和文件信息
%1、 建立一个模型(在一个或多个已存在的模型上修改或建造),来模仿TIPs在抑制疾病在人群中的传播时的用处。
%2、 利用模型通过执行TIPs和HIV在不同模式设定下的计算仿真从数量上评估TIPs在抑制HIV-1在人群中的传播时的有效性。根据建立的模型的结构,我们可以在Matlab上执行这些模拟仿真。
% HIV微分方程模型 by iceiceice 根据《部分hiv数据.doc》
% 2011-3-19
clear;
clc;
% 参数设定
beta=0.1/100; % hiv感染率 1-1.5%
d=95/100; % 因病死亡率,大多文献取为1,《部分hiv数据.doc》中可能书写有误
mu=0.5/100; % 自然死亡率
beta1=0.1/100; % 双重携带者的感染率1-1.5%
gamma1=0.3; % 双重携带者无效率
% 缺失数据参数,由3-17的邮件中的附件:HIV的发病率和AIDS的死亡率(参考).pdf,设定为0.1
gamma=0.1;
% 初值
tic
A=1500; % 人口输入
S=8000; % 易感人口
I=150; % HIV携带者
P=50; % AIDS患者
% 间隔时间数
dt=0.0001;
% 模型
N=10/dt; % 步数
S=zeros(1N);
I=zeros(1N);
Id=zeros(1N);
It=zeros(1N);
P=zeros(1N);
rate=zeros(101101);
%for n1=0:100 % 直接对alpha1、alpha2做线性变换做rate会报错
% for n2=0:100
S(1)=8000;
I(1)=150;
Id(1)=0;
It(1)=0;
P(1)=50;
% alpha1=n1/100;
%alpha2=n2/100;
alpha1=0.4;
alpha2=0.4;
for i=1:(N-1)
S(i+1)=S(i)+dt*(A-beta*I(i)*S(i)-beta1*Id(i)*S(i)-(alpha1+mu)*S(i)); % 原模型中该行最后一部分书写有误
%if S(i+1)<0 S(i+1)=0; end
I(i+1)=I(i)+dt*(beta*I(i)*S(i)-alpha2*I(i)-mu*I(i)-gamma*I(i)+gamma1*Id(i)-beta1*I(i)*Id(i));
Id(i+1)=Id(i)+dt*(beta1*Id(i)*S(i)+beta*I(i)*It(i)+beta1*It(i)*Id(i)-gamma1*Id(i)-mu*Id(i)+alpha2*I(i)+beta1*I(i)*Id(i)); % 原模型中该行最后一部分书写有误
It(i+1)=It(i)+dt*(alpha1*S(i)-beta*I(i)*It(i)-beta1*It(i)*Id(i)-mu*It(i));
%if It(i+1)<0 It(i+1)=0; end
P(i+1)=P(i)+dt*(gamma*I(i)-(mu+d)*P(i));
end
% rate(n1+1n2+1)=(P(i+1)+I(i+1))/(S(i+1)+I(i+1)+Id(i+1)+It(i+1)+P(i+1)); % 已感染及发病者所占总人口比例,这里没有考虑gamma1*Id,因为觉得没有必要添加这一项
% end
%end
% figure; plot(I‘g‘); xlabel(‘I‘);
% legend(‘I:hiv携带者‘);
% hold on;
% plot(Id); xlabel(‘Id‘)
% legend(‘Id:双重携带者‘);
% hold on;
% plot(P‘m‘); xlabel(‘P‘)
% legend(‘P:AIDS患者‘);
% hold on;
% plot(It‘k‘); xlabel(‘It‘)
% legend(‘It:TIPS携带者‘);
% hold on;
% plot(S‘r‘); xlabel(‘S‘)
% legend(‘S:易感者‘);
k=1:1:100000;
subplot(211);
plot(kI(k)‘g‘kId(k)kP(k)‘m‘kIt(k)‘k‘kS(k)‘r‘);
xlabel(‘year/10000‘);ylabel(‘population‘);
title(‘XXX‘);
legend(‘I:hiv携带者‘‘Id:双重携带者‘‘P:AIDS患者‘‘It:TIPS携带者‘‘S:易感者‘)
% S
% I
% Id
% It
% P
toc
- 上一篇:GMSK调制解调的MATLAB实现
- 下一篇:轮廓跟踪法提取图像轮廓MATLAB源码
相关资源
- Matlab路面裂缝识别69319
- 高灵敏度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实现
评论
共有 条评论