《数学建模讲义:第三讲微分方程模型》由会员分享,可在线阅读,更多相关《数学建模讲义:第三讲微分方程模型(74页珍藏版)》请在人人文库网上搜索。
1、第三讲 微分方程模型,动态模型,描述对象特征随时间(空间)的演变过程,分析对象特征的变化规律,预报对象特征的未来性态,研究控制对象特征的手段,根据函数及其变化率之间的关系确定函数,微分方程建模,根据建模目的和问题分析作出简化假设,按照内在规律或用类比法建立微分方程,主要内容,生物单种群增长模型 3.1 人口增长模型 3.2 传染病模型 生物多种群增长模型 3.3 正规战与游击战 3.4 捕食系统的Volterra方程,为了保持自然资料的合理开发与利用,人类必须保持并控制生态平衡,甚至必须控制人类自身的增长。 本节将建立几个简单的单种群增长模型,以简略分析一下这方面的问题。一般生态系统的分析可以。
2、通过一些简单模型的复合来研究,大家若有兴趣可以根据生态系统的特征自行建立相应的模型,美丽的大自然,种群的数量本应取离散值,但由于种群数量一般较大,为建立微分方程模型,可将种群数量看作连续变量,甚至允许它为可微变量,由此引起的误差将是十分微小的,离散化为连续,方便研究,3.1 如何预报人口的增长 -Malthus模型与Logistic模型,背景,世界人口增长概况,中国人口增长概况,研究人口变化规律,控制人口过快增长,指数增长模型马尔萨斯提出 (1798,常用的计算公式,x(t) :时刻t的人口,基本假设 : 人口(相对)增长率 r 是常数,不考虑移民,今年人口 x0, 年增长率 r,k年后人口,。
3、随着时间增加,人口按指数规律无限增长,Malthus模型实际上只有在群体总数不太大时才合理,到总数增大时,生物群体的各成员之间由于有限的生存空间,有限的自然资源及食物等原因,就可能发生生存竞争等现象,所以Malthus模型假设的人口净增长率不可能始终保持常数,它应当与人口数量有关,指数增长模型的应用及局限性,与19世纪以前欧洲一些地区人口统计数据吻合,适用于19世纪后迁往加拿大的欧洲移民后代,可用于短期人口增长预测,不符合19世纪后多数地区人口增长规律,不能预测较长期的人口增长过程,19世纪后人口数据,阻滞增长模型(Logistic模型,人口增长到一定数量后,增长率下降的原因,资源、环境等因素。
4、对人口增长的阻滞作用,且阻滞作用随人口数量增加而变大,假设,r固有增长率(x很小时,xm人口容量(资源、环境能容纳的最大数量,x(t)S形曲线, x增加先快后慢,阻滞增长模型(Logistic模型,参数估计,用指数增长模型或阻滞增长模型作人口 预报,必须先估计模型参数 r 或 r, xm,利用统计数据用最小二乘法作拟合,例:美国人口数据(单位百万,专家估计,阻滞增长模型(Logistic模型,继续,最小二乘法,设经实际测量已得 到n组数据(xi , yi),i=1, n。将数据画在平面直角坐标系中,见 图。如果建模者判断 这n个点很象是分布在某条直线附近,令 该直线方程 为y=ax+b,进而利。
5、用数据来求参 数a和b。由于该直线只是数据近似满足的关系式,故 yi-(axi+b)=0一般不成立,但我们希望,最小,此式对a和b的偏导数均 为0,解相应方程组,求得,用MATLAB作线性最小二乘拟合,1. 作多项式f(x)=a1xm+ +amx+am+1拟合,可利用已有程序,a=polyfit(x,y,m,1. lsqcurvefit 已知数据点: xdata=(xdata1,xdata2,xdatan), ydata=(ydata1,ydata2,ydatan,用MATLAB作非线性最小二乘拟合,Matlab的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin。
6、。两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题,lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),F(x,xdatan)T 中的参变量x(向量),使得,输入格式为: (1) x = lsqcurvefit (fun,x0,xdata,ydata); (2) x =lsqcurvefit (fun,x0,xdata,ydata,options); (3) x = lsqcurvefit (fun,x0,xdata,ydata,options,grad); (4) x, optio。
7、ns = lsqcurvefit (fun,x0,xdata,ydata,); (5) x, options,funval = lsqcurvefit (fun,x0,xdata,ydata,); (6) x, options,funval, Jacob = lsqcurvefit (fun,x0,xdata,ydata,说明:x = lsqcurvefit (fun,x0,xdata,ydata,options,lsqnonlin用以求含参量x(向量)的向量值函数 f(x)=(f1(x),f2(x),fn(x)T 中的参量x,使得 最小。 其中 fi(x)=f(x,xdatai,ydatai。
8、) =F(x,xdatai)-ydatai,2. lsqnonlin,已知数据点: xdata=(xdata1,xdata2,xdatan) ydata=(ydata1,ydata2,ydatan,输入格式为: 1) x=lsqnonlin(fun,x0); 2) x= lsqnonlin (fun,x0,options); 3) x= lsqnonlin (fun,x0,options,grad); 4) x,options= lsqnonlin (fun,x0,); 5) x,options,funval= lsqnonlin (fun,x0,,说明:x= lsqnonlin (fun,x。
9、0,options,例 用下面一组数据拟合 中的参数a,b,k,该问题即解最优化问题,1)编写M-文件 curvefun1.m function f=curvefun1(x,tdata) f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中 x(1)=a; x(2)=b;x(3)=k,2)输入命令 tdata=100:100:1000 cdata=1e-03*4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39, 6.50,6.59; x0=0.2,0.05,0.05; x=lsqcurvefit (curvefun1,x0,tdata,cdat。
10、a) f= curvefun1(x,tdata,F(x,tdata)= ,x=(a,b,k,解法1. 用命令lsqcurvefit,3)运算结果为: f =0.0043 0.0051 0.0056 0.0059 0.0061 0.0062 0.0062 0.0063 0.0063 0.0063 x = 0.0063 -0.0034 0.2542,4)结论:a=0.0063, b=-0.0034, k=0.2542,返回,模型检验,用模型计算2000年美国人口,与实际数据比较,实际为281.4 (百万,模型应用预报美国2010年的人口,加入2000年人口数据后重新估计模型参数,Logistic 。
11、模型在经济领域中的应用(如耐用消费品的售量,阻滞增长模型(Logistic模型,大量实验资料表明用Logistic模型来描述种群的增长,效果还是相当不错的。例如,高斯把5只草履虫放进一个盛有0.5cm3营养液的小试管,他发现,开始时草履虫以每天230.9%的速率增长,此后增长速度不断减慢,到第五天达到最大量375个,实验数据与r=2.309,a=0.006157,N(0)=5的Logistic曲线: 几乎完全吻合,见图3.6,图3-6,Malthus模型和Logistic模型的总结,Malthus模型和Logistic模型均为对微分方程(3.7)所作的模拟近似方程。前一模型假设了种群增长率r为。
12、一常数,(r被称为该种群的内禀增长率)。后一模型则假设环境只能供养一定数量的种群,从而引入了一个竞争项,用模拟近似法建立微分方程来研究实际问题时必须对求得的解进行检验,看其是否与实际情况相符或基本相符。相符性越好则模拟得越好,否则就得找出不相符的主要原因,对模型进行修改,Malthus模型与Logistic模型虽然都是为了研究种群数量的增长情况而建立的,但它们也可用来研究其他实际问题,只要这些实际问题的数学模型有相同的微分方程即可,下面我们来看两个较为有趣的实例,年龄分布对于人口预测的重要性,只考虑自然出生与死亡,不计迁移,人口发展方程,人口发展方程,一阶偏微分方程,例2: 传染病模型,问题,。
13、描述传染病的传播过程,分析受感染人数的变化规律,预报传染病高潮到来的时刻,预防传染病蔓延的手段,按照传播过程的一般规律,用机理分析方法建立模型,已感染人数 (病人) i(t,每个病人每天有效接触(足以使人致病)人数为,模型1,假设,若有效接触的是病人,则不能使病人数增加,建模,模型2,区分已感染者(病人)和未感染者(健康人,假设,1)总人数N不变,病人和健康 人的 比例分别为,2)每个病人每天有效接触人数为, 且使接触的健康人致病,建模,日 接触率,SI 模型,模型2,tm传染病高潮到来时刻,(日接触率) tm,病人可以治愈,t=tm, di/dt 最大,模型3,传染病无免疫性病人治愈成为健康。
14、人,健康人可再次被感染,增加假设,SIS 模型,3)病人每天治愈的比例为,日治愈率,建模,日接触率,1/ 感染期,一个感染期内每个病人的有效接触人数,称为接触数,接触数 =1 阈值,如果感染期内有效接触感染的健康者人数不超过病人数,患者就会全部治愈,模型4,传染病有免疫性病人治愈后即移出感染系统,称移出者,SIR模型,假设,1)总人数N不变,病人、健康人和移出者的比例分别为,2)病人的日接触率 , 日治愈率, 接触数 = /,建模,需建立 的两个方程,模型4,SIR模型,模型4,SIR模型,相轨线 的定义域,在D内作相轨线 的图形,进行分析,SIR模型,相轨线 及其分析,s(t)单调减相轨线的。
15、方向,P1: s01/ i(t)先升后降至0,P2: s01/ i(t)单调降至0,1/阈值,模型4,SIR模型,预防传染病蔓延的手段,(日接触率) 卫生水平,日治愈率) 医疗水平,传染病不蔓延的条件s01,降低 s0,提高 r0,提高阈值 1,的估计,模型4,SIR模型,被传染人数的估计,记被传染人数比例,小, s0 1,提高阈值1/降低被传染人数比例 x,s0 - 1/ =,例3: 正规战与游击战,战争分类:正规战争,游击战争,混合战争,只考虑双方兵力多少和战斗力强弱,兵力因战斗及非战斗减员而减少,因增援而增加,战斗力与射击次数及命中率有关,建模思路和方法为用数学模型讨论社会领域的实际问题。
16、提供了可借鉴的示例,第一次世界大战Lanchester提出预测战役结局的模型,一般模型,每方战斗减员率取决于双方的兵力和战斗力,每方非战斗减员率与本方兵力成正比,甲乙双方的增援率为u(t), v(t,f, g 取决于战争类型,x(t) 甲方兵力,y(t) 乙方兵力,模型假设,模型,正规战争模型,甲方战斗减员率只取决于乙方的兵力和战斗力,双方均以正规部队作战,忽略非战斗减员,假设没有增援,f(x, y)=ay, a 乙方每个士兵的杀伤率,a=ry py, ry 射击率, py 命中率,正规战争模型,为判断战争的结局,不求x(t), y(t)而在相平面上讨论 x 与 y 的关系,平方律 模型,游击。
17、战争模型,双方都用游击部队作战,甲方战斗减员率还随着甲方兵力的增加而增加,f(x, y)=cxy, c 乙方每个士兵的杀伤率,c = ry py ry射击率 py 命中率,游击战争模型,线性律 模型,混合战争模型,甲方为游击部队,乙方为正规部队,乙方必须10倍于甲方的兵力,设 x0=100, rx/ry=1/2, px=0.1, sx=1(km2), sry=1(m2,微分方程的解析解,结果:u = tg(t-c,解 输入命令: y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x,结 果 为 : y =3e-2xsin(5x,解 输入命令 : x,y,z=ds。
18、olve(Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z, t); x=simple(x) % 将x化简 y=simple(y) z=simple(z,结果为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t,微分方程的数值解,一)常微分方程数值解的定义,在生产和科研中所处理的微分方程往往很复杂且大多得不出一般解。而在实际上对初值问题,一般是要求得到解在若干个点上满足规定精确度的近。
19、似值,或者得到一个满足精确度要求的便于计算的表达式,因此,研究常微分方程的数值解法是十分必要的,二)建立数值解法的一些途径,1、用差商代替导数,若步长h较小,则有,故有公式,此即欧拉法,2、使用数值积分,对方程y=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有,实际应用时,与欧拉公式结合使用,此即改进的欧拉法,故有公式,3、使用泰勒公式,以此方法为基础,有龙格-库塔法、线性多步法等方法,4、数值公式的精度,当一个数值公式的截断误差可表示为O(hk+1)时(k为正整数,h为步长),称它是一个k阶公式,k越大,则数值公式的精度越高,欧拉法是一阶公式,改进的欧拉法是二阶公式。 龙格-库。
20、塔法有二阶公式和四阶公式。 线性多步法有四阶阿达姆斯外插公式和内插公式,三)用Matlab软件求常微分方程的数值解,t,x=solver(f,ts,x0,options,1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成,2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组,注意,解: 令 y1=x,y2=y1,1、建立m-文件vdp1000.m如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1000*(1-y(1)2)*y(2)-y(1,2、取t。
21、0=0,tf=3000,输入命令: T,Y=ode15s(vdp1000,0 3000,2 0); plot(T,Y(:,1),3、结果如图,解 1、建立m-文件rigid.m如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2,2、取t0=0,tf=12,输入命令: T,Y=ode45(rigid,0 12,0 1 1); plot(T,Y(:,1),-,T,Y(:,2),*,T,Y(:,3),3、结果如图,图中,y1的图形为实线,y2的图形为“*”线。
22、,y3的图形为“+”线,稳定性问题,在研究许多实际问题时,人们最为关心的也许并非系统与时间有关的变化状态,而是系统最终的发展趋势。例如,在研究某频危种群时,虽然我们也想了解它当前或今后的数量,但我们更为关心的却是它最终是否会绝灭,用什么办法可以拯救这一种群,使之免于绝种等等问题。要解决这类问题,需要用到微分方程或微分方程组的稳定性理论。在下两节,我们将研究几个与稳定性有关的问题,一般的微分方程或微分方程组可以写成,若方程或方程组f(x)=0有解Xo,X=Xo显然满足(3.28)。称点Xo为微分方程或微分方程组(3.28)的平衡点或奇点,例7 Logistic模型,共有两个平衡点:N=0和N=K。
23、,分别对应微分方程的两两个特殊解。前者为No=0时的解而后者为No=K时的解,当NoK时,则位于N=K的上方。从图3-17中不难看出,若No0,积分曲线在N轴上的投影曲线(称为轨线)将趋于K。这说明,平衡点N=0和N=K有着极大的区别,图3-17,定义1 自治系统 的相空间是指以(x1,xn)为坐标 的空间Rn,特别,当n=2时,称相空间为相平面,空间Rn的点集(x1,xn)|xi=xi(t)满足(3.28), i=1,n称为系统的轨线,所有轨线在相 空间的分布图称为相图,定义2 设x0是(3.28)的平衡点,称,1)x0是稳定的,如果对于任意的0,存在一个0,只要|x(0)- x0|,就有|。
24、x(t)- x0|对所有的t都成立,2)x0是渐近稳定的,如果它是稳定的且,微分方程平衡点的稳定性除了几何方法,还可以通过解析方法来讨论,所用工具为以下一些定理,3)x0是不稳定的,如果(1)不成立,根据这一定义,Logistic方程的平衡点N=K是稳定的且为渐近稳定的,而平衡点N=0则是不稳定的,解析方法,证 由泰勒公式,当x与xo充分接近时,有,由于xo是平衡点,故f(xo)=0。若 ,则当x0,从而x单增;当xxo时,又有f(x)0,从而x单减。无论在哪种情况下都有xxo,故xo是渐进稳定的,的情况可类似加以讨论,高阶微分方程与高阶微分方程组平衡点的稳定性讨论较为复杂,大家有兴趣可参阅微。
25、分方程定性理论。为了下两节的需要,我们简单介绍一下两阶微分方程组平衡点的稳定性判别方法,考察两阶微分方程组,3.29,令 ,作一坐标平移,不妨仍用x记x,则平衡点xo的稳定性讨论转化为原点的稳定性讨论了。将f(x1,x2)、g(x1,x2)在原点展开,(3.29)又可写成,其中,令p=a+d, q=ad-bc=|A|,则 ,记,讨论特征值与零点稳定的关系,综上所述:仅当p0时, (3.30)零点才是渐近稳定的;当p=0且q0时(3.30)有周期解,零点是稳定的中心(非渐近稳定);在其他情况下,零点均为不稳定的,非线性方程组(3.29)平衡点稳定性讨论可以证明有下面定理成立,定理2 若(3.30。
26、)的零点是渐近稳定的,则(3.29)的平衡点 也是渐近稳定的;若(3.30)的零点是不稳定的,则(3.29) 的平衡点也是不稳定的,捕食系统的Volterra方程,问题背景,意大利生物学家DAncona曾致力于鱼类种群相互制约关系的研究,在研究过程中他无意中发现了一些第一次世界大战期间地中海沿岸港口捕获的几种鱼类占捕获总量百分比的资料,从这些资料中他发现各种软骨掠肉鱼,如鲨鱼、鳐鱼等我们称之为捕食者(或食肉鱼)的一些不是很理想的鱼类占总渔获量的百分比。在 19141923年期间,意大利阜姆港收购的鱼中食肉鱼所占的比例有明显的增加,他知道,捕获的各种鱼的比例近似地反映了地中海里各种鱼类的比例。战。
27、争期间捕鱼量大幅下降,但捕获量的下降为什么会导致鲨鱼、鳐鱼等食肉鱼比例的上升,即对捕食者有利而不是对食饵有利呢?他百思不得其解,无法解释这一现象,就去求教当时著名的意大利数学家V.Volterra,希望他能建立一个数学模型研究这一问题,Volterra将鱼划分为两类。一类为食用鱼(食饵),数量记为x1(t),另一类为食肉鱼(捕食者),数量记为x2(t),并建立双房室系统模型,1、模型建立,大海中有食用鱼生存的足够资源,可假设食用鱼独立生存将按增长率为r1的指数律增长(Malthus模型),既设,由于捕食者的存在,食用鱼数量因而减少,设减少的速率与两者数量的乘积成正比(竞争项的统计筹算律),即,。
28、对于食饵(Prey)系统,对于捕食者(Predator)系统,捕食者设其离开食饵独立存在时的死亡率为r2,即,但食饵提供了食物,使生命得以延续。这一结果也要通过竞争来实现,再次利用统计筹算律,得到,方程组(3.31)反映了在没有人工捕获的自然环境中食饵与捕食者之间的相互制约关系。下面我们来分析该方程组,2、模型分析,方程组(3.31)是非线性的,不易直接求解。容易看出,该方程组共有两个平衡点,即,方程组还有两组平凡解,和,和,当x1(0)、x2(0)均不为零时, ,应有x1(t)0且x2(t)0,相应的相轨线应保持在第一象限中,求(3.31)的相轨线,将两方程相除消去时间t,得,令,用微积分知。
29、识容易证明,有,与 的图形见图3-20,易知仅当 时(3.32)才有解,当 时,轨线退化为平衡点,当 时,轨线为一封闭曲线(图3-21),即周期解,证明具有周期解,只需证明:存在两点 及 , 时,方 程无解,由 的性质, , 而 ,使得,同样根据的性质知,当 x1 时,此时,由 的性质, ,使 成立,当x1= 或 时,,仅当 时才能成立,而当x1 时,由于,故 无解,得证,确定闭曲线的走向,在每一子区域, 与 不变号,据此确定轨线的走向(图3-22,将Volterra方程中的第二个改写成,将其在一个周期长度为T的区间上积分,得,等式左端为零,故可得,同理,解释DAncona发现的现象,引入捕捞。
30、能力系数,(01),表示单位时间 内捕捞起来的鱼占总量的百分比。故Volterra方程应为,平衡点P的位置移动到了,由于捕捞能力系数的引入,食用鱼的平均量有了增加,而食肉鱼的平均量却有所下降,越大,平衡点的移动也越大,食用鱼的数量反而因捕捞它而增加, 真的是这样,P-P模型导出的结果虽非绝对直理,但在一定程度上是附合客观实际的,有着广泛的应用前景。例如,当农作物发生病虫害时,不要随随便便地使用杀虫剂,因为杀虫剂在杀死害虫的同时也可能杀死这些害虫的天敌,(害虫与其天敌构成一个双种群捕食系统),这样一来,使用杀虫剂的结果会适得其反,害虫更加猖獗了,3)捕鱼对食用鱼有利而对食肉鱼不利,多捕鱼(当然要在一定限度内,如r1)能使食用鱼的平均数量增加而使食肉鱼的平均数量减少,根据P-P模型,我们可以导出以下结论,1)食用鱼的平均量取决于参数r1与1,2)食用鱼繁殖率r1的减小将导致食肉鱼平均量的减小,食肉鱼捕食能力1的增大也会使自己的平均量减小;反之,食肉鱼死亡率r2的降低或食饵对食肉鱼供养效率2的提高都将导致食用鱼平均量的减少。