更多数值分析内容,欢迎关注笔者@ReEchooo
同时也可以关注以下数值分析专栏:
除了Runge-Kutta方法 是否还有提高精度的方法?
回答是肯定的,就是采用前面多个信息,比如:
用 x_n,x_{n-1},...,x_{n-l} 上的近似 y_n,y_{n-1},...,y_{n-l} 来求 y_{n+1} ,这样的数值方法称为 多步方法 。
首先来看个线性二步法的例子,所谓“二步”,就是迭代式右边包括 y_{n}, y_{n+1} 来求 y_{n+2} 。
推导过程如下:
线性多步法的一般形式为:
特别地,根据 \beta 是否为0,将迭代表达式分为显式法和隐式法:
线性单步法是线性k步法的特例,例如 k=1 有
不同 \alpha_0, \beta_0, \beta_1 可得各种显式、隐式单步法。
局部截断误差,阶,主局部截断误差 的定义和单步法完全一致。处理方式就是使用泰勒展开,可能会有二元函数的泰勒展开。
局部截断误差的定义如下:
主局部截断误差的定义如下:
p阶方法的定义如下:
这个定义包含了线性k步法(当然包含线性单步法),特别包含了线性隐式单步方法。
显式Adams方法的特点是积分区间与插值区间无交集。其迭代表达式的推导如下所示:
来看一个例题:
求解过程如下:
隐式Adams方法的积分区间是插值区间的最后一段。它的收敛阶数通常比显式Adams方法高。
对比显式Adams方法和隐式Adams方法的收敛阶数 p :
对于隐式方法,每一节点上近似值用迭代方法得到,这大大增加计算量。若用一个恰当的显式方法,求出 y_{n+k} 作为隐式方法的预估值,然后用隐式方法对预估值作校正,并以这个校正值作为所求节点上的 y_{n+k} ,那么将克服迭代法的缺点。
用Euler方法 作预估,用梯形方法 作校正的预估校正方法 。
通常使用预估校正方法有:
至此数值分析的内容全部结束。
参考文献:
关治,陆金甫《数值方法》
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...