r-k.c
来自「计算方法的几个经典算法」· C语言 代码 · 共 34 行
C
34 行
#define f(t,y) (y-(2*t)/y)
#define MAX 500
#include<stdio.h>
int main()
{
int n,i;
double a,b,alpha;
double h,t,w;
double k1,k2,k3,k4;
printf("input the a,b:\n");
scanf("%lf%lf",&a,&b);
printf("now please input the alpha:\n");
scanf("%lf",&alpha);
printf("please input the n:\n");
scanf("%d",&n);
h=(b-a)/n;
t=a;
w=alpha;
for(i=1;i<=n;i++){
k1=h*f(t,w);
k2=h*f((t+h/2),(w+k1/2));
k3=h*f((t+h/2),(w+k2/2));
k3=h*f((t+h/2),(w+k2/2));
k4=h*f((t+h),(w+k3));
w=w+(k1+2*k2+2*k3+k4)/6;
t=a+i*h;
printf("t%d=%lf,y%d=%lf\n",i,t,i,w);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?