隐式Euler求解一阶常微分方程_第1页
隐式Euler求解一阶常微分方程_第2页
隐式Euler求解一阶常微分方程_第3页
隐式Euler求解一阶常微分方程_第4页
隐式Euler求解一阶常微分方程_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、matlab语言及应用大作业姓名:学号:学院:班级:题目编号:2013年10月13隐式euler求解一阶常微分方程。一、隐式euler的数学理论微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。实现离散化的基本途径是用向前差商来近似代替导数,这就是欧拉算法实现的依据。欧拉(euler)算法是数值求解中最基本、最简单的方法,但其求解精度较低,一般不在工程中单独进行运算。所谓数值求解,就是求问题的解y(x)在一系列点上的值y(xi)的近似值yi。对于常微分方程:dy/dx=f(x,y),xa,by(a)=y0可以将区间a,b分成n段,那么方程在第xi点

2、有y(xi)=f(xi,y(xi),再用向前差商近似代替导数则为:(y(xi+1)-y(xi)/h= f(xi,y(xi),在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi点的数值计算出yi+1来:yi+1= yi+h*f(xi ,yi),i=0,1,2,l这就是欧拉公式,若初值yi+1是已知的,则可依据上式逐步算出数值解y1,y2,l。为简化分析,人们常在yi为准确即yi=y(xi)的前提下估计误差y(xi+1)-yi+1,这种误差称为局部截断误差。如果一种数值方法的局部截断误差为o(h(p+1)),则称它的精度是p阶的,或称之为p阶方法。欧拉格式的局部截断误差为o(h2)

3、,由此可知欧拉格式仅为一阶方法。二、隐式euler的算法和流程图算法:用向后差商y(x(i+1)-y(x(i)/h替代方程y(x(i+1)=gx(i+1),y(x(i+1)中的导数项y(x(i+1),再离散化,即可导出下列格式y(i+1)=y(i)+hg(x(i+1),y(i+1), i=0,1,2。因此是隐式公式,一般要用迭代法求解,迭代公式通式为:y(0)(i+1)=y(n)+hg(x(i),y(i);y(k+1)(i+1)=y(i)+hg(x(i+1),y(k)(i+1) (k=0,1,2.)流程图:三、隐式euler的matlab实现建立euler_2.m文件:function e2=

4、euler_2(fun,x0,y0,xn,n)% 向后euler公式,其中,%fun为一阶微分方程的函数%x0,y0为初始条件%xn为取值范围的一个端点%h为区间步长%n为区间的个数%x为xn构成的向量%y为yn构成的向量x=zeros(1,n+1);y=zeros(1,n+1);x(1)=x0;y(1)=y0;h=(xn-x0)/n;for n=1:n%用迭代法求y(n+1) x(n+1)=x(n)+h; z0=y(n)+h*feval(fun,x(n),y(n); for k=1:3 z1=y(n)+h*feval(fun,x(n+1),z0); if abs(z1-z0) euler_2(f,0,1,1,10)t = 0 1.0000 0.1000 0.9091 0.2000 0.8264 0.3000 0.7512 0.4000 0.6828 0.5000 0.6207 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论