在动力学模型的处理分析中,模型的平衡点起着相当重要的作用,可以基于此点分析模型的分岔等等。
这里我们以如下SIVRS传染病动力学模型为例,其动力学方程如下所示:
(模型的详细介绍可参考几种经典病毒动力学模型【基于matlab的动力学模型学习笔记_3】_L1234X的博客-CSDN博客)
计算此动力学模型的matlab程序为:
%计算正平衡点
syms x1 x2 x3 x4%定义自变量
a=0.6;%易感者转为感染者系数(感染系数)
b=0.8;%感染者转为免疫者系数(康复系数)
c=0.1;%感染者内部变异
d=0.1;%感染者外部变异
e=0.05;%死亡系数
h=0.2;%免疫者转化为易感者概率
g=0.05;%初始出生率
k=2;%网络平均度(每个个体平均接触其它个体数)
[solx1,solx2,solx3,solx4]=solve(g*N-a*k*x1*x2+h*x4-e*x1==0,a*k*x1*x2-d*k*x2*x3-(c+b+e)*x2==0,d*k*x2*x3+c*x2-e*x3==0,b*x2-h*x4-e*x4==0,x1,x2,x3,x4)
S=double(solx1)%x1*的值
I=double(solx2)%x2*的