matlab中用sir模型
时间: 2023-07-31 13:08:36 浏览: 137
SIR模型是一种基本的流行病学模型,用于研究疾病的传播。在MATLAB中,可以使用ODE45函数求解SIR模型的微分方程。
以下是一个简单的SIR模型的MATLAB代码示例:
```
% 设置初始参数
N = 1000; % 总人口数
I0 = 1; % 初始感染者人数
R0 = 0; % 初始康复者人数
S0 = N - I0 - R0; % 初始易感者人数
beta = 0.2; % 感染率
gamma = 0.1; % 康复率
% 定义微分方程
f = @(t, y) [-beta*y(1)*y(2)/N; beta*y(1)*y(2)/N-gamma*y(2); gamma*y(2)];
% 解微分方程
[t, y] = ode45(f, [0 100], [S0; I0; R0]);
% 绘制曲线
plot(t, y(:,1), 'b', t, y(:,2), 'r', t, y(:,3), 'g');
legend('易感者', '感染者', '康复者');
title('SIR模型');
xlabel('时间(单位:天)');
ylabel('人数');
```
该代码将会绘制SIR模型中的易感者、感染者和康复者的人数随时间变化的曲线。
阅读全文