矩形法求解定积分

做个小笔记,如表述有不对的地方,欢迎指正。

原理

积分在图形上表示就是面积,把被积分区域划分成一个个小矩形,求解这些矩形的面积和即可。

被积函数:f(x)f(x)f(x);

积分区间:[a,b][a,b][a,b];

积分区间划分数:NNN;

每个小矩形的面积:
Si=(b−a)/N∗∣f(a+(b−a)/N∗i)∣Si = (b - a )/ N * |f(a + (b - a )/ N * i)|Si=(b−a)/N∗∣f(a+(b−a)/N∗i)∣

说明:
你可以想象一下,在积分函数图形上,我们把被积分区域划分成NNN等份,

此时每个小矩形的底为:(b−a)/N(b - a )/ N(b−a)/N.

如果N足够大,可以把被积分区域划分成一根根针一样大小的矩形区域。

此时小矩形的底可以看成一个点。在被积分区域内,每个小矩形对应的位置

为:x=a+(b−a)/N∗ix = a + (b - a )/ N * ix=a+(b−a)/N∗i,将其代入f(x)f(x)f(x)即可得到对应小矩形的高。

假设iii为第iii个小矩形 , 则∣f(a+(b−a)/N∗i)∣|f(a + (b - a )/ N * i)|∣f(a+(b−a)/N∗i)∣即为第iii块小矩形的高。

所以计算每个小矩形的面积用如上所述的公式。

f(x)f(x)f(x)如果为cos,sin,expcos,sin,expcos,sin,exp等内置函数可以使用C/C++里面的math库,注意这些函数的传参【如果是角度要转换为弧度传入:角度 / 180 * PI 】

例子

求解定积分:∫01sinxdx\int^{1}_{0}sinxdx∫01​sinxdx

根据上述公式写出矩形法求解此定积分的代码

#include <iostream>
#include <cmath>
using namespace std;double get_integral_sinx(double a,double b,int N)
{/*积分区间:[a,b] ,值均是弧度积分区间划分数目:N ,越大求得的结果越精细被积分函数:sinx*/double x = (b - a) / N;double ans = 0;for(int i = 1; i <= N; ++i){ans += x * fabs(sin(a + x*i));}return ans;
}
int main()
{double ans = get_integral_sinx(0,1,1000);cout<<ans<<endl;return 0;
}

如果你第一次接触,你难免会对上述做法有点疑虑,怕不可靠。
为了打消你的疑虑,我们结合我们手动求解定积分的方式来一个结果对比验证

∫01sinxdx=[−cosx]01=1−cos(1)\int^{1}_{0}sinxdx = [-cosx]^{1}_{0} = 1 - cos(1)∫01​sinxdx=[−cosx]01​=1−cos(1)

#include <iostream>
#include <cmath>
using namespace std;
int main()
{cout<<(1-cos(1))<<endl;return 0;
}

运行上述两段代码,(运行结果我就不贴了,请自行验证)就可以对比出矩形法求解定积分的可靠性。

其他

我们常常可以使用C/C++里的math库中的一些内置函数表示我们常用的一些常数
比如圆周率PIPIPI:
因为cos(PI)=−1.0cos(PI) = -1.0cos(PI)=−1.0,所以有:

const double PI = acos(-1.0);

再如:常数eee,我记得大概是2.7…
exp(x)exp(x)exp(x)函数是用于计算exe^xex,所以有:

const double e = exp(1.0);

矩形法求定积分的原理和实现相关推荐

  1. 矩形法求定积分c语言流程图,矩形法求定积分其程序与程序框图的实现.doc

    矩形法求定积分及其程序与程序框图的实现 ――实例探索定积分思想,切实提高课堂效果 王亮 佛冈县第一中学 数学科 [摘 要]定积分"四部曲"思想,对高中生来说不易接受,教学上用计算机 ...

  2. 写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分

    写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分 #include <stdio.h> #include <stdlib ...

  3. c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数

    本文为大家分享了C语言使用矩形法求定积分的通用函数,供大家参考,具体内容如下 要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知 ...

  4. 矩形法求定积分通用函数

    题目:实现求sin,cos,exp的通用函数 思路:其实就是练习指向函数的指针 1 #include<stdio.h> 2 #include<math.h> 3 int mai ...

  5. 写一个用矩形法求定积分的通用函数

    //写一个用矩形法求定积分的通用函数 #include<stdio.h> #include<math.h> double sinx(double x) {return sin( ...

  6. c语言用矩形法计算积分,C++编程:写一个用矩形法求定积分的通用函数

    C++编程:写一个用矩形法求定积分的通用函数 分别求: 说明:sina,cos,exp 函数已在系统的数学函数库中,程序开头要用#indlude 以下是此题的[c++源代码],需要[c源代码]请点击进 ...

  7. 用C语言用指针怎么算通用定积分,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

  8. C语言用矩形法求定积分的通用函数,分别求 sinx, cosx,e^x

    要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知道化曲为直的思想.将定积分化为多个函数连续的和.基本思想是将区间[a,b]化成 ...

  9. 编写指数函数 c语言,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

最新文章

  1. java多线程系类:基础篇:10生产者消费者的问题
  2. android adb 控制手机,adb 控制手机动作
  3. php reids的geo功能,Redis GEO相关命令和功能,你造吗?
  4. 基于visual Studio2013解决C语言竞赛题之1070删除相同节点
  5. 基于redis 内存数据库简单使用
  6. easyUI layout 中使用tabs+iframe解决请求两次方法
  7. Python中super的用法
  8. 分布式架构中数据一致性常见的几个问题
  9. Solidity 中 revert(), assert() 和 require() 的使用方法
  10. linux内核配置成qspi挂载,【分享】在Linux/U-Boot里为QSPI Flash使用UBIFS
  11. 线性规划专题——Lingo的使用
  12. web数据可视化(ECharts版)
  13. android 高德地图 定位蓝点消失,高德地图蓝点定位不显示蓝点
  14. 搭建在线视频网站,怎么弄?
  15. 企业网站制作网站安全评估技术与漏洞挖掘技术
  16. 大数据主要学些什么?(大数据学习路线图)
  17. 【算法】在N个乱序数字中查找第K大的数字
  18. 桌面图标黑色解决方案
  19. 服务器主板能配固态硬盘吗,这下不用再担心老主板不能用新固态硬盘了!
  20. 用余弦定理求三角形内角

热门文章

  1. python深度神经网络量化_深度神经网络数据集大小
  2. 美国伊利诺伊大学香槟分校计算机专业,伊利诺伊大学香槟分校计算机科学排名第7(2020年TFE美国排名)...
  3. mysql mariadb 选择_MariaDB 选择数据库
  4. react 哲学_细聊Concent amp; Recoil , 探索react数据流的新开发模式
  5. 机器学习(四) 下采样和上采样
  6. ubuntu apt-get方式安装软件的路径
  7. INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...
  8. redis java应用_Java+Redis应用(第一章)
  9. 西南交通大学计算机程序设计实验13,西南交通大学C++实验报告.doc
  10. 【团队管理】改造团队成员?