SARS(SevereAcuteRespiratorySyndrome,严重急性呼吸道综合症,俗称:非典型肺炎)是21世纪第一个在世界范围内传播的传染病。SARS的爆发和蔓延给我国的经济发展和人民生活带来了很大影响,我们从中得到了许多重要的经验和教训,认识到定量地研究传染病的传播规律、为预测和控制传染病蔓延创造条件的重要性。请你们对SARS的传播建立数学模型。
困难
简化
假定
于是得到微分方程
这个模型可能与传染病传播的初期比较吻合,但长期看显然是不合实际情况的。
为了吻合实际情况,我们要修改原有假设并建立新的模型。
假设
由
不足
于是我们把居民分为三类:
模型三(SIR)
三个方程相加,可以得到
由方程组的前两个方程
可得
我们可以用常识来检验上述结论是否符合实际。
预防手段
变量分离法:
只适用于能将自变量与因变量分离的情形,这一类微分方程可以写成如下形式
代之,通常构造下列形式的函数值表:
即所谓的数值解。
Taylor级数:举个例子
上式中的导数可从微分方程中依据链式法则得到,它们是
Euler方法
上述Taylor级数法中,特殊地只取到一阶近似即称为Euler方法,它具有如下形式
Runge-Kutta法
根据微分方程我们有
取展开式中前三项可写成如下形式
又由于
因此,步进求解的迭代公式是
等价地可写成
反复地使用这个公式,每次就前进一步求解。它被称为二阶Runge-Kutta法。
下面是经典的四阶Runge-Kutta方法:
其中
Python库
首先是用sympy的dsolve解常微分方程,直接贴代码
这个用起来就比较麻烦了,不过用于画图还是很棒的。先看一个一阶微分方程的例子。
importnumpyasnpfromscipy.integrateimportodeint#一阶微分方程的例子defdiff_equation(y,x):#dy/dx=y,其实手工解的话,很容易知道,y=Cexp(x)returnnp.array(y)#微分方程格式,左边一定是dy/dx,返回右边x=np.linspace(0,1,num=100)#初始点是0result=odeint(diff_equation,1,x)#中间那个是y0初值,即x=0时y=1plt.plot(x,result[:,0])#result整个矩阵的第一列plt.grid()#网格plt.show()#这是y=exp(x)的图像二阶的话,就有点麻烦了。
万有引力定理的推导。
背景:
行星运动的受力情况是什么?胡克(英国),惠更斯(荷兰)都取得了一些成果。牛顿(1642-1703)以微积分为工具,在开普勒三定律和牛顿第二定律的基础上,用演绎法得到了万有引力定律(1687,《自然科学之数学原理》)
推导:先引入2个基向量
因此
有
由椭圆方程,可得
和
则有,
所以,行星运动时,受到指向太阳的力
由行星运行一周,正好扫过整个椭圆,则
又
因此,太阳对行星的力为
中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一个重要问题。近年来中国的人口发展出现了一些新的特点,例如,老龄化进程加速、出生人口性别比持续升高,以及乡村人口城镇化等因素,这些都影响着中国人口的增长。
模型一(Malthus,1798)
可以得到
为指数增长模型
适用情形
人口增长到一定程度后,增长率下降的主要原因是,自然资源、环境条件等因素对人口的增长起阻滞作用。而且随着人口的增长,阻滞作用也越大。
分离变量后,得到解
由方程
直接用数据做非线性最小二乘法
模型
可以得到模型
可以解得
数据
利用Matlab(函数lsqcurvefit)可以得到
大李中午喝酒后,到下午6点的酒精浓度为
不算酒驾
假定他再次喝酒是晚上7点,则凌晨2点时的酒精浓度为(需要加上中午的酒)
是饮酒驾驶
自然界中,不同种群之间存在着一种既有依存、又有制约的生存方式:种群甲靠自然资源生长,种群乙靠捕食甲为生。如:食用鱼和鲨鱼,落叶松和蚜虫。称种群甲为食饵(prey),种群乙为捕食者(predator)。
问:农田中有一种害虫吃农作物,有一种益虫以害虫为食。现在有一种农药,会同时杀死这两种虫。是否应用使用这种农药?
呈周期性变化
则
类似地,捕食者的平均值
类似地,对于农作物-害虫-益虫系统,若有某种药物在杀死害虫的同时,也会杀死益虫,则会导致害虫增加
网络消息的传播模型
与传染病模型是类似的
可以得到解为
比较符合实际
为什么发射火箭通常用三级发射
假定:
模型:卫星的身心力应该与地球的引力相等
即
利用分离变量,加上初值条件
从前面的结果中可以看出,最终速度达不到要求,与火箭始终在推动整个结构有关。如果在整个过程中,可以把不断地把无用的结构抛弃的话,效率就会大大提高了。