当前位置:首页 > 7微分方程数值解课件-11
? 微分方程离散化方法主要有
数值微分法,数值积分法和Taylor展开法。
? 初值问题化为差分方程的方法
1. 用离散方法去掉方程中的导数y?得到近似离散化方程; 2. 在近似离散化方程中用yk代替y(xk); 3. 在近似离散化方程中将近似号“?”用等号“=”代替。
124
1) 数值微分法
由初值问题(6.1)有y'(xk)?f(xk,y(xk)),用数值微分的2点前差公式代替y'(xk),得近似离散化方程
y(xk?1)?y(xk)xk?1?xk?y'(xk)?f(xk,y(xk)) 记h?xk?1?xk,做yk?y(xk),“???h?f(xk,yk)”,得差分方程
yk?1?yk
写容易计算的形式
yk?1?yk?hf(xk,yk) (k?0,1,2,?,n?1) (6.2) (Euler公式)
由初值条件y?y(a)及式(6.2)可求出(6.1)的数值解y1,y2,?,yn。公式(6.2)是显式单步法。
0
125
2)数值积分法 在[xk,xk?1]上对y'?f(x,y)两边取定积分,得
y(xk?1)?y(xk)??xk?1xky'dx??xk?1xkf(x,y(x))dx
对右端积分采用梯形公式(数值积分公式)得近似离散化方程:
y(xk?1)?y(xk)?h2[f(xk,y(xk))?f(xk?1,y(xk?1))] 于是得到求初值问题(6.1)的梯形方法
yhk?1?yk?2[f(xk,yk)?f(xk?1,yk?1)] (k?0,1,?,n?1)
该公式是隐式单步法。
126
3)Taylor展开法
因为初值问题中函数f(x,y)是已知函数,由y??f(x,y),可以计算y'',y''',…, 于是有函数y?y(x)在xk处的Taylor展式
y(xk?1)?y(xh2k)?hy'(xk)?2!y''(xk)??(xhf(xh2?ydk)?k,y(xk))?2!dx[f(x,y(x))]x?xk??取上式右端前若干项,得近似离散化方程。 例如取前两项有
y(xk?1)?y(xk)?hf(xk,y(xk))
于是又得到Euler公式:yk?1?yk?hf(xk,yk)
127
共分享92篇相关文档