四阶龙格——库塔法

四阶龙格——库塔法

ID:30695198

大小:168.50 KB

页数:8页

时间:2019-01-02

四阶龙格——库塔法_第1页
四阶龙格——库塔法_第2页
四阶龙格——库塔法_第3页
四阶龙格——库塔法_第4页
四阶龙格——库塔法_第5页
资源描述:

《四阶龙格——库塔法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案2013-2014(1)专业课程实践论文题目:四阶龙格—库塔法精彩文档实用标准文案一、算法理论由定义可知,一种数值方法的精度与局部截断误差有关,用一阶泰勒展开式近似函数得到欧拉方法,其局部截断误差为一阶泰勒余项,故是一阶方法,完全类似地若用p阶泰勒展开式进行离散化,所得计算公式必为p阶方法,式中由此,我们能够想到,通过提高泰勒展开式的阶数,可以得到高精度的数值方法,从理论上讲,只要微分方程的解充分光滑,泰勒展开方法可以构造任意的有限阶的计算公式,但事实上,具体构造这种公式往往相当困难,因为符合函数的高阶导数常常是很烦琐的,因此,泰勒展开方法一般

2、不直接使用,但是我们可以间接使用泰勒展开方法,求得高精度的计算方法。首先,我们对欧拉公式和改进欧拉公式的形式作进一步的分析。如果将欧拉公式和改进的欧拉公式改写成如下的形式:欧拉公式改进的欧拉公式,,。这两组公式都是用函数在某些点上的值的线性组合来计算的近似值,欧拉公式每前进一步,就计算一次的值。另一方面它是在精彩文档实用标准文案处的一阶泰勒展开式,因而是一阶方法。改进的欧拉公式每前进一步,需要计算两次的值。另一方面它在处的泰勒展开式与在处的泰勒展开式的前三项完全相同,因而是二阶方法。这启发我们考虑用函数在若干点上的函数值的线性组合来构造计算公式。构造时,要

3、求计算公式在处的泰勒展开式,与微分方程的解在处的泰勒展开式的前面若干项相同,从而使计算公式打到较高的精度。这样,既避免了计算函数的偏导数的困难,又提高了计算方法的精度,这就是龙格——库塔方法的基本思想。精彩文档实用标准文案二、算法框图始输入输出k,x,yk=n=终精彩文档实用标准文案三、算法程序程序代码:#include"stdio.h"#include"conio.h"floatfunc(floatx,floaty){return(2*x*y);}floatrunge_kutta(floatx0,floatxn,floaty0,intn){floatx,

4、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/2.0);d3=func(xh,y+h*d2/2.0);d4=func(xh,y+h*d3);y=y+h*(d1+2*d2+2*d3+d4)/6.0;x=x0+i*h;}return(y);}intmain(){floatx0,xn,y0,e;intn;printf("inputn:");scanf("%d",&n);pr

5、intf("inputx0,xn:");scanf("%f%f",&x0,&xn);printf("inputy0:");scanf("%f",&y0);精彩文档实用标准文案e=runge_kutta(x0,xn,y0,n);printf("y(%f)=%6.6f",y0,e);}精彩文档实用标准文案四、算法实现四阶经典龙格——库塔方法算法如下:(1)输入区间等分数,初值。(2)输出在的个点处得近似值。(3)置。(4)计算,,置,输出。(5)若,置,转(4);否则,停机。例1.利用四阶龙格——库塔方程公式计算的数值,取步长。解:运行结果精彩文档实用

6、标准文案例2.利用4阶龙格——库塔方程公式计算取步长。解:运行结果精彩文档

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。