📄 四阶龙格-库塔法.txt
字号:
#include <stdio.h>
float func(float x,float y)
{ return(x-y);
}
float runge_kutta(float x0,float xn,float y0,int N)
{ float x,y,y1,y2,h,xh;
float d1,d2,d3,d4;
int i;
x=x0;
y=y0;
h=(xn-x0)/(float)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);
}
main()
{ float x0,xn,y0,e;
int N;
clrscr();
printf("\ninput n:\n "); /* 输入区间等分数 */
scanf("%d",&N);
printf("input x0,xn:\n "); /* 输入x的区间 */
scanf("%f%f",&x0,&xn);
printf("input y0:\n "); /* 输入x0处的y的值 */
scanf("%f",&y0);
e=runge_kutta(x0,xn,y0,N);
printf("y(%f)=%8.6f",y0,e);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -