TheAlgorithms-C/computer_oriented_statistical_methods/simpson's 1-3rd rule.c

41 lines
655 B
C
Raw Normal View History

2016-10-14 11:54:46 +08:00
#include<stdio.h>
#include<math.h>
2018-10-02 07:31:05 +08:00
float f(float x)
2016-10-14 11:54:46 +08:00
{
2018-10-02 07:31:05 +08:00
return 1.0+x*x*x; //This is the expresion of the function to integrate?
2016-10-14 11:54:46 +08:00
}
2019-02-11 08:27:57 +08:00
2016-10-14 11:54:46 +08:00
void main()
{
int i,n;
float a,b,h,x,s2,s3,sum,integral;
2018-10-02 07:31:05 +08:00
printf("enter the lower limit of the integration:");
scanf("%f",&a);
printf("enter the upper limit of the integration:");
scanf("%f",&b);
printf("enter the number of intervals:");
scanf("%d",&n);
2016-10-14 11:54:46 +08:00
h=(b-a)/n;
sum=f(a)+f(b);
s2=s3=0.0;
2019-02-11 08:27:57 +08:00
for(i=1;i<n;i+=3)
2016-10-14 11:54:46 +08:00
{
x=a+i*h;
s3=s3+f(x)+f(x+h);
}
2019-02-11 08:27:57 +08:00
for(i=3;i<n;i+=3)
2016-10-14 11:54:46 +08:00
{
x=a+i*h;
s2=s2+f(x);
}
2018-10-02 07:31:05 +08:00
integral=(h/3.0)*(sum+2*s2+4*s3);
printf("\nValue of the integral = %9.4f\n",integral);
return 0;
2016-10-14 11:54:46 +08:00
}