/*sinx [0,pi/2] */
#include<stdio.h>
#include<math.h>
#define N 10010
#define e 1e-5
#define PI acos(-1)
double f(double x)
{
return sin(x);
}
double T(double a,double b)
{
return (b-a)/2*(f(a)+f(b));
}
double S(double a,double b)
{
return (b-a)/6*(f(a)+4*f((a+b)/2)+f(b));
}
double C(double a,double b)
{
double c1,c2,c3;
c1=(a+b)/2.0;
c2=(a+c1)/2.0;
c3=(c1+b)/2.0;
return (b-a)/90*(7*f(a)+32*f(c2)+12*f(c1)+32*f(c3)+7*f(b));
}
int main()
{
double a=0,b=PI/2.0;
double t,s,c;
t=T(a,b);s=S(a,b);c=C(a,b);
printf("梯形求积=%lf:\n",t);
printf("辛普森求积=%lf:\n",s);
printf("科特斯求积=%lf:\n",c);
return 0;
}
牛顿—科特斯数值积分
最新推荐文章于 2024-04-25 11:01:15 发布