3.微分方程模型

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)。

问:农田中有一种害虫吃农作物,有一种益虫以害虫为食。现在有一种农药,会同时杀死这两种虫。是否应用使用这种农药?

呈周期性变化

类似地,捕食者的平均值

类似地,对于农作物-害虫-益虫系统,若有某种药物在杀死害虫的同时,也会杀死益虫,则会导致害虫增加

网络消息的传播模型

与传染病模型是类似的

可以得到解为

比较符合实际

为什么发射火箭通常用三级发射

假定:

模型:卫星的身心力应该与地球的引力相等

利用分离变量,加上初值条件

从前面的结果中可以看出,最终速度达不到要求,与火箭始终在推动整个结构有关。如果在整个过程中,可以把不断地把无用的结构抛弃的话,效率就会大大提高了。

THE END
1.Python折线图的分析过程和画图的方法画图方法 能画折线图的软件工具有很多,本文采用的是Python中的matplotlib库。 在Jupyter Lab中运行以下Python代码,就可以画出上面那张折线图。 读取数据 # 读取每日销售数据 df = pd.read_excel('2019年9月每日销售.xlsx') df 日期 实际销量 0 2019-09-01 7 ...https://www.jianshu.com/p/f5c2c1df6503
2.Python练习实例56菜鸟教程Python 100例 题目:画图,学用circle画圆形。 程序分析:无。 程序源代码: 实例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*-if__name__=='__main__':fromTkinterimport*canvas=Canvas(width=800,height=600,bg='yellow')canvas.pack(expand=YES,fill=BOTH)k=1j=1foriinrange(0,26):...https://www.runoob.com/python/python-exercise-example56.html
1.Python绘图的简易方法及步骤python简单画图程序Python绘图的简易方法及步骤 Python作为一种高级编程语言,具有易学易用、功能强大等特点,越来越受到广大程序员的青睐。在其中,绘图功能是Python的一大亮点之一,而其中的turtle模块则是其独特之处。turtle模块可以通过一些简单的命令,实现图形绘制、图像设计等高级功能。https://blog.csdn.net/weixin_73425532/article/details/131325955
2.Python直接使用plot()函数画图的方法实例pythonPython直接使用plot()函数画图的方法实例 一、plot()函数的认识 在使用Python进行数据可视化编程中matplotlib库是我们用来对数据进行画图常用的第三方库。其中含有各类函数也就是不同类型的图形,要使用matplotlib库中的函数就需要了解函数所需要数据的格式,这也是我们学习matplotlib库的重点。https://m.jb51.net/article/247129.htm
3.Python在绘画插入图片的函数python图像绘制关于一些python的作图方法总结 画图 柱状图 import matplotlib.pyplot as plt # 示例数据 categories = ['Category A', 'Category B', 'Category C', 'Category D', 'Category E'] values = [15, 30, 10, 25, 20] # 绘制柱状图 plt.bar(categories, values, color='blue') ...https://blog.51cto.com/u_56701/11342610
4.这份Cartopy绘图入门指南,请查收腾讯云开发者社区调用GeoAxes的方法画图。 GeoAxes用法扩展(部分常用) set_global:让地图的显示范围扩展至投影的最大范围。例如,对PlateCarree投影的 ax 使用后,地图会变成全球的。 set_extent:给出元组(x0, x1, y0, y1)以限制地图的显示范围。 set_xticks:设置 x 轴的刻度。 https://cloud.tencent.com/developer/article/2125102
5.turtlePython 3.0 之后的变化 新增了 Turtle.shearfactor(), Turtle.shapetransform() 和Turtle.get_shapepoly() 方法。这样就可以使用所有标准线性变换来调整海龟形状。Turtle.tiltangle() 的功能已被加强: 现在可被用来获取或设置倾角。Turtle.settiltangle() 已弃用。 新增了 Screen.onkeypress() 方法作为对 Screen....https://docs.python.org/zh-cn/3.9/library/turtle.html