C语言梯形法求函数定积分 c语言求梯形面积公式

C语言实习用梯形法或辛普森法求解定积分的值//梯形法求定积分
#includestdio.h
#includemath.h
//定义被积函数
double func(double x){
return sin(x)*cos(x);
}
void main(){
double a,b,h,x,sum;
int i,n;
printf("Input a b and n: ");
scanf("%lf%lf%d",a,b,n);
h=(b-a)/n;
x=a;
sum=(func(a)+func(b))/2;
for(i=1; in; i++){
x += h;
sum += func(x);
}
sum *= h;
printf("sum=%.4lf\n",sum);
}
C语言,用梯形法编程求定积分x^3+x/2+1的值这个其实很简单,给你做了一个很简单的通用的积分函数,
已经做过优化 , 自己一调用就可以了,效率很高 。
#include stdio.h
double f(double x) //返回函数的值
{ double y;
y=x*x+x*2+1.0;
return y;
}
double Integrate(double (*f)(double),double a,double b,int n) //计算函数的定积分
{ double dx,y,sy,x;
if(n=1)return 0.0;
dx=(b-a)/n;
x=a;
sy=0.0;
for(int i=0;i=n;i++,x+=dx)
sy+=f(x);
sy-=f(a)/2.0;
sy-=f(b)/2.0;
return sy*dx;
}
void main()
{ double s;
s=Integrate(f, 1, 3, 100000);
printf("s=%lf\n",s);
}
求C语言 用梯形法求定积分(数值求解算法)【C语言梯形法求函数定积分 c语言求梯形面积公式】#includestdio.h
float f(float x)
{
returnx*x+2*x+1;
}
void main()
{
float a,b,len,F=0;//
int n,i;
printf("Please input a,b: ");
scanf("%f%f",a,b);
printf("Please input n: ");
scanf("%d",n);
len=(a+b)/n;//区间长度
for(i=0;in;i++)
{
F+=len*f(a);
a+=len;
}
printf("%f\n",F);
}
结果例如C语言梯形法求函数定积分:
Please input a,b: 0 10.0
Please input n: 100
437.349792
C语言梯形法求函数定积分的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言求梯形面积公式、C语言梯形法求函数定积分的信息别忘了在本站进行查找喔 。

    推荐阅读