C趣味程序(二)(06)求定积分近似值

文章作者 100test 发表时间 2007:03:10 17:39:30
来源 100Test.Com百考试题网


1.8 求定积分近似值
试求定积分


的近似值(积分限a,b从键盘输入)。
算法分析如下:
求定积分的近似值常有矩形法与梯形法,其实质都是面积求和。



矩形法是把所要求的面积垂直x轴分成n个小矩形,然后把这n个小矩形的面积相加,即为所求的定积分的值。
梯形法是把所要求的面积垂直分成n个小梯形,然后作面积求和。
这两种近似求值的精度随分割个数n的增加而增加,对于相同的n个数,相对来说,梯形法的精度比矩形法的要高一些。

程序代码如下:
#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趣味程序(二)(07)求多个整数的最大公约数与最小公倍数
C趣味程序(二)(06)求定积分近似值
C语言程序设计初步(3)
C语言程序设计初步(2)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛