数值计算课程设计

数值计算课程设计

ID:12868051

大小:609.00 KB

页数:40页

时间:2018-07-19

数值计算课程设计_第1页
数值计算课程设计_第2页
数值计算课程设计_第3页
数值计算课程设计_第4页
数值计算课程设计_第5页
资源描述:

《数值计算课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数值计算课程设计1.经典四阶龙格库塔法解一阶微分方程组1.1经典四阶龙格库塔法解一阶微分方程组算法说明龙格-库塔(Runge-Kutta)方法都是由一个合适的泰勒方法推导而来,使得其最终全局误差为○()。对每步进行若干次函数求值,从而省去高阶导数计算。N=4的龙格-库塔方可以适用于一般的应用,因为它非常精确,稳定,且易于编程。4阶龙格-库塔方法(RK4)可模拟N=4的泰勒方法的精度。这种算法可以描述为自初始点(,)开始,利用)(1-1)生成近似序列,其中,+))(1-2)1.2经典四阶龙格库塔法解一阶微分方程组算法流程图开始输入初值x[0

2、],y[0],z[0]微分区间[a,b]以及步长stepx[i]=x[i-1]+(k1+2*k2+2*k3+k4)/6;y[i]=y[i-1]+(m1+2*m2+2*m3+m4)/6;z[i]=z[i-1]+(n1+2*n2+2*n3+n4)/6i<=n输出结果结束图1-1算法流程图39数值计算课程设计1.3经典四阶龙格库塔法解一阶微分方程组算法软件调试请输入x[0],y[0],z[0]1.0-1.00.0请输入上下限0.05.00.05-2.599651.018991.459290.5510.41394.775491.278361.05

3、27.10595.272790.1.5529.94844.115790.2.0523.57692.1621-0.2.5512.6808-0.-0.3.050.-2.09469-0.3.55-11.0943-3.48987-0.4.05-19.2121-3.95653-0.Pressanykeytocontinue1.4经典四阶龙格库塔法解一阶微分方程组算法程序代码#include#includeusingnamespacestd;doublef1(doublet,doublex,doubley,doubl

4、ez){return(-x+6*y+z*z);}doublef2(doublet,doublex,doubley,doublez){return(-y+3*z+2*sin(t));}doublef3(doublet,doublex,doubley,doublez){return(-z+exp(-t)+cos(t));}intmain()39数值计算课程设计{constn=10;doubleh,t,k1,k2,k3,k4,m1,m2,m3,m4,n1,n2,n3,n4,a,b;inti,j;doublex[n],y[n],z[n];cout

5、<<"请输入x[0],y[0],z[0]"<>x[0]>>y[0]>>z[0];cout<<"请输入上下限"<>a>>b;j=0;h=(b-a)/n;for(i=1;i<=n;i++){t=a+(i-1)*h;k1=f1(t,x[i-1],y[i-1],z[i-1]);m1=f2(t,x[i-1],y[i-1],z[i-1]);n1=f3(t,x[i-1],y[i-1],z[i-1]);k2=f1(t+h/2.0,x[i-1]+k1*h/2.0,y[i-1]+m1*h/2.0,z[i-1]+n1*h

6、/2.0);m2=f2(t+h/2.0,x[i-1]+k1*h/2.0,y[i-1]+m1*h/2.0,z[i-1]+n1*h/2.0);n2=f3(t+h/2.0,x[i-1]+k1*h/2.0,y[i-1]+m1*h/2.0,z[i-1]+n1*h/2.0);k3=f1(t+h/2.0,x[i-1]+k2*h/2.0,y[i-1]+m2*h/2.0,z[i-1]+n2*h/2.0);m3=f2(t+h/2.0,x[i-1]+k2*h/2.0,y[i-1]+m2*h/2.0,z[i-1]+n2*h/2.0);n3=f3(t+h/2.0,

7、x[i-1]+k2*h/2.0,y[i-1]+m2*h/2.0,z[i-1]+n2*h/2.0);k4=f1(t+h/2.0,x[i-1]+k3*h/2.0,y[i-1]+m3*h/2.0,z[i-1]+n3*h/2.0);m4=f2(t+h/2.0,x[i-1]+k3*h/2.0,y[i-1]+m3*h/2.0,z[i-1]+n3*h/2.0);39数值计算课程设计n4=f3(t+h/2.0,x[i-1]+k3*h/2.0,y[i-1]+m3*h/2.0,z[i-1]+n3*h/2.0);x[i]=x[i-1]+(k1+2*k2+2*k

8、3+k4)/6;y[i]=y[i-1]+(m1+2*m2+2*m3+m4)/6;z[i]=z[i-1]+(n1+2*n2+2*n3+n4)/6;cout<

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

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

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