top

¥ë¥ó¥²¥¯¥Ã¥¿Ë¡


#include¡ãstdio.h¡ä
#include¡ãstdlib.h¡ä


double func(double x,double y,double h)
{
return h*((-x)*y+y*y);
}


double funcy(double x,double y,double h)
{
double k1,k2,k3,k4;
k1=func(x,y,h);
k2=func(x+h/2,y+k1/2,h);
k3=func(x+h/2,y+k2/2,h);
k4=func(x+h,y+k3,h);
return(k1+2*k2+2*k3+k4)/6;
}


int main()
{
int count=0;
double x1,y1,x,y,y2,h;

printf("kizami=h=");
scanf("%lf",&h);

printf("x=");
scanf("%lf",&x1);

printf("y=");
scanf("%lf",&y1);

x=x1;
y=y1;
y2=y1;


while(x¡ã=3.0)
{
y+=funcy(x,y,h);
if(x<2.0+h)
{
y2=y;
}


if(count==5)
{
printf("x=%f¡ä¡ä¡ä¡äy=%f\n",x,y);
count=0;
}


x+=h;
count+=1;

}

printf("x=2¡ä¡ä¡ä¡äy=%f,x=3¡ä¡ä¡ä¡äy=%f\n",y2,y);
return (EXIT_SUCCESS);
}



¼Â¹Ô·ë²Ì


kizami=h=0.1
x=1
y=1

x=1.500000¡ä¡äy=0.803108
x=2.000000¡ä¡äy=0.434709
x=2.500000¡ä¡äy=0.154397
x=2¡ä¡äy=0.434709,x=3¡ä¡äy=0.052350