单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,一阶微分方程的求解,3.3,3.3,一阶微分方程的求解,一阶微分方程的求解可归结为在给定初始条件下,,求微分方程的初值问题,基本思想:,在初值问题存在唯一解的时间区间内,在若干个时间离散点上,,用差分方程代替微分方程,,然后逐点求解差分方程,得到各时间离散点 、,处的函数 近似值、,3.3 一阶微分方程的求解一阶微分方程的求解可归结为在给,1,当两相邻离散点之间的间隔较小时,用一阶差商,取代一阶导数,一,.,前向欧拉法,令步长 ,则,其近似值为:,近似解的误差首先是由,差商,近似代替,微商,引起的,这种近似代替所产生的误差称为截断误差。还有一种误差称为舍入误差,这种误差是由于计算时数值舍入引起的。,当两相邻离散点之间的间隔较小时,用一阶差商一.前向欧拉法令,2,前向欧拉法的几何意义:,在任一步长内,用一段直线代替函数 的曲线,此直线段的斜率等于该函数在该步长,起点,的斜率。,欧拉法的几何意义:过点,A0,(,t0,,,y0,),,A1,(,t1,,,y1,),,,,A n,(,t n,,,y n,),斜率分别为,f,(,t0,,,y0,),,f,(,t1,,,y1,),,,,f,(,tn,,,y n,)所连接的一条折线,所以欧拉法亦称为,欧拉折线法,。,前向欧拉法的几何意义:在任一步长内,用一段直线代替函数,3,例,1.,应用前向欧拉法解初值问题,取步长,h,=0.1,,并把计算结果与精确解比较,解:据前向欧拉法,又,有:,【,思路,】,用欧拉法求解常微分方程的初值问题时,首先熟练掌握欧拉公式的一般形式,根据具体题目写出找出欧拉公式的迭代式,并根据初始条件和所给步长进行迭代求解。,例1.应用前向欧拉法解初值问题取步长h=0.1,并把计算结,4,微分方程 是一阶线性微分方程,可求出其通解:,则方程的解为:,从而有:,带入初值 可得,一阶非齐次线性微分方程,微分方程 是一阶线性微分方程,,5,计算结果列表(为前向欧拉法计算近似值,为精确值),n,0,1.0,0,0,0,1,1.1,0.271828183,0.345919876,0.074019693,2,1.2,0.684755578,0.866642536,0.181886958,3,1.3,1.276978344,1.607215079,0.330236735,4,1.4,2.093547688,2.620359552,0.526811864,5,1.5,3.187445122,3.967666295,0.780221173,6,1.6,4.620817846,5.720961527,1.100143681,7,1.7,6.466396378,7.963873479,1.497477101,正,计算结果列表(为前向欧拉法计算近似值,为,6,分析:,当步长不是很小时,前向欧拉法的精度不,是很高。步长取定后,步数越多,误差越,大。,分析:当步长不是很小时,前向欧拉法的精度不,7,二、后向欧拉法,用一阶差商近似代替 在一个,步长终点,的一阶导数,则原微分方程化为:,对于给定初始条件,的微分方程,其近似值:,二、后向欧拉法用一阶差商近似代替 在一个步长终点的一阶,8,在任一步长内,用一段直线,代替函数 的曲线,此直,线段的斜率等于该函数在该,步长,终点,的斜率。,后向欧拉法的几何意义:,精确值,近似值,在任一步长内,用一段直线后向欧拉法的几何意义:精确值近似,9,注:后向欧拉法的两种处理方式,前向,Euler,法为显式,后向,Euler,法为隐式,须解出,y,k,+1,.,可用迭代法,y,k+1,(,n,+1),=,y,k,+,hf,(,t,k+1,,,y,k+1,(n),),n=0,,,1,,,2,,,解得,y,k+1,,,其中,y,k+1,(0),=,y,k,+,hf,(,t,k,,,y,k,).,(结合前向欧拉法,预报),注:后向欧拉法的两种处理方式,10,例,2.,应用后向欧拉法解初值问题,取步长,h=0.1,,并把计算结果与精确解比较,解:据后向欧拉法,又,例2.应用后向欧拉法解初值问题取步长h=0.1,并把计算结,11,计算结果列表(,为后向欧拉法计算近似值,为精确值),n,0,1.0,0,0,0,1,1.1,0.444282775,0.345919876,-0.098362899,2,1.2,1.106855535,0.866642536,-0.240212999,3,1.3,2.040960612,1.607215079,-0.433745533,4,1.4,3.308409773,2.620359552,-0.688050221,5,1.5,4.980911323,3.967666295,-1.013245028,6,1.6,7.141585856,5.720961527,-1.420624329,7,1.7,9.886697539,7.963873479,-1.922824060,负,计算结果列表(为后向欧拉法计算近似值,为精确值,12,三,.,梯形法及其预估,-,矫正法,用一阶差商近似地代替函数在一个,步长起点和终点的,一阶导数的平均值,梯形公式,(欧拉中点公式),近似值:,改进欧拉法,三.梯形法及其预估-矫正法用一阶差商近似地代替函数在一个步,13,显然,梯形公式是隐式法,一般求 需要解方程,常采用迭代法,,初值,由显式的欧拉公式给出:,然后,将 替代梯形公式等式右边出现的,当步长,h,足够小,且由前向欧拉法计算的已是较好,的近似,则,迭代一、二次即可,预报,校正,迭代次数,显然,梯形公式是隐式法,一般求 需要解方程,常采用迭代,14,几何意义,Euler,法,折线法,改进,Euler,法,平均斜率折线法,几何意义,15,例,3.,应用梯形预估,-,矫正法解初值问题,取步长,h,=0.1,,并把计算结果与精确解比较,解:据前向欧拉法,梯形预估,-,矫正,例3.应用梯形预估-矫正法解初值问题取步长h=0.1,并把,16,计算结果列表(为梯形预估,-,矫正法计算近似值,为精确值),k,0,1.0,0,0,0,1,1.1,0.342377789,0.345919876,0.003542087,2,1.2,0.858314537,0.866642536,0.008327999,3,1.3,1.592749643,1.607215079,0.014465436,4,1.4,2.598298239,2.620359552,0.022061313,5,1.5,3.936444114,3.967666295,0.031222181,6,1.6,5.678907103,5.720961527,0.042054424,7,1.7,7.909209216,7.963873479,0.054664263,计算结果列表(为梯形预估-矫正法计算近似值,,17,function T Y=Trapezia_reckon(odefun,ab,ya,M),%odefun:,微分方程,a,、,b,:计算区间,%ya,:初值,y(a)M,:等分数目,%T:,离散的时间变量,Y,梯形公式的预估校正法解,h=(ab(2)-ab(1)/M;,步长,T=zeros(1,M+1);Y=zeros(1,M+1);,T=ab(1):h:ab(2);Y(1)=ya;,for j=1:M,k1=,feval,(odefun,T(j),Y(j);,k2=feval(odefun,T(j+1),Y(j)+h*k1);,Y(j+1)=Y(j)+(h/2)*(k1+k2);,end,Function y=euler_3_3_2(t,x),y=2/t*x+t2*exp(t,),T Y=Trapezia_reckon(euler_3_3_2,1 2,0,10),function T Y=Trapezia_reckon,18,求解器,求解问题,特点,说明,ode45,非刚性,一步算法;,4,,,5,阶,Runge-Kutta,算法,大部分场合的首选算法,ode23,非刚性,一步算法;,2,,,3,阶,Runge-Kutta,算法,使用于精度较低的情形,ode113,非刚性,多步法;变阶次的,Adams-Bashforth-Moulton,算法,计算时间比,ode45,短,ode23t,刚性,采用梯形算法,适合中度刚性问题的求解,ode15s,刚性,多步法;采用了数值差分算法,若,ode45,失效时,可尝试使用,;,ode23s,刚性,一步法;,2,阶,Rosebrock,算法,当精度较低时,计算时间比,ode15s,短,ode23tb,刚性,隐式,Runge-Kutta,算法,当精度较低时,计算时间比,ode15s,短,不同求解器的特点,求解器求解问题特点说明ode45非刚性一步算法;4,5阶Ru,19,在用常微分方程描述一个电路的暂态过程时,往往又包含着多个变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性,(stiff)”,,描述这类过程的微分方程称为“刚性问题”。,例如,电路某一变量以,e,-,t,缓慢衰减,而另一变量以,e,-1000,t,快速衰减,两变量时间常数相差很大,建立的常微分方程就具有“刚性”。,刚性问题数值解的稳定性通常被最快的模式控制,刚性问题解答的难度就在于其快变子过程的干扰。当我们试图在慢变区间上求解刚性问题时,尽管快变分量的值已衰减到微不足道,但这种快速变化的干扰仍严重影响数值解的稳定性和精度,一般地说,隐型方法比显型方法具有更大的稳定性,因此使用隐型方法求解刚性方程组更为合适,.,在,MATLAB,中,,ode23t,、,ode15s,、,ode23s,、,ode23tb,适合求解刚性问题。,在用常微分方程描述一个电路的暂态过程时,往往又包含着多个变化,20,