微分方程和差分方程简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
x x0 (1 r0 ) k
(3.1)
这里实际暗含着年增长率不变的假设。
i. 指数增长模型(Malthus模型)
设 t 时刻的人口为 x (t ) ,经过一段短的时间 t 后,在 t t 时刻,人口数量变化为 x(t t ) 。 由基本假设,在这段短的时间 t 内,人口数量 的增加量应与当时的人口 x (t ) 成比例,不妨设 比例系数为 r0 ,即 t 内人口的增量可写为
•欧拉法是一阶公式,改进的欧拉法是二阶公式。
•龙格-库塔法有二阶公式和四阶公式。 •线性多步法有四阶阿达姆斯外插公式和内插公式。 返 回
(三)可以用Matlab软件求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
自变 量值 函数 值
ode45 ode23 ode113 ode15s ode23s
P ( x ) dx
e
P ( x ) dx
P ( x ) dx dx Q( x)e
例1 求方程xy y e x的通解 y ex 解 将方程改写为 y x x 它是一阶线性微分方程,其中 1 ex P( x) , Q( x) x x
直接利用非齐次方程的通解公式,得
由待解 方程写 成的m文件名
函数的 ts=[t0,tf], 初值 t0、tf为自 变量的初 值和终值
ode23:组合的2/3阶龙格-库塔-芬尔格算法 ode45:运用组合的4/5阶龙格-库塔-芬尔格算法 用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
微分方程与差分方程简介
我们知道,函数是研究客观事物运动规律的重要 工具,找出函数关系,在实践中具有重要意义。可在 许多实际问题中,我们常常不能直接给出所需要的函 数关系,但我们能给出含有所求函数的导数(或微分) 或差分(即增量)的方程,这样的方程称为微分方程 或差分方程.
动态 模型
• 描述对象特征随时间(空间)的演变过程
返 回
(二)建立数值解法的一些途径
设 xi 1 xi h, i 0,1,2, n 1, 可用以下离散化方法求解微分方程: y' f(x,y) y(x0 ) y0
1、用差商代替导数 若步长h较小,则有
y ' ( x) y ( x h) y ( x ) h
x(t t ) x(t ) r0 x(t )t
等式两边同除以 t ,当 t 0 时
x(t t ) x(t ) lim r0 x(t ) t 0 t
等号的左边即是导数 d x d t ,已知初始时刻人口 数量为 x0 ,则
d x d t r0 x (t ) x ( 0) x 0
的微分方程称为二阶常系数线性微分方程。
解法:齐次方程的通解+原方程的特解=原方程的通解
特征方程 r 2 pr q 0的根 齐次方程 y py qy 0 的通解 y C1e r x C2 e r x 两个相异实根 r r2 1 y (C1 C2 x )e rx 两个相等实根 r r1 r2
返 回
四、微分方程的数值解
(一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多 得不出一般解。而在实际上对初值问题,一般是要求得 到解在若干个点上满足规定精确度的近似值,或者得到 一个满足精确度要求的便于计算的表达式。 因此,研究常微分方程的数值解法是十分必要的。
y' f(x,y) 对常微分方程: , 其数值解是指由初始点x 0 开始 y(x0 ) y0 的若干离散的x值处,即对x0 x1 x2 xn, 求出准确值y(x1 ), y ( x2 ),, y ( xn ) 的相应近似值y1 , y2 ,, yn。
例1 求
解
d2y
2
dx du 1 u 2 的通解. dt
0 应表达为:D2y=0.
输入命令:dsolve('Du=1+u^2','t')
结
果:u = tg(t-c)
例 2 求微分方程的特解.
d 2 y dy 2 4 29 y 0 dx dx y (0) 0, y ' (0) 15
d2y dy p qy f ( x); 2 dx dx
dy y 2 x; dx dny 1 0; ... n dx
解:满足等式的函数
特解:在特定初始值条件下的解
通解:如果微分方程的解中含有任意常数,且相互独立的任意常
数的个数与微分方程的阶数相同,这样的解叫做微分方程的通解
xi 1 xi
xi 1 xi f (t , y(t )) dt [ f ( xi , y( xi )) f ( xi 1 , y ( xi 1 ))] 2
故有公式:
h y i 1 y i [ f ( xi , y i ) f ( xi 1 , y i 1 )] 2 y 0 y ( x0 )
解 首先分离变量 ,得
g ( y )dy
f ( x ) dx C
2 例1 求微分方程 y 3x y的通解。
1 2 dy 3 x dx y 两端积分,得 即 ln y x 3 C1 y e
x 3 C1
或y e e
C1
x3
因 e C1 仍是任意常数,令其为C,则所求得通解为 y Ce
实际应用时,与欧拉公式结合使用:
0 yi(1) yi hf ( xi , yi ) h ( k 1) k yi 1 yi [ f ( xi , yi ) f ( xi 1 , yi(1) )] k 0,1,2, 2
k k (k 对于已给的精确度, 当满足 yi(11) yi(1) 时, y i 1 yi 11) 取 ,
然后继续下一步y i 2 的计算。
此即改进的欧拉法。
3、使用泰勒公式 以此方法为基础,有龙格-库塔(Runge Kutta)法、 线性多步法等方法。 4、数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时 (k为正整数,h为步长),称它是一个k阶公式。 k越大,则数值公式的精度越高。
• 分析对象特征的变化规律
• 预报对象特征的未来性态
微分 方程 建模
• 根据函数及其变化率之间的关系确定函数 • 根据建模目的和问题分析作出简化假设 • 按照内在规律或用类比法建立微分方程
一、 微分方程的基本概念
含有未知函数的导数或微分的方程,称为微分方程. 未知函数为一元函数的微分方程,叫常微分方程.未知函 数为多元函数的微分方程,叫做偏微分方程.这里我们只 讨论常微分方程,简称为微分方程,例如
二、常见的微分方程的类型及其解法:
1.一阶微分方程
y f ( x, y )
常用的解法:分离变量法
形如
dy f ( x) g ( y ) dx P ( x) P2 ( y ) dx Q1 ( x)Q2 ( x) 0 1
的方程均为可分离变量 的微分方程。
对(2)式两端分别积分,便可得到微分方程的通解 其中C为任意常数。
ห้องสมุดไป่ตู้
ii.阻滞增长模型(Logistic模型、Verhulst模型)
Malthus 模型在 1840 年由人口统计学家 Verhulst 修正。他提出的假设包括: 1、由于自然资源(自然资源条件和环境条 件)的约束,人口存在一个最大容量 xm 。 2、增长率不是常数,随人口增加而减少。 它具有以下性质: 当人口数量 x (t ) 很小且远小于 xm 时, 人口以固定增长率 r0 增加; x (t ) 接近 xm 当 时,增长率为零。 r0 和 xm 可由统计数据确定。 满足上述性质的增长率可以写作
对马尔萨斯人口模型的解作进一步分析, 当 t 时,x(t ) ,表明人口将无限增长。马 尔萨斯人口论的核心内容是:人口按几何级数 增长,而生活资料则按算术级数增长,两者的 矛盾必会给人类社会进步造成障碍。马尔萨斯 并不认为: 解决人口过剩和生活资料匮乏两 者之间的矛盾,只有通过失业、饥饿、犯罪甚 至战争等方式来自发调节。使用消极手段来遏 制人口增长,这是人们对马尔萨斯人口论的一 种误解。
解 输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
结 果 为 : y =3e-2xsin(5x)
例3
求微分方程组的通解. dx dt 2 x 3 y 3 z dy 4 x 5 y 3z dt dz 4 x 4 y 2 z dt
x3
以后为了方便起见,我们可把 ln y 写成 ln y, 但要 记住结果中的常数C可正可负。 显然y=0也是方程的解,它包含在通解之中,只要取
C=0即可。
2.
一阶线性微分方程
形如 y P( x) y Q( x) (1) 的方程叫做一阶线性微分方程
解法:常数变易法。得到通解
y Ce
e 1 dx x ye ( e dx C ) x x e ln x ln x e ( e dx C ) x
1 dx x
x
1 x ( e dx C ) x 1 x (e C ) x
3. 二阶常系数线性微分方程
形如 y py qy f ( x) ( p.q为常数) (1)
解 输入命令 :
[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'); 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
三、利用Matlab求微分方程的解析解
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等 表示求高阶微分.任何 D 后所跟的字母为因变量,自变量可以指 定或由系统规则选定为确省. 例如,微分方程
1 2
一对共扼复根 r1, 2 i
y (C1 cos x C2 sin x)ex
二阶非齐次常系数微分方程
(1) f ( x) pm ( x)ex型,
(2) f ( x) ex [ pl ( x) cosx pn ( x) sin x]
相关的参考书: 1. 常微分方程. 高等教育出版社. 2. 数学建模与数学实验. 赵静,但琦. 高等教育出版社 3. 数学建模方法及其应用. 韩中庚. 高等教育出版社
故有公式:
y i 1 y i hf ( xi , y i ) i 0,1,2, , n - 1 y 0 y ( x0 )
此即欧拉法。
2、使用数值积分 对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有:
y ( xi 1 ) y( xi )
(3.2) 就是描述人口随时间变化的带初始条件的微 分方程。
用分离变量法,得
x(t ) x0 e r0 t
从上式看出人口随时间呈指数增长, 因此该模型称 为指数增长模型。 不妨将它应用到我国人口的预测 上
x 11.6 e 0.014810 13.45 亿
与前面的结果 13.44 亿非常相近。
Exapmle:人口增长模型
人口的增长是人们普遍关注的问题。使用了 不同的人口模型计算所得到的同一时间人口 的预报在数字上有较大的差别。那么人口是如 何预报的呢?先看一种简单的计算方法。 人口的增长也是因为有人口的基数和 一定的增长率(人口出生率减去死亡率),设某 一年的人口为 x ,年增长率为 r0 ,可以认为今 后 k 年内的人口数为
x x0 (1 r0 ) k
(3.1)
这里实际暗含着年增长率不变的假设。
i. 指数增长模型(Malthus模型)
设 t 时刻的人口为 x (t ) ,经过一段短的时间 t 后,在 t t 时刻,人口数量变化为 x(t t ) 。 由基本假设,在这段短的时间 t 内,人口数量 的增加量应与当时的人口 x (t ) 成比例,不妨设 比例系数为 r0 ,即 t 内人口的增量可写为
•欧拉法是一阶公式,改进的欧拉法是二阶公式。
•龙格-库塔法有二阶公式和四阶公式。 •线性多步法有四阶阿达姆斯外插公式和内插公式。 返 回
(三)可以用Matlab软件求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
自变 量值 函数 值
ode45 ode23 ode113 ode15s ode23s
P ( x ) dx
e
P ( x ) dx
P ( x ) dx dx Q( x)e
例1 求方程xy y e x的通解 y ex 解 将方程改写为 y x x 它是一阶线性微分方程,其中 1 ex P( x) , Q( x) x x
直接利用非齐次方程的通解公式,得
由待解 方程写 成的m文件名
函数的 ts=[t0,tf], 初值 t0、tf为自 变量的初 值和终值
ode23:组合的2/3阶龙格-库塔-芬尔格算法 ode45:运用组合的4/5阶龙格-库塔-芬尔格算法 用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
微分方程与差分方程简介
我们知道,函数是研究客观事物运动规律的重要 工具,找出函数关系,在实践中具有重要意义。可在 许多实际问题中,我们常常不能直接给出所需要的函 数关系,但我们能给出含有所求函数的导数(或微分) 或差分(即增量)的方程,这样的方程称为微分方程 或差分方程.
动态 模型
• 描述对象特征随时间(空间)的演变过程
返 回
(二)建立数值解法的一些途径
设 xi 1 xi h, i 0,1,2, n 1, 可用以下离散化方法求解微分方程: y' f(x,y) y(x0 ) y0
1、用差商代替导数 若步长h较小,则有
y ' ( x) y ( x h) y ( x ) h
x(t t ) x(t ) r0 x(t )t
等式两边同除以 t ,当 t 0 时
x(t t ) x(t ) lim r0 x(t ) t 0 t
等号的左边即是导数 d x d t ,已知初始时刻人口 数量为 x0 ,则
d x d t r0 x (t ) x ( 0) x 0
的微分方程称为二阶常系数线性微分方程。
解法:齐次方程的通解+原方程的特解=原方程的通解
特征方程 r 2 pr q 0的根 齐次方程 y py qy 0 的通解 y C1e r x C2 e r x 两个相异实根 r r2 1 y (C1 C2 x )e rx 两个相等实根 r r1 r2
返 回
四、微分方程的数值解
(一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多 得不出一般解。而在实际上对初值问题,一般是要求得 到解在若干个点上满足规定精确度的近似值,或者得到 一个满足精确度要求的便于计算的表达式。 因此,研究常微分方程的数值解法是十分必要的。
y' f(x,y) 对常微分方程: , 其数值解是指由初始点x 0 开始 y(x0 ) y0 的若干离散的x值处,即对x0 x1 x2 xn, 求出准确值y(x1 ), y ( x2 ),, y ( xn ) 的相应近似值y1 , y2 ,, yn。
例1 求
解
d2y
2
dx du 1 u 2 的通解. dt
0 应表达为:D2y=0.
输入命令:dsolve('Du=1+u^2','t')
结
果:u = tg(t-c)
例 2 求微分方程的特解.
d 2 y dy 2 4 29 y 0 dx dx y (0) 0, y ' (0) 15
d2y dy p qy f ( x); 2 dx dx
dy y 2 x; dx dny 1 0; ... n dx
解:满足等式的函数
特解:在特定初始值条件下的解
通解:如果微分方程的解中含有任意常数,且相互独立的任意常
数的个数与微分方程的阶数相同,这样的解叫做微分方程的通解
xi 1 xi
xi 1 xi f (t , y(t )) dt [ f ( xi , y( xi )) f ( xi 1 , y ( xi 1 ))] 2
故有公式:
h y i 1 y i [ f ( xi , y i ) f ( xi 1 , y i 1 )] 2 y 0 y ( x0 )
解 首先分离变量 ,得
g ( y )dy
f ( x ) dx C
2 例1 求微分方程 y 3x y的通解。
1 2 dy 3 x dx y 两端积分,得 即 ln y x 3 C1 y e
x 3 C1
或y e e
C1
x3
因 e C1 仍是任意常数,令其为C,则所求得通解为 y Ce
实际应用时,与欧拉公式结合使用:
0 yi(1) yi hf ( xi , yi ) h ( k 1) k yi 1 yi [ f ( xi , yi ) f ( xi 1 , yi(1) )] k 0,1,2, 2
k k (k 对于已给的精确度, 当满足 yi(11) yi(1) 时, y i 1 yi 11) 取 ,
然后继续下一步y i 2 的计算。
此即改进的欧拉法。
3、使用泰勒公式 以此方法为基础,有龙格-库塔(Runge Kutta)法、 线性多步法等方法。 4、数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时 (k为正整数,h为步长),称它是一个k阶公式。 k越大,则数值公式的精度越高。
• 分析对象特征的变化规律
• 预报对象特征的未来性态
微分 方程 建模
• 根据函数及其变化率之间的关系确定函数 • 根据建模目的和问题分析作出简化假设 • 按照内在规律或用类比法建立微分方程
一、 微分方程的基本概念
含有未知函数的导数或微分的方程,称为微分方程. 未知函数为一元函数的微分方程,叫常微分方程.未知函 数为多元函数的微分方程,叫做偏微分方程.这里我们只 讨论常微分方程,简称为微分方程,例如
二、常见的微分方程的类型及其解法:
1.一阶微分方程
y f ( x, y )
常用的解法:分离变量法
形如
dy f ( x) g ( y ) dx P ( x) P2 ( y ) dx Q1 ( x)Q2 ( x) 0 1
的方程均为可分离变量 的微分方程。
对(2)式两端分别积分,便可得到微分方程的通解 其中C为任意常数。
ห้องสมุดไป่ตู้
ii.阻滞增长模型(Logistic模型、Verhulst模型)
Malthus 模型在 1840 年由人口统计学家 Verhulst 修正。他提出的假设包括: 1、由于自然资源(自然资源条件和环境条 件)的约束,人口存在一个最大容量 xm 。 2、增长率不是常数,随人口增加而减少。 它具有以下性质: 当人口数量 x (t ) 很小且远小于 xm 时, 人口以固定增长率 r0 增加; x (t ) 接近 xm 当 时,增长率为零。 r0 和 xm 可由统计数据确定。 满足上述性质的增长率可以写作
对马尔萨斯人口模型的解作进一步分析, 当 t 时,x(t ) ,表明人口将无限增长。马 尔萨斯人口论的核心内容是:人口按几何级数 增长,而生活资料则按算术级数增长,两者的 矛盾必会给人类社会进步造成障碍。马尔萨斯 并不认为: 解决人口过剩和生活资料匮乏两 者之间的矛盾,只有通过失业、饥饿、犯罪甚 至战争等方式来自发调节。使用消极手段来遏 制人口增长,这是人们对马尔萨斯人口论的一 种误解。
解 输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
结 果 为 : y =3e-2xsin(5x)
例3
求微分方程组的通解. dx dt 2 x 3 y 3 z dy 4 x 5 y 3z dt dz 4 x 4 y 2 z dt
x3
以后为了方便起见,我们可把 ln y 写成 ln y, 但要 记住结果中的常数C可正可负。 显然y=0也是方程的解,它包含在通解之中,只要取
C=0即可。
2.
一阶线性微分方程
形如 y P( x) y Q( x) (1) 的方程叫做一阶线性微分方程
解法:常数变易法。得到通解
y Ce
e 1 dx x ye ( e dx C ) x x e ln x ln x e ( e dx C ) x
1 dx x
x
1 x ( e dx C ) x 1 x (e C ) x
3. 二阶常系数线性微分方程
形如 y py qy f ( x) ( p.q为常数) (1)
解 输入命令 :
[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'); 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
三、利用Matlab求微分方程的解析解
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等 表示求高阶微分.任何 D 后所跟的字母为因变量,自变量可以指 定或由系统规则选定为确省. 例如,微分方程
1 2
一对共扼复根 r1, 2 i
y (C1 cos x C2 sin x)ex
二阶非齐次常系数微分方程
(1) f ( x) pm ( x)ex型,
(2) f ( x) ex [ pl ( x) cosx pn ( x) sin x]
相关的参考书: 1. 常微分方程. 高等教育出版社. 2. 数学建模与数学实验. 赵静,但琦. 高等教育出版社 3. 数学建模方法及其应用. 韩中庚. 高等教育出版社
故有公式:
y i 1 y i hf ( xi , y i ) i 0,1,2, , n - 1 y 0 y ( x0 )
此即欧拉法。
2、使用数值积分 对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有:
y ( xi 1 ) y( xi )
(3.2) 就是描述人口随时间变化的带初始条件的微 分方程。
用分离变量法,得
x(t ) x0 e r0 t
从上式看出人口随时间呈指数增长, 因此该模型称 为指数增长模型。 不妨将它应用到我国人口的预测 上
x 11.6 e 0.014810 13.45 亿
与前面的结果 13.44 亿非常相近。
Exapmle:人口增长模型
人口的增长是人们普遍关注的问题。使用了 不同的人口模型计算所得到的同一时间人口 的预报在数字上有较大的差别。那么人口是如 何预报的呢?先看一种简单的计算方法。 人口的增长也是因为有人口的基数和 一定的增长率(人口出生率减去死亡率),设某 一年的人口为 x ,年增长率为 r0 ,可以认为今 后 k 年内的人口数为