1 / 8
文档名称:

四阶龙格——库塔法.doc

格式:doc   大小:183KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

四阶龙格——库塔法.doc

上传人:梅花书斋 2020/2/7 文件大小:183 KB

下载得到文件列表

四阶龙格——库塔法.doc

文档介绍

文档介绍:2013-2014(1)专业课程实践论文题目:四阶龙格—库塔法一、算法理论由定义可知,一种数值方法的精度与局部截断误差有关,用一阶泰勒展开式近似函数得到欧拉方法,其局部截断误差为一阶泰勒余项,故是一阶方法,完全类似地若用p阶泰勒展开式进行离散化,所得计算公式必为p阶方法,式中由此,我们可以想到,通过提高泰勒展开式的阶数,可以得到高精度的数值方法,从理论上讲,只要微分方程的解充分光滑,泰勒展开方法可以构造任意的有限阶的计算公式,但事实上,具体构造这种公式往往相当困难,因为符合函数的高阶导数常常是很烦琐的,因此,泰勒展开方法一般不直接使用,但是我们可以间接使用泰勒展开方法,求得高精度的计算方法。首先,我们对欧拉公式和改进欧拉公式的形式作进一步的分析。如果将欧拉公式和改进的欧拉公式改写成如下的形式:欧拉公式改进的欧拉公式,,。这两组公式都是用函数在某些点上的值的线性组合来计算的近似值,欧拉公式每前进一步,就计算一次的值。另一方面它是在处的一阶泰勒展开式,因而是一阶方法。改进的欧拉公式每前进一步,需要计算两次的值。另一方面它在处的泰勒展开式与在处的泰勒展开式的前三项完全相同,因而是二阶方法。这启发我们考虑用函数在若干点上的函数值的线性组合来构造计算公式。构造时,要求计算公式在处的泰勒展开式,与微分方程的解在处的泰勒展开式的前面若干项相同,从而使计算公式打到较高的精度。这样,既避免了计算函数的偏导数的困难,又提高了计算方法的精度,这就是龙格——库塔方法的基本思想。二、算法框图始输入输出k,x,yk=n=终三、算法程序程序代码:#include""#include""floatfunc(floatx,floaty){return(2*x*y);}floatrunge_kutta(floatx0,floatxn,floaty0,intn){floatx,y,y1,y2,h,xh;floatd1,d2,d3,d4;inti;x=x0;y=y0;h=(xn-x0)/n;for(i=1;i<=n;i++){xh=x+h/2;d1=func(x,y);d2=func(xh,y+h*d1/);d3=func(xh,y+h*d2/);d4=f