您当前的位置:首页 > 计算机 > 编程开发 > C语言

矩形法求定积分【C语言版】

时间:01-03来源:作者:点击数:

问题描述:

采用矩形法求定积分

分析:利用矩形法可以求定积分其原理如图(9-1)所示。求函数f在(a,b)区间的定积分公式为:

所需数据与算法如下。

数据要求

  • 问题的输入:double a;   /*积分区间下限*/;double b;   /*积分区间上限*/
  • 问题的输出:double fx;   /*积分结果*/

程序设计:

初始算法
         1. 初始化积分区间(a,b)。
         2. 如果把积分区间划分为100个格,则h=fabs(a-b)/100;
         3. 因为区间划分为100个格,因此循环过程如下:
           for(i=0;i<100;i++)
           {
            fx=f (x+i*h+h/2);
            … …
           }

C语言程序代码如下:

#include "stdio.h"
#include "math.h"
double f (double x)
{
  return sin(x);
}
double Jifen(double a,double b)
{
  double h;
  double fx;
  double x;
  int i;
  double sum=0;
  h=fabs(a-b)/100;
  x=a;
  for(i=0;i<100;i++)
  {
   fx=f (x+i*h+h/2);
   sum=sum+fx;
  }
  return sum*h;
}
void main()
{
  double a;
  double b;
  double fx;
  a=0;
  b=3.1415926;
  fx=Jifen(a,b);
  printf("Ji Fen Y=%f" ,fx);
}

运行结果    Ji Fen Y=2.000082

测试:

如果将积分区间划分为1000个格,则循环条件改为i<1000,得到结果为2.00001。该测试说明积分区间划分越多,越能够接近正确结果。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门