《矩形法求定积分》由会员分享,可在线阅读,更多相关《矩形法求定积分(4页珍藏版)》请在金锄头文库上搜索。
1、问题问题 采用矩形法求定积分0sin xy分析分析 利用矩形法可以求定积分其原理如图(9-1)所示。求函数在(a,b)区间的定积 分公式为:)()3()2()()*()*2()( nhafhafhafhafhhnafhafhhafs LL图 9-1 矩形法求定积分所需数据与算法如下。数据要求数据要求问题的输入:问题的输入:double a;/*积分区间下限*/double b;/*积分区间上限*/问题的输出:问题的输出:double fx;/*积分结果*/设计设计 初始算法初始算法 1 初始化积分区间(a,b) 。 2 如果把积分区间划分为 100 个格,则 h=fabs(a-b)/100;
2、3 因为区间划分为 100 个格,因此循环过程如下: for(i=0;i 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; 高手可以帮我解释下每一行语句的意思吗?提问者: twwls - 见习魔法师 二级 最佳答案最佳答案a 区间起点,b 积分区间终点, n 是这个区间划分数。每一个划分的长度为 h=(b-a)/n。每一个划分利用梯形算法来求积分,即:上底下底乘以高再除以 2。第一个小梯形面积为 (f(a) + f(a+h)*h/2,第二个为 (f(a+h)+f(a+2h)*h/2,依次类推。将这些加和加起来有: h*(f(a)/2 + f(a+h) + . +f(a+(n-1)h) + f(b)/2)。预先将 f(a)/2 和 f(b)/2 加起来,其它数据即 f(a+h) + . f(a+(n-1)h)用循环处理,然后将所有结果乘以 h 即可。