四阶龙格库塔法.docx
- 文档编号:9765909
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:7
- 大小:121.97KB
四阶龙格库塔法.docx
《四阶龙格库塔法.docx》由会员分享,可在线阅读,更多相关《四阶龙格库塔法.docx(7页珍藏版)》请在冰豆网上搜索。
四阶龙格库塔法
四阶龙格——库塔法
2013-2014
(1)专业课程实践论文
题目:
四阶龙格—库塔法
时,要求计算公式在
处的泰勒展开式,与微分方程的解
在
处的泰勒展开式的前面若干项相同,从而使计算公式打到较高的精度。
这样,既避免了计算函数
的偏导数的困难,又提高了计算方法的精度,这就是龙格——库塔方法的基本思想。
二、算法框图
=
三、算法程序
程序代码:
#include"stdio.h"
#include"conio.h"
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/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("\ninputn:
\n");
scanf("%d",&n);
printf("inputx0,xn:
\n");
scanf("%f%f",&x0,&xn);
printf("inputy0:
\n");
scanf("%f",&y0);
e=runge_kutta(x0,xn,y0,n);
printf("y(%f)=%6.6f",y0,e);
}
四、算法实现
四阶经典龙格——库塔方法算法如下:
(1)输入
区间等分数
,初值
。
(2)输出
在
的
个点处得近似值
。
(3)置
。
(4)计算
,
,
置
,输出
。
(5)若
,置
,转(4);否则,停机。
例1.利用四阶龙格——库塔方程公式计算
的数值,取步长
。
解:
运行结果
例2.利用4阶龙格——库塔方程公式计算
取步长
。
解:
运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四阶龙格库塔法