EULER'S MODIFIED METHOD.
//progran to implement euler's modified method
#include<stdio.h>
#include<math.h>
#define F(x,y) exp(x)+y//here change to desired function
int main ()
{
double x0,x1,y0,y1,y2,n,h;
int i,j,k;
printf("Enter x0,y0,h,xn values \n");
scanf("%lf%lf%lf%lf",&x0,&y0,&h,&n);
x1=x0+h;
for(j=1;x1<=n;j++)
{
i=0;k=0;
y2=y0+(h*F(x1-h,y0));
printf(" y%d-0 = %.6lf \n ",j,y2);
do{
k++;
y1=y0+h/2*(F(x1-h,y0)+F(x1,y2));
printf("\nx=%.3lf => y%d-%d =%.6lf\n",x1,j,k,y1);
if(fabs(y1-y2)<0.000001)
{
printf("\ny%d =%.5lf \n\n",j,y1);
i=1;
}
else
y2=y1;
}while(i!=1);
y0=y1;
x1=x1+h;
}
return 0;
}
#include<stdio.h>
#include<math.h>
#define F(x,y) exp(x)+y//here change to desired function
int main ()
{
double x0,x1,y0,y1,y2,n,h;
int i,j,k;
printf("Enter x0,y0,h,xn values \n");
scanf("%lf%lf%lf%lf",&x0,&y0,&h,&n);
x1=x0+h;
for(j=1;x1<=n;j++)
{
i=0;k=0;
y2=y0+(h*F(x1-h,y0));
printf(" y%d-0 = %.6lf \n ",j,y2);
do{
k++;
y1=y0+h/2*(F(x1-h,y0)+F(x1,y2));
printf("\nx=%.3lf => y%d-%d =%.6lf\n",x1,j,k,y1);
if(fabs(y1-y2)<0.000001)
{
printf("\ny%d =%.5lf \n\n",j,y1);
i=1;
}
else
y2=y1;
}while(i!=1);
y0=y1;
x1=x1+h;
}
return 0;
}
Comments
Post a Comment