复化梯形公式重在理解梯形公式的概念,计算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)=%fn",i,paw(2,i),tn[i]);return 0;
}
这里有几点需要注意的地方,第一个就是公式里的x若为0,则需要返回1,还有就是math.h中的pow(,)里面的参数须为double,因此只能自己写一个pow函数
梯形图
本文发布于:2024-03-14 09:21:52,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1710800307149220.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |