梯形公式"/>
复化梯形公式
复化梯形公式重在理解梯形公式的概念,计算f(X)=
#include<stdio.h> //梯形公式
#include<math.h>
//#define f(x) (sin(x)/x)
double f(double x)
{return x>0? (sin(x)/x):1;
}
int paw(int x,int y)
{int i,a=1;if(y==0)return 1;for(i=0;i<y;i++)a=a*2;return a;
}
int main()
{int i,j,k,n;double a,b,h,sum,x,tn[100],s[100];printf("a=");scanf("%lf",&a);printf("b=");scanf("%lf",&b);printf("k=");scanf("%d",&k);for(j=0;j<=k;j++){ n=paw(2,j);h=(b-a)/n;x=a;sum=0;for(i=1;i<n;i++){x=x+h;sum=sum+f(x);}tn[j]=(h/2)*(f(a)+f(b)+2*sum);}for(i=0;i<=k;i++)printf("%d tn(%d)=%f\n",i,paw(2,i),tn[i]);return 0;
}
这里有几点需要注意的地方,第一个就是公式里的x若为0,则需要返回1,还有就是math.h中的pow(,)里面的参数须为double,因此只能自己写一个pow函数
梯形图
更多推荐
复化梯形公式
发布评论