模拟物理 第二章精选PPT.ppt





《模拟物理 第二章精选PPT.ppt》由会员分享,可在线阅读,更多相关《模拟物理 第二章精选PPT.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模拟物理 第二章第1页,此课件共81页哦主要内容1.简单方法:Euler方法2.多步法和隐式法3.Runge-Kutta方法4.例子:二维运动中的有序和混沌第2页,此课件共81页哦最常遇到的任务许多物理定律通过微分方程表述。比如求微分方程的数值解求微分方程的数值解是模拟物理系统时最常遇到的一项任务。第3页,此课件共81页哦方程的表达形式常微分方程最一般的形式是一组M个耦合的一阶方程X是自变量,y是M个因变量,f有M个分量。高阶微分方程高阶微分方程通过引入若干辅助函数可以写成这种一阶形式。第4页,此课件共81页哦牛顿方程-哈密顿方程例如,一个质量为m的粒子在力场F(z)作用下的一维运动由二阶方程
2、描述若定义动量方程可以改为第5页,此课件共81页哦1.只要详细讨论求解一阶方程组的方法就够了。2.只有一个因变量的情况,很容易推广到有多个因变量的情况。因此只讨论单个因变量的情况。3.本章重点讨论初值问题。即给定y(x=0)=y0,求y(x)第6页,此课件共81页哦2.1 简单方法设我们想求解带有初始条件y(x=0)=y0的微分方程更具体地说,我们通常感兴趣的是某一特定x值(比如说x=1)上的y值。第7页,此课件共81页哦解法概述总的策略是把区间0,1分成N个等间隔的子区间,每个子区间的宽度h=1/N。然后找出一个递推公式,把yn同yn-1,yn-2,联系起来。其中yn是对y(xn=nh)的近
3、似。这样一个递推关系将允许对这个微分方程进行从x=0到x=1的逐步积分。第8页,此课件共81页哦Euler方法方法一个最简单的算法是Euler法。考虑xn点上的情况,并且把微商换成前向差分把微商换成前向差分近似近似。递推关系第9页,此课件共81页哦误差局部误差O(h2)整体误差:经过N步迭代,y(1)上的误差为NO(h2)O(h)这一误差线性地随h减小。为使最后结果的不精确度减半,需要h减半,因而步数增加一倍。第10页,此课件共81页哦例子考虑微分方程和初条件它的解析解为下面我们用Euler方法从x=0积分到x=3,步长由外界输入。第11页,此课件共81页哦开始输入步长:h计算总步数 N=3/
4、h初始条件 x=0,Y=1.0迭代一步:y=y+h*fnf(x,y)X=x+h循环计数器i=i+1输出误差iNN结束Yfnf(x,y)=-x*y第12页,此课件共81页哦精度一般来说Euler法精度太低。这使我们不能通过采用较大的h来减少步数,从而减少计算时间。在上面的例子中,当我们试图积分到更大的x值时,这一缺点就更明显。当x1/h是,y=0通常我们采用更高阶精度的算法第13页,此课件共81页哦简单的高阶方法:Taylor级数方法一类简单的高阶方法可以由Taylor级数展开式导出对其中的导数可以进一步处理第14页,此课件共81页哦局部误差O(h3)整体误差O(h2),比Euler方法的精度高
5、一阶。缺点:只有当f的解析形式已知,并且足够简单可以求微商时,才可以使用。第15页,此课件共81页哦2.2 多步法和隐式法达到更高精度的另一种方法是:使yn+1不仅同yn相联系而且同更早的点比如yn-1,yn-2,相联系,构造一个包含多步的递推关系。第16页,此课件共81页哦多步法推导多步法公式:对微分方程做一步积分f(x,y)未知。取一个可以解析积分的近似。用xn和xn-1点上的f来做一个线性近似。带入积分二步法第17页,此课件共81页哦更高阶的方法可以通过用更高次的多项式外插而得出。例如,若f用一个与fn,fn-1,fn-2,fn-3拟合的多项式来外插,就得到“四步法”第18页,此课件共8
6、1页哦由于多步法的递推关系式包含前面的好几步,单单关于y0的信息不能使它启动。因此必须通过别的方法,比如Euler方法、Taylor级数方法,或者下面讨论的Runge-Kutta方法,先得出前几个格点上的y值。第19页,此课件共81页哦上述方法都是“显式显式的”。它意味着:yn+1是用已经知道的yn直接给出的(迭代)。隐式法:隐式法:求解一个方程来决定yn+1。它提供了达到更高的精度的另一个手段。第20页,此课件共81页哦我们设两个格点的中点xn+1/2=(n+1/2)h。考虑方程使用对称差分近似得到递推公式但是yn+1出现在两边。必须解方程。第21页,此课件共81页哦解方程可能很花时间。回顾
7、:求根公式,搜索法,牛顿法,弦割法。如果f对于y是线性的,比方说f(x,y)=g(x)y,那么方程可以解出:第22页,此课件共81页哦多步隐式法二步法:对方程 ,使用通过fn-1,fn,fn+1的二次多项式拟合f。解析积分得到隐式递推公式第23页,此课件共81页哦用三次多项式内插可以推出对应的三步公式第24页,此课件共81页哦隐式法真的要解方程吗?很少以通过解隐式方程的方式使用。用于“预估-校正”算法的基础。先以显式法得出yn+1的预估值,再通过隐式法对它加以校正,给出更好的近似值。第25页,此课件共81页哦2.3 Runge-Kutta方法对微分方程进行积分的算法是有些自由的。实际上,的确存
8、在许多算法。每种算法都有其特点和优点。一种非常方便和广泛使用的方式是一种非常方便和广泛使用的方式是Runge-Kutta算法。算法。它有不同阶的精度。第26页,此课件共81页哦推导二阶公式对于 ,f用它在积分区间中点附近的Taylor级数展开式逼近。做解析积分其中hf来自零次项,一次项积分为0,误差来自二次项。第27页,此课件共81页哦怎样处理yn+1/2呢?用Euler方法产生它。误差为O(h2)二阶RK算法:第28页,此课件共81页哦特点:它体现了把y的近似值带入隐式表达式右边的想法。优点:它同Taylor级数法或隐式法同样精确,但是并不对f加特殊的约束。不要求容易求微商或者f关于y是线性
9、的。仅使用y在前面的一个格点上的值。第29页,此课件共81页哦高阶算法用高阶算法计算xn到xn+1的积分,用高阶算法估计积分区间中格点上的y值可以推出高阶算法。第30页,此课件共81页哦三阶算法第31页,此课件共81页哦四阶算法第32页,此课件共81页哦经验发现,四阶算法在精度和计算量之间给出最佳的折中。第33页,此课件共81页哦使用RK方法的例子用4阶Runge-Kutta方法积分方程:求x=3时y的值。第34页,此课件共81页哦第35页,此课件共81页哦第36页,此课件共81页哦2.5 二维运动中的有序和混沌在物理学中使用计算机带来的一个基本好处是:能够处理不能解析求解的系统。能够处理不能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟物理 第二章精选PPT 模拟 物理 第二 精选 PPT

限制150内