微分方程(组)模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
③
(2) 方程③是一阶线性微分方程,通解为②当n>0时,有特解y=0.
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自 变量’) 符号说明:在表达微分方程时,用字母D表示求微分, D2、D3等表示求2阶、3阶等微分。任何D后所跟的 字母为因变量,自变量可以指定或由系统规则选定为 确省。 d2y
方法:
• 规律分析法:根据相关学科的定理或定律、规律(这些涉及 到某些函数变化率)建立微分方程模型,如曲线的切线性质. • 微元分析法:应用一些已知规律和定律寻求微元之间的关系式. • 近似模拟法:在社会科学、生物学、医学、经济学等学科的 实际问题中,许多现象的规律性不清楚,常常用近似模拟的 方法建立微分方程模型.
4.符号说明
• • • • • • • a---某人每天在食物中摄取的热量 b---某人每天用于新陈代谢(及自动消耗)的热量 α ---某人每天从事工作、生活每千克体重必需消耗的热量 β---某人每天从事体育锻炼每千克体重消耗的热量 w---体重(单位:千克) w0---体重的初始值 t---时间(单位:天)
若Q(x)≡0,则称为一阶线性齐次方程,一阶线性微分方程通解为 P ( x ) dx P ( x ) dx ② y ( x) e ( Q( x)e dx C )
从而可得
dz (1 n) P ( x) z (1 n)Q ( x) dx
dz dy (1 n) y n dx dx
一、微分方程模型 二、微分方程的数学形式 三、微分方程(组)的MATLAB解法 四、减肥的数学模型 五、人口增长数学模型 六、兰彻斯特(Lanchester)作战模型 七、硫磺岛战役案例
一.微分方程模型
原理:
• 实际问题中, 有许多表示“导数”的常用词,如“速率”、 “增长”(生物学以及人口问题)、“衰变”(放射性问 题)、“边际的”(经济学中)等,这些词就是信号,这时 就要注意是哪些研究对象在变化,不少问题符合模式:变化 率=输入率-输出率,对这些规律可以考虑建立微分方程模型。
( ) t 42000
7.模型分析与检验
由方程(1),根据一阶导数与单调性的关系, 可对减肥分析如下: dw 1.若 a b ( ) w ,则净吸收量大于总消耗量, 0 ,则 dt 体重增加.
dw 2.若 a b ( ) w ,则净吸收量小于总消耗量, 0 ,则 dt
dw (a b) ( ) w (1) 42000 dt w(t0 ) w0 , t0 0
w(t t ) w(t ) t 42000 42000
6.模型求解
应用分离变量法或MATLAB软件解得
a b a b ( ) w0 w e
注意两点:
• (1)在解n个未知函数的方程组时,n0和x均为n维向量, M-文 件中的待解方程组应以x的分量形式写成。 • (2)使用MATLAB软件求数值解时,高阶微分方程必须等价 地变换成一阶微分方程组。
用MATLAB软件求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
d 2 y dy 4 29 y 0 2 dx dx y (0) 0, y(0) 15
例2解 输入命令:
y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
执行结果: y =3*exp(-2*x)*sin(5*x)
例3解 输入命令 : [x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't');
常用导数关系:
ds dv ds =v; =a; 2 =a; dt dt dt
2
增量的导数=增量的变化率
一阶常微分方程的初等解法
• 变量分离方程
(1)若g(y)≠0 ,则将方程中变量分离出来,然后两边积分
dy f ( x)dx C g ( y)
dy f ( x) g ( y ) dx
3.模型假设
1.设某人每天从食物中摄取的热量是a(J) 。其中b(J) 是用于新陈代谢(即自动消耗)的热量,而从事工作、 生活每天每千克体重必须消耗α (J)的热量,从事体育 锻炼每千克体重消耗β(J)的热量. 2.某人以脂肪形式储存的热量是百分之百有效的,即 热量和脂肪之间可以自由的无损耗的转换.而1kg的脂肪 含热量42000J. 3.设体重w是时间t的连续函数,即w=w(t),忽略个体 的差异(年龄、性别、健康状况等)对减肥的影响.
四、减肥的数学模型
0、问题描述
随着社会的进步和发展,人们的生活水平不断提高。由于 饮食营养摄入量的不断改善和提高,“肥胖”已经成为全社 会关注的一个重要问题。无论从健康角度还是从审美角度, 人们越来越重视自己形体的健美,从而就导致目前社会上出 现了各种各样的减肥食品(或营养素)、减肥饮料、减肥服 装、减肥药和名目繁多的健美中心 ,让人目不暇接,不知 所措,上当受骗者也不在少数.以至各种媒体经常提醒人们 减肥一定要慎重,如何对待减肥是我们一定要正确对待的问 题,于是了解减肥的机理成为减肥的关键。此外,对于从事 某些体育项目的运动员(例如:举重、体操、游泳等)来说, 在比赛前也有都一个正确减肥的问题。
自变 量值 函数 值
ode45 ode23 ode113 ode15s ode23s
由待解 方程写 成的m文件名
ts=[t0,tf], 函数的 初值 t0、tf为自 变量的初 值和终值
ode23:组合的2或3阶龙格-库塔-芬尔格算法 ode45:运用组合的4或5阶龙格-库塔-芬尔格算法
用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
5.模型建立
每天:体重的变化=输入-输出 输入:指扣除新陈代谢之外的净吸收热量 输出:指进行工作、生活、体育锻炼的总消耗热量 于是 每天净吸收量=(a-b)/42000 (kg) 每天总消耗量=(α+β)w/42000 (kg)
所以在t到t+∆t时间内体重的变化为 a b ( ) w 由此体重变化的微分方程模型:
• 符号说明:t为自变量;x为函数值;solver为求解函数,一共有 5个,分别为ode45、ode23、ode113、ode15s和ode23s;f为待解 方程写成的m-文件名;ts=[t0,t1], t0、t1为自变量的初值和终值; x0为函数的初值;options为选项,用于设定误差限(缺省时设 定相对误差10-3,绝对误差10-6),命令为: options=odeset(‘reltol’,rt,’abstol’,at),其中rt,at分别为设定的相对 误差和绝对误差。
例如,微分方程
dx
2
三、微分方程(组)的MATLAB解法
0 应表达为:D2y=0.
例1 求
du 1 u 2 的通解. dt 解 输入命令: dsolve('Du=1+u^2','t')
ans =tan(t+C1)执ຫໍສະໝຸດ 结果:例2 求微分方程的特解.
例3 求微分方程组的通解
dx dt 2 x 3 y 3 z dy 4 x 5 y 3z dt dz dt 4 x 4 y 2 z
2 1.5 1 0.5 0
-0.5 1、建立m-文件vdp1000.m如下: -1 function dy=vdp1000(t,y) -1.5 dy=zeros(2,1); -2 dy(1)=y(2); -2.5 0 dy(2)=1000*(1-y(1)^2)*y(2)-y(1); 2、取t0=0,tf=3000,输入命令: [T,Y]=ode15s('vdp1000',[0 3000],[2 0]); plot(T,Y(:,1),'-')
二.微分方程的数学形式
定义:一般的凡表示未知函数、未知函数的导数与
自变量之间的关系的方程,叫做微分方程.
形式: dy
=f x,y dx y|x=x =y 0, 0
d2 y =f x, y,y 2 dx y|x=x =y 0, |x=x =y0 y 0 0
500
1000
1500
2000
2500
3000
3、结果如图所示:即得x与t 的关系.
例5
解微分方程组. y1 ' y2 y3 y2 ' y1 y3 y3 ' 0.51 y1 y2 y1 (0) 0, y2 (0) 1, y3 (0) 1
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12
1.问题分析
在我们日常生活中,胖人越来越多。肥胖已成为影 响人类健康的头号杀手,减肥已经提上日程,组成 了人们生活中的一部分。减多少,怎样减,是我们 这次解决的问题。 要求:根据实际问题,建立一个合理的数学模型来 科学的减肥。
2.问题分析
减肥最主要的是减去人体内冗余的能量,能量最主要 是由糖类、蛋白质和脂肪转化而来的。运动减肥的原 理是利用运动需要消耗大量的能量来减掉人体内多余 的能量。 如果我们每天吸收的能量超过消耗的能量,则我们的 体重会增加,达不到减肥的目的。如果我们每天吸收 的能量等于消耗的能量,我们的体重基本就不会变化。 如果我们每天吸收的能量小于消耗的能量,我们的体 重就会减少,也即求得问题的解决。为了消耗体内多 余的脂肪,就得每天进行足够的体育锻炼。 下面是一个在相当简化的层次下用微分方程建立的数 学模型
例4
解: 令 y1=x,y2=x’
d 2x 2 dx 2 1000(1 x ) x 0 dt dt x (0) 2; x ' (0) 0
则微分方程变为一阶微分方程组:
y1 ' y2 y2 ' 1000(1 y12 ) y2 y1 y (0) 2, y (0) 0 1 2
① C为任意常数.
(2) 若存在y=y0,使g(y0)=0,则y=y0也是方程的解,但不在①内.
• 一阶线性微分方程
dy P ( x) f ( y ) Q( x) dx
dy n • Bernoulli(伯努利)方程 dx P( x) y Q( x) y n≠0,1的常数
该方程化为一阶线性微分方程求解. (1)显然y=0是方程的解,当y≠0时,令z=y1-n,有
执行结果:
x =C2*exp(-t)+C3*exp(2*t) y =C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1 z =C3*exp(2*t)+exp(-2*t)*C1
微分方程的数值解
• 在MATLAB中命令如下: [t,x]=solver(‘f ’,ts,x0,options)(当求不 出微分方程的解析解时,可以求其数值解)。
解
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),’b-’,T,Y(:,2),’g*’,T,Y(:,3),’r+’) 3、结果如图 :y1的图形为实线,y2的图形为“*”线,y3的图形为“+” 线.
一微分方程模型一微分方程模型二微分方程的数学形式二微分方程的数学形式三微分方程组的三微分方程组的matlabmatlab解法解法四减肥的数学模型四减肥的数学模型五人口增长数学模型五人口增长数学模型兰彻斯特lanchesterlanchester作战模型作战模型七硫磺岛战役案例七硫磺岛战役案例一一
微分方程(组)方法法建模