我正在尝试使用 SIR 模型模拟流感流行:http ://en.wikipedia.org/wiki/Epidemic_model#The_SIR_Model 。
它基本上需要我同时求解 3 个微分方程。
我的任务是将图表拟合到一组数据中,我只是想知道我应该如何去做。
我设法设置了一个系统来解决这样的 ODE:
function dydt = sir_ode(t,y,p)
B = p(1);
r = p(2);
S = y(1);
I = y(2);
R = y(3);
dydt = [-B*I*S; B*I*S - r*I; r*I];
和 m 文件来调用它:
time = 1:24;
y0 = [400 1 0];
tspan = time;
p0 = [.01 .5];
[t,y] = ode45(@sir_ode,tspan,y0,[],p0);
所以我有一个 tspan,我有一个 S、I 和 R 的 y0 矩阵。对于我的函数,输出包含 3 个微分方程,因此我可以与 ode45 函数一起求解它们。
现在我需要做的就是找到合适的 p0 矩阵,这样我就可以将曲线拟合到我的数据中。
首先,任何人都可以看到我的求解方法中的任何缺陷,其次,谁会对我如何找到最佳 p0 矩阵有任何建议?
谢谢!!