矩形法求定积分
问题 采用矩形法求定积分y =⎰sin x 0π
分析 利用矩形法可以求定积分其原理如图(9-1)所示。求函数f在(a,b )区间的定积分
公式为:
s =f (a +h /2) ∙h +f (a +h +h /2) ∙h +
+f (a +(n -1) h +h /2)
=h ∙(f (a +h /2) +f (a +h +h /2) +f (a +2h +h /2) + +f (a +(n -1) h +h /2)
图9-1 矩形法求定积分
所需数据与算法如下。
数据要求
问题的输入:
double a;
double b;
问题的输出:
double fx; /*积分结果*/
设计 初始算法
1. 初始化积分区间(a ,b )。
2. 如果把积分区间划分为100个格,则h=fabs(a-b)/100;
3. 因为区间划分为100个格,因此循环过程如下:
流程图 for(i=0;i
实现 程序代码如下:
#include "stdio.h"
#include "math.h"
double f (double x)
{
}
double Jifen(double a,double b)
{
double h; double fx; double x; int i; double sum=0; return sin(x);
} h=fabs(a-b)/100; x=a; for(i=0;i
void main()
{
}
运行结果 Ji Fen Y=2.000082
测试 如果将积分区间划分为1000个格,则循环条件改为i
该测试说明积分区间划分越多,越能够接近正确结果。
double a; double b; double fx; a=0; b=3.1415926; fx=Jifen(a,b); printf("Ji Fen Y=%f" ,fx);