C趣味程序(二)(06)求定积分近似值 |
|
www.nanhushi.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趣味程序(二)(05)平方根不等式 下一篇文章: C趣味程序(二)(07)最大公约数与最小公倍数 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|