- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB应用第8章常微分方程的数值求解
第8章 常微分方程的数值求解
所谓的常微分方程就是把自变量t和它的函数y以及它的微商dy/dt、d2y/dt2、…dny/dtn相联系的一个关系式
(1)
一个微分方程不只有一个或几个解,而是有无数个一簇解。如一阶常微分方程dy/dt=1-e-t的解为y(t)=t+e-t+C。C为积分常数,C取任意数值时,函数y(t)都满足微分方程。因此,解有无数个。如图
在实际应用中,并不要求把所有的解都求出来,而是求满足某种指定条件的解。这个条件通常称定解条件。一个最重要的定解条件是初值条件。对于上述方程,初值条件是:
,,,…, (2)
x0是自变量的某个指定的“初值”,而、、、…、则是未知函数及其到n-1阶微商的指定“初值”。求解满足这样初值条件的微分方程问题称为初值问题。
如果能从方程(1)将解出,则微分方程变成下面的形式
(3)
这里的f与式(1)中的f不同,它是n+1个自变量的已知函数。这种微分方程称为正规形微分方程。而式(1)有时称为隐微分方程。
我们只考虑正规形微分方程,而且是一阶常微分方程的初值问题:
,, (4)
设函数在区域,内连续,并且存在常数L(Lipschitz常数),对所有和y1、y2,有,由常微分方程理论得知,初值问题(4)在区间[t0, T]有唯一解,且连续可微。
微分方程的数值解法是一种离散化方法。在这种方法中,事先取定自变量t的离散值t1,t2,…,tN,tj称为节点,通常取成等距的,即t1=t0+h,t2=t0+2h,…,tN=t0+Nh,其中h0称为步长,必要时,可以改变它的大小。在这些节点上求出未知函数y(t)对应的值y(t1)、y(t2)、…y(tN)的近似值y1、y2、…yN。这些值称为初值问题的一个数值解。
常微分方程的数值求解方法很多,常用的有欧拉(Euler)方法、休恩(Heun)方法、泰勒(Taylor)级数法、龙格-库塔(Runge-Kutta)法、预测-校正(Predictor- Corrector)法。
欧拉(Euler)方法
根据泰勒(Taylor)定理,如果函数y(t)、y’(t)、y’’(t)是连续的,在t=t0附近可以展开为:
令,并将代入上式,得到
若步长取得足够小,可以忽略包含h2的二次项
——欧拉逼近
将区间[a, b]分成M个等距的子区间,子区间的长度即为步长h=(b-a)/M,tk=a+kh, k=1, 2, …., M 或 tk+1= tk+h。
重复上述欧拉逼近过程:;;,
这些点就是对曲线y=y(t)的逼近。
在几何上,表示曲线的斜率。对于方程解的所有曲线,构成一个斜率场。
一个解曲线应该受斜率约束的。沿着一条曲线运动,要从初始点(t0, y0)开始,考察在斜率场中该点的方向,沿着该方向移动一段距离,相当于在t方向移动h距离,在y方向移动,这时移动到下一点(t1, y1)。在(t1, y1)点,重复上述步骤,得到(t2, y2),….,最后得到(tN, yN)。
当然,除了(t0, y0)外,其它点并不在精确的解曲线上,因此(t1, y1),….,(tN, yN)是精确解曲线的近似值。如果步长取得越短,近似值就逼近精确值。
欧拉方法的末端累积误差为
以下是在[0, 3]内,方程为、初值条件为的不同步长欧拉解的比较。
从图中可以看出,步长取得越小,越逼近精确解。
休恩(Heun)方法
对微分方程从t0到t1积分,利用初始条件,得到
(
上式中的积分可以利用数值积分的梯形公式()表达。现在取,应用梯形公式,得到
(Heun-1)
注意,这时公式的右端也包含待定值y(t1)。可以用一个估计值来代替右边的y(t1)。这里采用欧拉方法得到这个估计值,。然后代入(Heun-1)式中,得到(t1, y1)。
重复上述步骤,就得到一系列的点逼近解函数的精确值。这种方法就是休恩(Heun)方法。在这个方法中,用欧拉方法作为预报,然后用梯形公式进行校正。它的一般步骤是
,
在几何上,用休恩方法得到的近似值比用欧拉方法得到的更接近准确值。
休恩方法的累积误差为
以下是在[0, 2]内,方程为、初值条件为的不同步长休恩方法解的比较。
可以看出,用休恩方法要比用欧拉方法收敛快。
泰勒(Taylor)级数法
根据泰勒定理,如果函数y(t)及其直到N+1阶导数在区间[t0, b]连续(即),则y(t)在处展开的N次泰勒级数为
其中,
表示函数f对t的(j-1)次全导数:
,,,….
,
在每个子区间[tk,
原创力文档


文档评论(0)