四阶龙格库塔四阶龙格库塔
实验四 龙格-库塔法
【实验内容】
1(用标准四阶龙格,库塔方法设计算法
2. 编程解微分方程初值问题;
【实验方法与步骤】
实验程序
#include
#include
float f(float x,float y) //定义f(x)
{
float F;
F=y-(2*x)/y;
return(F);
}
void main()
{
printf("所求的微分方程为 y'=y-2x/y \n\n");
float a,b,c,h,n;
float k1,...
四阶龙格库塔
实验四 龙格-库塔法
【实验内容】
1(用标准四阶龙格,库塔方法设计算法
2. 编程解微分方程初值问题;
【实验方法与步骤】
实验程序
#include
#include
float f(float x,float y) //定义f(x)
{
float F;
F=y-(2*x)/y;
return(F);
}
void main()
{
printf("所求的微分方程为 y'=y-2x/y \n\n");
float a,b,c,h,n;
float k1,k2,k3,k4,x,y;
printf("请输入区间的 下界a 和 上界b,用空格隔开\n");
scanf("%f %f",&a,&b); //输入a b
printf("\n");
printf("请输入步长 h \n");
scanf("%f",&h); //输入步长h
printf("\n");
printf("请输入初始值y( %f )= \n",a);
scanf("%f",&c); //输入初始值
y(a)的值
printf("\n");
n=(b-a)/h; //区间分段
y=c;
x=a;
int i;
for(i=1;i<=(n+1);i++) //求值循环
{
printf("y(%f)=%f \n",x,y); // 输出y
k1=h*f(x,y); // k1
k2=h*f(x+h/2,y+k1/2); // k2
k3=h*f(x+h/2,y+k2/2); // k3
k4=h*f(x+h,y+k3); // k4
y=y+(k1+2*k2+2*k3+k4)/6; // Yn+1 的值
x=x+h; // 将x加一个步长给下一
个x
}
}
本文档为【四阶龙格库塔】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。