MATLAB传染病模型代码
时间: 2023-10-02 19:10:55 浏览: 86
matlab传染病模型.rar
以下是一个简单的基于 MATLAB 的传染病模型代码:
```matlab
% 设计参数
beta = 0.02; %感染率
gamma = 0.05; %康复率
N = 1000; %总人口
I_0 = 10; %初始感染人数
R_0 = 0; %初始康复人数
S_0 = N - I_0 - R_0; %初始易感人数
% 设计时间步长
dt = 0.1;
t = 0:dt:100;
% 初始化人群状态变量
S = zeros(size(t));
I = zeros(size(t));
R = zeros(size(t));
% 设置初始状态
S(1) = S_0;
I(1) = I_0;
R(1) = R_0;
% 实现差分方程
for i = 2:numel(t)
dSdt = -beta*S(i-1)*I(i-1)/N;
dIdt = beta*S(i-1)*I(i-1)/N - gamma*I(i-1);
dRdt = gamma*I(i-1);
S(i) = S(i-1) + dSdt*dt;
I(i) = I(i-1) + dIdt*dt;
R(i) = R(i-1) + dRdt*dt;
end
% 绘制图像
plot(t,S,'b',t,I,'r',t,R,'g','LineWidth',2);
title('传染病模型');
xlabel('时间');
ylabel('人数');
legend('易感人数','感染人数','康复人数');
```
上面的代码实现了一个基本的 SIR 模型,其中 S 表示易感人数,I 表示感染人数,R 表示康复人数。通过这个模型,可以模拟传染病在人群中的传播情况。
阅读全文