c语言编程求函数积分 c语言算积分函数

用C语言求定积分实际问题描述:
求定积分近似值
程序代码如下:
#include
#include
void main()
{
int i,n=1000;
float a,b,h,t1,t2,s1,s2,x;
printf("请输入积分限a,b:");
scanf("%f,%f",a,b);
h=(b-a)/n;
for(s1=0,s2=0,i=1;i=n;i)
{
x=a (i-1)*h;
t1=(float)exp(-x*x/2);t2(float)=exp(-(x h)*(x h)/2);
s1=s1 t1*h;/*矩形面积累加*/
s2=s2 (t1 t2)*h/2;/*梯形面积累加*/
}
printf("矩形法算得积分值:%f.\n",s1);
printf("梯形法算得积分值:%f.\n",s2);
}
程序运行结果如下:
矩形法算得积分值:0.855821
梯形法算得积分值:0.855624
由上面的比较可知,梯形法的精度要高于矩形法 。
用c语言编程计算积分#include #include float f1(float x) { return(1.0 x); } float f2(float x) { return(2.0*x 3.0); } float f3(float x) { return(exp(x) 1); } float f4(float x) { return(pow(1 x,2)); } float f5(float x) { return(pow(x,3)); } float fsimp(float a,float b,float (*p)(float)) { float c,s; c=(a b)/2; s=(b-a)/6*(p(a) 4*p(c) p(b)); return s; } int main() { float a,b; printf("请输入积分下限a的值:"); scanf("%f",a); printf("请输入积分上限b的值:"); scanf("%f",b); printf("%f\n",fsimp(a,b,f1)); printf("%f\n",fsimp(a,b,f2)); printf("%f\n",fsimp(a,b,f3)); printf("%f\n",fsimp(a,b,f4)); printf("%f\n",fsimp(a,b,f5)); }
用C语言求积分基本是这样的,用梯形发求定积分,对应于一个积分式就要有一段程序 , 不过你可以改变程序的一小部分来改变你所要求的积分式 。
以c为例:求f(x)=xsinx从1到2的积分
#include math.h
float integral(float(*fun)(float x),float a,float b,int,n)
{float s,h,y;
int i;
s=(fun(a) fun(b))/2;
h=(b-a)/n; /*积分步长*/
for(i=1;in;i)
s=s fun(a i*h);
y=s*h;
return y;/*返回积分值*/
}
float f(float x)
{return(x*sinx)/*修改此处可以改变被积函数*/
}
main()
{float y;
y=integral(f,1.0,2.0,150);/*修改此处可以改变积分上下限和步长*/
printf("y=%f\n",y);
}
【c语言编程求函数积分 c语言算积分函数】关于c语言编程求函数积分和c语言算积分函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读