2025年4月28日 星期一 乙巳(蛇)年 正月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

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

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

问题描述:

采用矩形法求定积分

分析:利用矩形法可以求定积分其原理如图(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。该测试说明积分区间划分越多,越能够接近正确结果。

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