常微分方程数值解的Euler方法和改进的Euler法机械工程学院孙志利.DOC

常微分方程数值解的Euler方法和改进的Euler法机械工程学院孙志利.DOC

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常微分方程数值解的Euler方法和改进的Euler法机械工程学院孙志利

常微分方程数值解的Euler方法和改进的Euler法 机械工程学院 孙志利 1011201033 一、简介 在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决常微分方程数值积分的最基本的一类显型方法(Explicit method)。欧拉法(uler method)是以流体质点流经流场中各空间点的运动即以流场作为描述对象研究流动的方法。它不直接追究质点的运动过程,而是以充满运动液体质点的空间——流场为对象。研究各时刻质点在流场中的变化规律。将个别流体质点运动过程置之不理,而固守于流场各空间点。通过观察在流动空间中的每一个空间点上运动要素随时间的变化,把足够多的空间点综合起来而得出的整个流体的运动情况。基本思想是迭代其中分为前进的EULER法、后退的EULER法、改进的EULER法。所谓迭代,就是逐次替代,最后求出所要求的解,并达到一定的精度。误差可以很容易的计算出来。欧拉法简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会因积累而越来越大。因此欧拉格式一般不用于实际计算。 为提高精度,需要在欧拉格式的基础上进行改进。采用区间两端的函数值的平均值作为直线方程的斜率改进欧拉法的精度为二阶。 容易想到,可从y’着手解决它的数值计算问题。由数值微分向前差商公式 得 方程实际上给出 故得 。 再由导出差分格式: 称为Euler格式 (二)改进的Euler格式: 利用数值积分法导出新的差分格式,在此基础上提高Euler格式的阶数。对Euler公式的积分运算应用梯形积分公式,可得到如下求解公式: 该公式称为梯形公式。 Euler法是显示算法,计算量小,但精度低;梯形法是隐式算法,须借助迭代求解,计算量大,但提高了精度。 综合使用上述两种算法,可得到如下改进的Euler格式,又称Euler预测——校正公式: 三、问题求解方法及步骤 取h=0.1,分别用Euler格式、改进的Euler格式和Runge-Kutta格式解微分方程 解: 根据Euler公式 根据改进Euler格式可得到 用Euler法的程序如下: %欧拉方法求节点处的近似解 x(1)=0; y(1)=1; h=0.1; for n=1:10 y(n+1)=y(n)+h*(y(n)-2*x(n)/y(n)); x(n+1)=x(n)+h; end plot(x,y,r) %用红色线作近似解的图像 hold on u=0:0.1:1; v=sqrt(1+2*u); plot(u,v,b) %用蓝色线作精确解的图像 %作近似解得散点图,并标出点的坐标 for n=1:11 plot(x(n),y(n),ro)%数值解的坐标点 str=[(,num2str(x(n)),,,num2str(y(n)),)]; text(x(n),y(n)+0.2,str) %标出数值解坐标点 end hold off %改进的欧拉方法求节点处的近似解 x(1)=0; y(1)=1; h=0.1; for n=1:10 yp=y(n)+h*(y(n)-2*x(n)/y(n)); %显式欧拉法求预测值 x(n+1)=x(n)+h; yc=y(n)+ h*(yp-2*x(n+1)/yp); %隐式欧拉法求校正值 y(n+1)=(yp+yc)/2; %求平均值 end plot(x,y,r) %用红色线作近似解的图像 hold on u=0:0.1:1; v=sqrt(1+2*u); plot(u,v,b) %用蓝色线作精确解的图像 %作近似解得散点图,并标出点的坐标 for n=1:11 plot(x(n),y(n),ro)%数值解的坐标点 str=[(,num2str(x(n)),,,num2str(y(n)),)]; text(x(n)-0.1,y(n)+0.1,str) %标出数值解坐标点 end hold off 欧拉方法 改进后的欧拉法 四、计算结果分析 Euler法 改进后的Euler法 显然改进型Euler方法的精度更高。 1

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档