手搓传染病模型(SIR)
先看模型
开始手搓
% 模型参数
N = 21858000; % 总人数
I0 = 170; % 初始感染人数
S0 = N - I0; % 初始易感人数
R0 = 0; % 初始康复人群
beta = 1.1; % 传染率
gamma = 0.25; % 康复率
num_days = 160; % 模拟天数
% x(1):感染人群I, x(2):易感人群S, x(3):康复人群R
dxdt = @(t, x) [beta * x(1) * x(2) / N - gamma * x(1); % dIdt-beta * x(1) * x(2) / N; % dSdtgamma * x(1) % dRdt];[t, y] = ode45(dxdt, 1: num_days, [I0, S0, R0]);
hold on
plot(t, y(:, 1));
plot(t, y(:, 2));
plot(t, y(:, 3));
legend('感染人数I', '易感人数S', '康复人群R');
看下效果
Over!