目录
1、概述
2、代码
#include<stdio.h>
#include<math.h>
double f(double x)
{
double f=0.0;
f=pow(3.0,x)*pow(x,1.4)*(5*x+7)*sin(x*x);
return (f);
}
void main()
{
int i=1,j,k,n=12;
double T[12],a=1.0,b=3.0,s=0.0;
T[0]=0.5*(b-a)*(f(a)+f(b));
for(j=1;j<n-1;j++)
{
for(k=1;k<=pow(2,j-1);k++)
s+=f(a+(2*k-1)*(b-a)/pow(2,j));
T[j]=0.5*(T[j-1]+(b-a)*s/pow(2,j-1));
s=0.0;
}
T[11]=(4*T[1]-T[0])/(double)3;
for(;fabs(T[11]-T[0])>0.00001;i++)
{
T[0]=T[11];
for(j=1;j<n-1-i;j++)
T[j]=(pow(4,i)*T[j+1]-T[j])/(pow(4,i)-1);
T[11]=(pow(4,i+1)*T[1]-T[0])/(pow(4,i+1)-1);
}
printf("%f\n",T[11]);
}