8.1微分方程的基本概念 .ppt
- 格式:ppt
- 大小:1.01 MB
- 文档页数:13
第八章 微分方程微分方程的求解是高等数学中的一个难点,而能够求出符号解析解的类型十分有限,利用MATLAB 的数值求解,可以得到满足一定精度要求的数值解,从而能更好的解决实际应用的问题,以下将分别进行介绍。
8.1常微分方程符号求解 函数 dsolve格式 r = dsolve('eq1,eq2,…','cond1,cond2,…','v')说明 对给定的常微分方程(组)eq1,eq 2,…中指定的符号自变量v ,与给定的边界条件和初始条件cond1,cond2,….求符号解(即解析解)r ;若没有指定变量v ,则缺省变量为t ;在微分方程(组)的表达式eq 中,大写字母D 表示对自变量(设为x)的微分算子:D=d/dx ,D2=d2/dx2,…。
微分算子D 后面的字母则表示为因变量,即待求解的未知函数。
初始和边界条件由字符串表示:y(a)=b ,Dy(c)=d ,D2y(e)=f ,等等,分别表示b )x (y ax ==,d )x (y c x ='=,f )x (y e x =''=;若边界条件少于方程(组)的阶数,则返回的结果r 中会出现任意常数C1,C2,…;dsolve 命令最多可以接受12个输入参量(包括方程组与定解条件个数,当然我们可以做到输入的方程个数多于12个,只要将多个方程置于一字符串内即可)。
若没有给定输出参量,则在命令窗口显示解列表。
若该命令找不到解析解,则返回一警告信息,同时返回一空的sym 对象。
这时,用户可以用命令ode23或ode45求解方程组的数值解。
【例8.1】试运行以下命令: >> D1=dsolve('D2y-Dy=exp(x)')计算结果为:D1 = -exp(x)*t+C1+C2*exp(t) %以t 作为自变量>>D2 =dsolve('D2y-Dy=exp(x)','x')计算结果为:D2 = (-1+C1+x)*exp(x)+C2 %以x 作为自变量>>D3 = dsolve('(Dy)^2 + y^2 = 1','s')计算结果为: D3 = 1 -1sin(s-C1)-sin(s-C1) %以s 作为自变量>>D4 = dsolve('Dy = a*y', 'y(0) = b') % 带一个定解条件计算结果为: D4 =b*exp(a*t) %以t 作为自变量>>D5 = dsolve('D2y = -a^2*y', 'y(0) = 1', 'Dy(pi/a) = 0') % 带两个定解条件计算结果为: D5 =cos(a*t) %以t 作为自变量>>[x,y] = dsolve('Dx = y', 'Dy = -x') % 求解线性微分方程组计算结果为:x =-C1*cos(t)+C2*sin(t) y =C1*sin(t)+C2*cos(t)>>[u,v] = dsolve('Du=u+v,Dv=u-v')计算结果为: u =C1*2^(1/2)*exp(2^(1/2)*t)-C2*2^(1/2)*exp(-2^(1/2)*t)+C1*exp(2^(1/2)*t)+C2*e xp(-2^(1/2)*t) v =C1*exp(2^(1/2)*t)+C2*exp(-2^(1/2)*t) 【例8.2】 求微分方程xy dxdy2=的通解。
第八章常微分方程初值问题的解法在科学与工程问题中,常微分方程描述物理量的变化规律,应用非常广泛. 本章介绍最基本的常微分方程初值问题的解法,主要针对单个常微分方程,也讨论常微分方程组的有关技术.8.1引言本节介绍常微分方程、以及初值问题的基本概念,并对常微分方程初值问题的敏感性进行分析.8.1.1 问题分类与可解性很多科学与工程问题在数学上都用微分方程来描述,比如,天体运动的轨迹、机器人控制、化学反应过程的描述和控制、以及电路瞬态过程分析,等等. 这些问题中要求解随时间变化的物理量,即未知函数y(t),t表示时间,而微分方程描述了未知函数与它的一阶或高阶导数之间的关系. 由于未知函数是单变量函数,这种微分方程被称为常微分方程(ordinary differential equation, ODE),它具有如下的一般形式①:g(t,y,y′,⋯,y(k))=0 ,(8.1) 其中函数g: ℝk+2→ℝ. 类似地,如果待求的物理量为多元函数,则由它及其偏导函数构成的微分方程称为偏微分方程(partial differential equation, PDE). 偏微分方程的数值解法超出了本书的范围,但其基础是常微分方程的解法.在实际问题中,往往有多个物理量相互关联,它们构成的一组常微分方程决定了整个系统的变化规律. 我们先针对单个常微分方程的问题介绍一些基本概念和求解方法,然后在第8.5节讨论常微分方程组的有关问题.如公式(8.1),若常微分方程包含未知函数的最高阶导数为y(k),则称之为k阶常微分方程. 大多数情况下,可将常微分方程(8.1)写成如下的等价形式:y(k)=f(t,y,y′,⋯,y(k−1)) ,(8.2) 其中函数f: ℝk+1→ℝ. 这种等号左边为未知函数的最高阶导数y(k)的方程称为显式常微分方程,对应的形如(8.1)式的方程称为隐式常微分方程.通过简单的变量代换可将一般的k阶常微分方程转化为一阶常微分方程组. 例如对于方程(8.2),设u1(t)=y(t),u2(t)=y′(t),⋯,u k(t)=y(k−1), 则得到等价的一阶显式常微分方程组为:{u1′=u2u2′=u3⋯u k′=f(t,u1,u2,⋯,u k).(8.3)本书仅讨论显式常微分方程,并且不失一般性,只需考虑一阶常微分方程或方程组.例8.1 (一阶显式常微分方程):试用微积分知识求解如下一阶常微分方程:y′=y .[解] 采用分离变量法进行推导:①为了表达式简洁,在常微分方程中一般省略函数的自变量,即将y(t)简记为y,y′(t)简记为y′,等等.dy dt =y ⟹ dy y=dt , 对两边积分,得到原方程的解为:y (t )=c ∙e t ,其中c 为任意常数.从例8.1看出,仅根据常微分方程一般无法得到唯一的解. 要确定唯一解,还需在一些自变量点上给出未知函数的值,称为边界条件. 一种边界条件设置方法是给出t =t 0时未知函数的值:y (t 0)=y 0 .在合理的假定下,从t 0时刻对应的初始状态y 0开始,常微分方程决定了未知函数在t >t 0时的变化情况,也就是说这个边界条件可以确定常微分方程的唯一解(见定理8.1). 相应地,称y (t 0)=y 0为初始条件,而带初始条件的常微分方程问题:{y ′=f (t,y ),t ≥t 0y (t 0)=y 0 . (8.4)为初值问题(initial value problem, IVP ).定理8.1:若函数f (t,y )关于y 满足李普希兹(Lipschitz )条件,即存在常数L >0,使得对任意t ≥t 0,任意的y 与y ̂,有:|f (t,y )−f(t,y ̂)|≤L |y −y ̂| ,(8.5) 则常微分方程初值问题(8.4)存在唯一的解.一般情况下,定理8.1的条件总是满足的,因此常微分方程初值问题的解总是唯一存在的. 为了更清楚地理解这一点,考虑f (t,y )的偏导数ðf ðy 存在,则它在求解区域内可推出李普希兹条件(8.5),因为f (t,y )−f (t,y ̂)=ðf ðy (t,ξ)∙(y −y ̂) , 其中ξ为介于y 和y ̂之间的某个值. 设L 为|ðf ðy (t,ξ)|的上界,(8.5)式即得以满足.对公式(8.4)中的一阶常微分方程还可进一步分类. 若f (t,y )是关于y 的线性函数,f (t,y )=a (t )y +b (t ) ,(8.6) 其中a (t ),b (t )表示自变量为t 的两个一元函数,则对应的常微分方程为线性常微分方程,若b (t )≡0, 则为线性齐次常微分方程. 例8.1中的方程属于线性、齐次、常系数微分方程,这里的“常系数”是强调a (t )为常数函数.8.1.2 问题的敏感性对常微分方程初值问题,可分析它的敏感性,即考虑初值发生扰动对结果的影响. 注意这里的结果(解)是一个函数,而不是一个或多个值. 由于实际应用的需要,分析常微分方程初值问题的敏感性时主要关心t →∞时y (t )受影响的情况,并给出有关的定义. 此外,考虑到常微分方程的求解总与数值算法交织在一起、以及历史的原因,一般用“稳定”、“不稳定”等词汇说明问题的敏感性.定义8.1:对于常微分方程初值问题(8.4),考虑初值y 0的扰动使问题的解y (t )发生偏差的情形. 若t →∞时y (t )的偏差被控制在有界范围内,则称该初值问题是稳定的(stable ),否则该初值问题是不稳定的(unstable ). 特别地,若t →∞时y (t )的偏差收敛到零,则称该初值问题是渐进稳定的(asymptotically stable ).关于定义8.1,说明两点:● 渐进稳定是比稳定更强的结论,若一个问题是渐进稳定的,它必然是稳定的. ● 对于不稳定的常微分方程初值问题,初始数据的扰动将使t →∞时的结果误差无穷大. 因此为了保证数值求解的有效性,常微分方程初值问题具有稳定性是非常重要的.例8.2 (初值问题的稳定性): 考察如下“模型问题”的稳定性:{y ′=λy,t ≥t 0y (t 0)=y 0 . (8.7)[解] 易知此常微分方程的准确解为:y (t )=y 0e λ(t−t 0). 假设初值经过扰动后变为y 0+Δy 0,对应的扰动后解为y ̂(t )=(y 0+Δy 0)e λ(t−t 0),所以扰动带来的误差为Δy (t )=Δy 0e λ(t−t 0) .根据定义8.1,需考虑t →∞时Δy (t )的值,它取决于λ. 易知,若λ≤0,则原问题是稳定的,若λ>0,原问题不稳定. 而且当λ<0时,原问题渐进稳定.图8-1分三种情况显示了初值扰动对问题(8.7)的解的影响,从中可以看出不稳定、稳定、渐进稳定的不同含义.对例8.2中的模型问题,若考虑参数λ为一般的复数,则问题的稳定性取决于λ的实部,若Re(λ)≤0, 则问题是稳定的,否则不稳定. 例8.2的结论还可推广到线性、常系数常微分方程,即根据f (t,y )中y 的系数可确定初值问题的稳定性. 对于一般的线性常微分方程(8.6),由于方程中y 的系数为关于t 的函数,仅能分析t 取某个值时的局部稳定性.例8.3 (局部稳定性): 考察如下常微分方程初值问题的稳定性:{y ′=−10ty,t ≥0y (0)=1 . (8.8)[解] 此常微分方程为线性常微分方程,其中y 的系数为a (t )=−10t . 当t ≥0时,a (t )≤0,在定义域内每个时间点上该问题都是局部稳定的.事实上,方程(8.8)的解析为y (t )=e −5t 2,初值扰动Δy 0造成的结果误差为Δy (t )=Δy 0e −5t 2. 这说明初值问题(8.8)是稳定的.对于更一般的一阶常微分方程(8.4),由于其中f (t,y )可能是非线性函数,分析它的稳定性非常复杂. 一种方法是通过泰勒展开用一个线性常微分方程来近似它,再利用线性常微分方程稳定性分析的结论了解它的局部稳定性. 具体的说,在某个解函数y ∗(t)附近用一阶泰勒展开近似f (t,y ),f (t,y )≈f (t,y ∗)+ðf ðy(t,y ∗)∙(y −y ∗) 则原微分方程被局部近似为(用符号z 代替y ): 图8-1 (a) λ>0对应的不稳定问题, (b) λ=0对应的稳定问题, (c) λ<0对应的渐进稳定问题. (a) (b) (c)z′=ðfðy(t,y∗)∙(z−y∗)+f(t,y∗)这是关于未知函数z(t)的一阶线性常微分方程,可分析t取某个值时的局部稳定性. 因此,对于具体的y∗(t)和t的取值,常微分方程初值问题(8.4)的局部稳定性取决于ðfðy(t,y∗)的实部的正负号. 应注意的是,这样得到的关于稳定性的结论只是局部有效的.实际遇到的大多数常微分方程初值问题都是稳定的,因此在后面讨论数值解法时这常常是默认的条件.8.2简单的数值解法与有关概念大多数常微分方程都无法解析求解(尤其是常微分方程组),只能得到解的数值近似. 数值解与解析解有很大差别,它是解函数在离散点集上近似值的列表,因此求解常微分方程的数值方法也叫离散变量法. 本节先介绍最简单的常微分方程初值问题解法——欧拉法(Euler method),然后给出数值解法的稳定性和准确度的概念,最后介绍两种隐格式解法.8.2.1 欧拉法数值求解常微分方程初值问题,一般都是“步进式”的计算过程,即从t0开始依次算出离散自变量点上的函数近似值. 这些离散自变量点和对应的函数近似值记为:t0<t1<⋯<t n<t n+1<⋯y 0,y1,⋯y n,y n+1,⋯其中y0是根据初值条件已知的. 相邻自变量点的间距为 n=t n+1−t n, 称为步长.数值解法通常使用形如y n+1=G(y n+1,y n,y n−1,…,y n−k)(8.9) 的计算公式,其中G表示某个多元函数. 公式(8.9)是若干个相邻时间点上函数近似值满足的关系式,利用它以及较早时间点上函数近似值可算出y n+1. 若公式(8.9)中k=0,则对应的解法称为单步法(single-step method),其计算公式为:y n+1=G(y n+1,y n) .(8.10) 否则,称为多步法(multiple-step method). 另一方面,若函数G与y n+1无关,即:y n+1=G(y n,y n−1,…,y n−k),则称为显格式方法(explicit method),否则称为隐格式方法(implicit method). 显然,显格式方法的计算较简单,只需将已得到的函数近似值代入等号右边,则可算出y n+1.欧拉法是一种显格式单步法,对初值问题(8.4)其计算公式为:y n+1=y n+ n f(t n,y n) , n=0,1,2,⋯.(8.11) 它可根据数值微分的向前差分公式(第7.7节)导出. 由于y′=f(t,y),则y′(t n)=f(t n,y(t n))≈y(t n+1)−y(t n)n,得到近似公式y(t n+1)≈y(t n)+ n f(t n,y(t n)),将其中的函数值换为数值近似值,则得到欧拉法的递推计算公式(8.11). 还可以从数值积分的角度进行推导,由于y(t n+1)=y(t n)+∫y′(s)dst n+1t n =y(t n)+∫f(s,y(s))dst n+1t n,用左矩形公式近似计算其中的积分(矩形的高为s=t n时被积函数值),则有y(t n+1)≈y(t n)+ n f(t n,y(t n)) ,将其中的函数值换为数值近似值,便得到欧拉法的计算公式.例8.4 (欧拉法):用欧拉法求解初值问题{y ′=t −y +1y (0)=1. 求t =0.5时y (t )的值,计算中将步长分别固定为0.1和0.05.[解] 在本题中,f (t,y )=t −y +1, t 0=0, y 0=1, 则欧拉法计算公式为:y n+1=y n + (t n −y n +1) , n =0,1,2,⋯当步长h=0.1时,计算公式为y n+1=0.9y n +0.1t n +0.1; 当步长h=0.05时,计算公式为y n+1=0.95y n +0.05t n +0.05. 两种情况的计算结果列于表8-1中,同时也给出了准确解y (t )=t +e −t 的结果.表8-1 欧拉法计算例8.4的结果 h=0.1h=0.05 t ny n y (t n ) t n y n t n y n 0.11.000000 1.004837 0.05 1.000000 0.3 1.035092 0.21.010000 1.018731 0.1 1.002500 0.35 1.048337 0.31.029000 1.040818 0.15 1.007375 0.4 1.063420 0.41.056100 1.070320 0.2 1.014506 0.45 1.080249 0.5 1.090490 1.106531 0.25 1.023781 0.5 1.098737 从计算结果可以看出,步长取0.05时,计算的误差较小.在常微分方程初值问题的数值求解过程中,步长 n ,(n =0,1,2,⋯)的设置对计算的准确性和计算量都有影响. 一般地,步长越小计算结果越准确,但计算步数也越多(对于固定的计算区间右端点),因此总计算量就越大. 在实际的数值求解过程中,如何设置合适的步长达到准确度与效率的最佳平衡是很重要的一个问题.8.2.2数值解法的稳定性与准确度在使用数值方法求解初值问题时,还应考虑数值方法的稳定性. 实际的计算过程中都存在误差,若某一步的解函数近似值y n 存在误差,在后续递推计算过程中,它会如何传播呢?会不会恶性增长,以至于“淹没”准确解?通过数值方法的稳定性分析可以回答这些问题. 首先给出稳定性的定义.定义8.2:采用某个数值方法求解常微分方程初值问题(8.4),若在节点t n 上的函数近似值存在扰动δn ,由它引起的后续各节点上的误差δm (m >n )均不超过δn ,即|δm |≤|δn |,(m >n),则称该方法是稳定的.在大多数实际问题中,截断误差是常微分方程数值求解中的主要计算误差,因此我们忽略舍入误差. 此外,仅考虑稳定的常微分方程初值问题.考虑单步法的稳定性,需要分析扰动δn 对y n+1的影响,推导δn+1与δn 的关系式. 以欧拉法为例,先考虑模型问题(8.7),并且设Re(λ)≤0. 此时欧拉法的计算公式为②:y n+1=y n + λy n =(1+ λ)y n ,由y n 上的扰动δn 引起y n+1的误差为:δn+1=(1+ λ)δn ,要使δn+1的大小不超过δn ,则要求|1+ λ|≤1 . (8.12)② 对于稳定性分析以及后面的一些场合,由于只考虑一步的计算,将步长 n 记为 .。
第八讲 常微分方程 (一)基本概念和一阶可解方程、高阶可降价方程 (一) 微分方程的基本概念 (二) 一阶可积类型的求解 (三) 高阶可降阶类型方程的求解 (四) 应用问题举例 (五) 综合例题8.1 微分方程的基本概念8.1.1 引言与实例 z 什么是微分方程?包含未知函数的导数或微分的方程式就称为微分方程.微分方程是用函数与导数的关系式来表达(一类)函数的一种方法。
z 微分方程的重要性z 微分方程的基本问题: 列方程,解方程;解的定性研究。
z 微分方程的基本研究方法 8.1.2 微分方程其及其分类:z 包含未知函数导数的方程式称为微分方程. z 常微分方程和偏微分方程: z 微分方程的阶:方程中出现的最高阶导数的阶数称为这个微分方程的阶. n 阶方程的一般形式: ()),...,,,,(1122−−=n n n dxyd dx y d dx dy y x f yz 线性与非线性方程如果在上述方程中,函数f 关于未知函数y 及其各阶导数dy dx d y d x d y dxn n ,,...,2211−−都是一次整式,则称这个方程是线性微分方程, 否则称为非线性微分方程. n 阶线性常微分方程的一般形式为:()()())( (011)11x f y x a dx dyx a dx y d x a dx y d n n n n n =++++−−−,其中())(),1,...,1,0(,x f n i x a i −=是已知函数. 8.1.3 “解”的概念 z 解的概念:满足微分方程的函数,称为该方程的解。
即将此函数代入方程,使其成为恒等式。
或更细致一点,如果函数)(x y y =在区间I 上具有n 阶导数, 且将其代入某n 阶微分方程之后, 使之成为恒等式, 则称函数)(x y y =是方程在区I 上的一个解 z 通解一般解与定解条件微分方程的解中都包含了若干任意常数. 一般情况下, 在n 阶微分方程的解中含有n 任常数12c c c n ,,...,, 也就是说, n 阶微分方程的解的表达式为: y f x c c c n =(,,,...,)12 这种包含了n 个任常数 称为微分方程的通解.一个微分方程虽然可以有无穷多个解, 若要从中确一个所需要的解.为此,需要对微分方程附加某些条件,即所谓定解条件. 对于n 阶微分方程,为了从通解中找到所需要的解,需要附加n 个初始值条件, 即()()()()()⎪⎩⎪⎨⎧=′=′===−−−−1001000011,,,0),...,,,(n n n n n y x y y x y y x y dxyd dx dy y x f y 这样的定解条件称为初值条件,上述问题就称为初值问题. 满足微分方程, 并且适合定解条件的解称为微分方程的特解. z 微分方程解的存在唯一性定理:初始值问题()00(,)y f x y y x y ′=⎧⎪⎨=⎪⎩.若(),f x y 连续, (,)f x y y ∂∂在方域 {}00(,),D x y x x a y y a =−≤−≤有界, 则该问题存在唯一的解满足方程和初始条件.. 例8.1, 四个函数: 1)(211+=−x eC x y , 22)(C x y =,)()()(213x y x y x y +=, x x y x y x y −+=)()()(214,其中21,C C 为任意常数,是否是下列三个方程: (1) ()y x y −=′12; (2) 0)21(2=′−−′′y x y x ;(3) 2221)21(x y x y x −=′−−′′. 之解,若是解,是什么解?解:根据解的概念,用直接代入验证可知:)(1x y 是方程(1)的通解;当12=C 时,)(2x y 是方程(2)的一个特解;)(1x y 和)(2x y 都是方程(2)的解, )(3x y 是方程(2)的通解; )(4x y 是方程(2)的通解.例8.2, 研究由()⎩⎨⎧=+=′0023y xy x y 之解所确定函数的增减区间,极值点及凸凹区间。