Wednesday, 25 March 2015

Trapezoidal

Program:
#include
#include
#include
#define f(x) sqrt(sin(x))
#define pi 3.1415926
#include
void main()
{
clrscr();
float a,b,h, fa, fb, I,fx[10];
float sum=0.0,sum1=0.0,sum2=0.0,fn;
char k;
int c,n,i;
a=0;
b=pi/2;
fa=f(a);
fb=f(b);
do{
clrscr();
printf("\n 1) Trapezoidal\n 2) Comp.Trapezoidal\n 3) Simpson's 1/3\n 4) Comp.simpson's 1/3\n 5) Simpson's 3/8\n 6) Boole's\n 7) Comparison Table");
printf("\nENTER YOUR CHIOICE:");
scanf("%d",&c);
switch(c)
{
case 1:
printf("\n\tTrapizoidal");
h=b-a;
I=h*((fa+fb)/2);
printf("\n\tThe result is %.4f",I);
break;

case 2:
printf("\n\tComposite trapezoidal:");
printf("\n\tEnter n:");
scanf("%d",&n);
h=(b-a)/n;
for(i=1;i<=n-1;i++)
{
fx[i]=f(a+i*h);
sum=sum+fx[i];
}
fn=f(a+n*h);
I=(h/2)*(fa+2*sum+fn);
printf("\n\tThe result is: %.4f",I);
break;

case 3:
printf("\n\tSimpson's 1/3");
h=(b-a)/2;
fx[1]=f(a+h);
I=(h/3)*(fa+4*fx[1]+fb);
printf("\n\tThe result is: %.4f",I);
break;

case 4:
printf("\n\tComposite Simpson's 1/3:");
printf("\n\t Enter n:");
scanf("%d",&n);
h=(b-a)/n;
for(i=1;i<=(n/2);i++)
{
 fx[i]=f(a+(2*i-1)*h);
 sum1=sum1+fx[i];
 }
for(i=1;i<=((n/2)-1);i++)
{
fx[i]=f(a+2*i*h);
sum2=sum2+fx[i];
}
I=(h/3)*(fa+4*sum1+2*sum2+fb);
printf("\n\tThe result is: %.4f",I);
break;

case 5:
printf("\n\tSimpson's 3/8");
h=(b-a)/3;
for(i=1;i<=2;i++)
{
fx[i]=f(a+i*h);
sum=sum+fx[i];
}
I=(3*h/8)*(fa+3*sum+fb);
printf("\n\tThe result is: %.4f",I);
break;

case 6:
printf("\n\tBoole's Rule:");
h=(b-a)/4;
for(i=1;i<=3;i++)
{
fx[i]=f(a+i*h);
}
I=(2*h/45)*(7*fa+32*fx[1]+12*fx[2]+32*fx[3]+7*fb);
printf("\n\tThe result is: %.4f",I);
break;

case 7:
printf("\n\t RULE \t n\t RESULT");
printf(“\n\t----------------------------“);
printf("\n\t TRAPEZOIDAL\t 1\t0.78540");
printf("\n\t COMP. TRAPEZOIDAL\t 2\t1.05314");
printf("\n\t SIMPSON's 1/3\t 2\t1.14238");
printf("\n\t COMP. SIMPSON's 1/3\t 4\t1.17823");
printf("\n\t SIMPSON's 3/8\t 3\t1.16104");
printf("\n\t BOOLE's RULE\t 4\t1.18062");

break;
default:

exit(0);
}
printf("\n\t Continue??[y/n]");
k=getch();

}
while(k=='y'||k=='Y');



getch();


}

0 comments:

Post a Comment