Cでルンゲ・クッタ法を書いたので公開します。
定義は以下のURLを確認して下さい
#include
#include
double f(double x, double y){
return (-y*tan(x)); //関数定義
}
int main(){
double x0,a,b,x,y,h,d,k1,k2,k3,k4,num;
int i;
printf("刻み幅h:");
scanf("%lf",&h);
printf("範囲x[start end]:");
scanf("%lf %lf",&a,&b);
printf("初期値y(%f,0)=",a);
scanf("%lf",&d);
num = (b-a) / h;
x = a;
y = d;
for (i = 0; i < num; i++) { //ルンゲクッタ法 開始
k1 = h * f(x,y);
k2 = h * f(x + h / 2, y + k1 / 2);
k3 = h * f(x + h / 2, y + k2 / 2);
k4 = h * f(x + h, y + k3);
x = x + h;
y = y + (k1 + 2 * k2 + 2 * k3 + k4) / 6;
} //ルンゲクッタ法 終了
printf("ANS:%fn",y);
return 0;
}