常微分方程模型及其数值解.ppt
《常微分方程模型及其数值解.ppt》由会员分享,可在线阅读,更多相关《常微分方程模型及其数值解.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、常微分方程数值解常微分方程数值解杨瑞琰0、导言 在许多实际问题中,例如物理中的速率问题,人口的增长问题,放射性衰变问题,经济学中的边际问题等,常常涉及到两个变量之间的变化规律。微分方程是研究上述问题的一种机理分析方法,它在科技、工程、生态、环境、人口以及经济管理等领域中有着十分广泛的应用。在应用微分方程解决实际问题时,必须经过两个阶段。一是微分方程的建立,建立一个微分方程的实质就是构建函数、自变量以及函数对自变量的导数之间的一种平衡关系。而正确地构建这种平衡关系,需要对实际问题的深入浅出的刻画,根据物理的和非物理的原理、定律或定理,作出合理的假设和简化并将它升华成数学问题。另一个是方程的求解和
2、结果分析。对一些常系数的或特殊函数形式的微分方程,往往能得到解析解,这对实际问题的分析和应用都是有利的,但是大多数变系数的、非线性函数形式的微分方程都是求不出解析解的,此时就需要应用求解微分方程的另一个重要方法数值解法。本章简要介绍有关微分方程模型的概念,微分方程的数值解法和图解法,主要介绍若干建模实例,通过它们展示微分方程模型的建模步骤及解决实际问题的全过程。欧拉方法和龙格欧拉方法和龙格库塔方法库塔方法一阶常微分方程初值问题的一般形式为 y=(x,y),axb(4)y(a)=其中(x,y)是已知函数,为给定的初值.如果函数(x,y)在区域axb,-y0为LipschitzLipschitz常
3、数常数,则初值问题(4)有唯一解.所谓数值解法,就是设法将常微分方程离散化,建立差分方程,给出解在一些离散点上的近似值.a=x0 x1x2xnxN=b其中剖分节点xn=a+nh,n=0,1,N,h称为剖分步长.数值解法就是求精确解y(x)在剖分节点xn上的近似值yny(xn),n=1,2,n.假设初值问题(4)的解y=y(x)唯一存在且足够光滑.对求解区域a,b做剖分 我们采用数值积分方法来建立差分公式.1 1 构造数值解法的基本思想构造数值解法的基本思想 在区间xn,xn+1上对方程(4)做积分,则有对右边的积分应用左矩形公式,则有梯形公式oxyab左矩形公式y=(x)右矩形公式中矩形公式对
4、右边的积分应用左矩形公式,则有因此,建立节点处近似值yn满足的差分公式称之为EulerEuler公式公式.称为梯形公式梯形公式.若对(6)式右边的积分应用梯形求积公式,则可导出差分公式 利用Euler方法求初值问题 解解 此时的Euler公式为称为EulerEuler中点公式中点公式或称双步双步EulerEuler公式公式.若在区间xn-1,xn+1上对方程(4)做积分,则有对右边的积分应用中矩形求积公式,则得差分公式例例3的数值解.此问题的精确解是y(x)=x/(1+x2).分别取步长h=0.2,0.1,0.05,计算结果如下function outx,outy=MyEuler(fun,x0
5、,xt,y0,PointNum)%MyEuler 用前向差分的欧拉方法解微分方程%fun 表示f(x,y)%x0,xt表示自变量的初值和终值%y0表示函数在x0处的值,其可以为向量形式%PointNum表示自变量在x0,xt上取的点数if nargin5|PointNum=0%如果函数仅输入4个参数值,则PointNum默认值为100 PointNum=100;endif nargin4%y0默认值为0 y0=0;endh=(xt-x0)/PointNum;%计算步长hx=x0+0:PointNum*h;%自变量数组y(1,:)=y0(:);%将输入存为行向量,输入为列向量形式for k=1:
6、PointNum f=feval(fun,x(k),y(k,:);%计算f(x,y)在每个迭代点的值 f=f(:);y(k+1,:)=y(k,:)+h*f;%对于所取的点x迭代计算y值endouty=y;outx=x;%plot(x,y)%画出方程解的函数图function f=myfun011(x,y)f=1/(1+x*x)-2*y*y;myfun011.mfunction ex01()x1,y1=MyEuler(myfun011,0,2,0,10);%欧拉法所得的解h1=2/10;%计算步长x11,y11=MyEuler(myfun011,0,2,0,20);%欧拉法所得的解h2=2/20
7、;%计算步长x12,y12=MyEuler(myfun011,0,2,0,100);%欧拉法所得的解h2=2/100;%计算步长plot(x1,y1,+b,x11,y11,og,x12,y12,-r)的欧拉法解的欧拉解的欧拉解)hxnyny(xn)y(xn)-ynh=0.20.000.400.801.201.602.000.000000.376310.542280.527090.466320.406820.000000.344830.487800.491800.449440.400000.00000-0.03148-0.05448-0.03529-0.01689-0.00682h=0.10.0
8、00.400.801.201.602.000.000000.360850.513710.509610.458720.404190.000000.344830.487800.491800.449440.400000.00000-0.01603-0.02590-0.01781-0.00928-0.00419h=0.050.000.400.801.201.602.000.000000.352870.500490.500730.454250.402270.000000.344830.487800.491800.449440.400000.00000-0.00804-0.01268-0.00892-0.
9、00481-0.00227Euler中点公式则不然,计算yn+1时需用到前两步的值yn,yn-1,称其为两步方法两步方法,两步以上的方法统称为多步法多步法.在Euler公式和梯形公式中,为求得yn+1,只需用到前一步的值yn,这种差分方法称为单步法单步法,这是一种自开始方法.隐式公式中,每次计算yn+1都需解方程,要比显式公式需要更多的计算量,但其计算稳定性较好.在Euler公式和Euler中点公式中,需要计算的yn+1已被显式表示出来,称这类差分公式为显式公式显式公式,而梯形公式中,需要计算的yn+1隐含在等式两侧,称其为隐式公式隐式公式.从数值积分的角度来看,梯形公式计算数值解的精度要比E
10、uler公式好,但它属于隐式公式,不便于计算.实际上,常将Euler公式与梯形公式结合使用:2 改进的改进的Euler方法方法 由迭代法收敛的角度看,当 (是给定的精度要求)时,取 就可以保证迭代公式收敛,而当h很小时,收敛是很快的.而且,只要 通常采用只迭代一次的算法:称之为改进的改进的Euler方法方法.这是一种单步显式方法.改进的Euler方法也可以写成 y=y-2x/y ,0 x1的数值解,取步长h=0.1.精确解为y(x)=(1+2x)1/2.例例4 求初值问题 y(0)=1 解解 (1)利用Euler方法计算结果如下:(2)利用改进Euler方法function Xout,Yout
11、=MyEulerPro(fun,x0,xt,y0,PointNumber)%MyEulerPro 用改进的欧拉法解微分方程if nargin5|PointNumber=0%如果函数仅输入4个参数值,则PointNumer默认值为100 PointNumer=100;endif nargin4%y0默认值为0 y0=0;endh=(xt-x0)/PointNumber;%计算所取的两离散点之间的距离x=x0+0:PointNumber*h;%表示出离散的自变量xy(1,:)=y0(:);for i=1:PointNumber%迭代计算过程 f1=h*feval(fun,x(i),y(i,:);f
12、1=f1(:);f2=h*feval(fun,x(i+1),y(i,:)+f1);f2=f2(:);y(i+1,:)=y(i,:)+1/2*(f1+f2);endXout=x;Yout=y;function f=myfun012(x,y)f=y-2*x/y;myfun012.mfunction ex02()%ex02 比较改进欧拉法,简单欧拉方法以及微分方程符号解x3,y3=MyEulerPro(myfun012,0,1,1,10);x,y1=MyEuler(myfun012,0,1,1,10);%欧拉法所得的解for k=1:11t(k)=sqrt(1+2*x(k);endplot(x,y1
13、,-b,x3,y3,og,x,t,:*r)legend(简单欧拉法解,改进欧拉解,解析解)ex02.mnxnEuler方法yn改进Euler法yn精确解y(xn)01234567891000.10.20.30.40.50.60.70.80.9111.11.1918181.2774381.3582131.4351331.5089661.5803381.6497831.7177791.78477011.0959091.1840961.2662011.3433601.4164021.4859561.5525151.6164761.6781681.73786911.0954451.1832161.26
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 模型 及其 数值
限制150内