分析:高中的时候,我们学习过,可以通过矩形法或者矩形法来求定积分。

思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和。

简单的例子:求函数X^2在的定积分

矩形法:

#include

#include

using namespace std;

int main(){

float fun(float x);

float a,b;

cout<

cin>>a>>b;

int n=50;//将区间划分成50份

float h=(b-a)/n;//h是每个区间分大小

float s=0;//s是矩形的面积的和

float i=0;

for(i=a;i

s=s+fun(i)*h;

}

cout<

cout<

}

float fun(float x){

return pow(x,2);

}

梯形法:

#include

#include

using namespace std;

int main(){

float fun(float x);

float a,b;

cout<

cin>>a>>b;

int n=50;//将区间划分成50份

float h=(b-a)/n;//h是每个区间分大小

float s=0;//s是矩形的面积的和

float i=0;

for(i=a;i

s=s+((fun(i)+fun(i+h))*h)/2;

}

cout<

cout<

}

float fun(float x){

return pow(x,2);

}

一个较复杂的例子写一个通用函数,用来求sinx   、  cosx    、  e^x   、  x^2  的定积分

分析:fun为用来求定积分的通用函数,调用fun函数的时候,需要将积分的上限,下限,区间划分的份数以及被积函数的指针传递过来。

矩形法:

#include

#include

using namespace std;

int main(){

float fsin( float x);

float fcos( float x);

float   fe( float x);

float fpf(float x);

float fun(float a,float b, int n,float (*p)(float x));

float a[4],b[4],r[4];

cout<

cin>>a[0]>>b[0];

r[0]=fun(a[0],b[0],50,fsin);

cout<

cout<

cin>>a[1]>>b[1];

r[1]=fun(a[1],b[1],50,fcos);

cout<

cout<

cin>>a[2]>>b[2];

r[2]=fun(a[2],b[2],50,fe);

cout<

cout<

cin>>a[3]>>b[3];

r[3]=fun(a[3],b[3],50,fpf);

cout<

cout<

return 0;

}

float fsin(float x){

return sin(x);

}

float fcos(float x){

return cos(x);

}

float fe(float x){

return exp(x);

}

float fpf(float x){

return pow(x,2);

}

float fun(float a,float b,int n,float (*p)(float x)){

float i;

float h=(b-a)/n;

float s=0;

for(i=a;i

s=s+p(i)*h;//利用了矩形求面积的公式

}

return s;

}

梯形法:

#include

#include

using namespace std;

int main(){

float fsin( float x);

float fcos( float x);

float   fe( float x);

float fpf(float x);

float fun(float a,float b, int n,float (*p)(float x));

float a[4],b[4],r[4];

cout<

cin>>a[0]>>b[0];

r[0]=fun(a[0],b[0],50,fsin);

cout<

cout<

cin>>a[1]>>b[1];

r[1]=fun(a[1],b[1],50,fcos);

cout<

cout<

cin>>a[2]>>b[2];

r[2]=fun(a[2],b[2],50,fe);

cout<

cout<

cin>>a[3]>>b[3];

r[3]=fun(a[3],b[3],50,fpf);

cout<

cout<

return 0;

}

float fsin(float x){

return sin(x);

}

float fcos(float x){

return cos(x);

}

float fe(float x){

return exp(x);

}

float fpf(float x){

return pow(x,2);

}

float fun(float a,float b,int n,float (*p)(float x)){

float i;

float h=(b-a)/n;

float s=0;

for(i=a;i

s=s+((p(i)+p(i+h))*h)/2;//梯形法求面积

}

return s;

}

python矩形法求定积分_如何用矩形法(梯形法)求定积分相关推荐

  1. 干支纪年法简便算法_传感智库丨流速面积法测量明渠断面流量

    随着工农业生产和生活用水量的增加,水资源供需矛盾日益尖锐,计划用水和水量调配工作显得越来越重要,很多场合都需要能够迅速.准确地测量明渠断面流量. 目前,国内外研究水流流量的方法主要有:垂直多普勒法.流 ...

  2. 梯形法 微积分 c语言,关于 用辛普森法和梯形法求微积分的 程序!

    共回答了8个问题采纳率:87.5% 1. 目的: (1)通过求定积分的程序设计,使学生理解和掌握C++语言的函数.函数指针等设计方法,培养学生综合利用C++语言解决数学计算问题,使学生将所学知识转化为 ...

  3. python判断素数的函数_如何用python求素数

    如何用python求100以内的素数? 质数(primenumber)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2.3.5.7.11.13.1 ...

  4. python求直角三角形斜边底下的数值怎么输_如何用用户输入的值求三角形的角,以及如何绘制i...

    一次做一点:尽管通配符导入通常是不受欢迎的,但它是更常用的语法from turtle import * from math import * import math 您说过要输入实数:在Python中 ...

  5. python求平均值_如何用python求平均值

    学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...

  6. python怎么求商_如何用python求差商?

    问 题 假设有一个点集[x0, x1, x2, ..., xn],对应的函数值为[y0, y1, y2, ..., yn],怎样求差商(1至n阶). k阶差商计算公式 f(x0, x1, ..., x ...

  7. c语言编求二重积分_如何用C语言求二重定积分?

    展开全部 按二重积分的定义做. 我的这32313133353236313431303231363533e59b9ee7ad9431333330333631个出错,一起讨论下吧: #include #i ...

  8. python中if语句求最大值_如何用if语句向量化numpy数组中的最大值?

    我的设置:Python 2.7.4.1.numpymkl 1.7.1.windows7x64.WinPython 上下文: 我尝试实现序列最小优化算法来求解支持向量机.我使用最大违反对方法.在 问题是 ...

  9. python字典值求平均值_如何用Python打印字典键值的平均值?

    我一直在尝试让python3打印我字典的平均值,sum/len.在 我一直在研究如何在字典中查找值的平均值的堆栈溢出方法,但是每次我试图使用字典中的值的键来做这件事时,我都会遇到很多错误.我能让透镜工 ...

  10. python求移动平均_如何用NumPy计算移动平均值?

    NumPy缺少特定于域的函数可能是由于核心团队的纪律性和对NumPy主指令的忠实性:提供了N维数组类型,以及创建和索引这些数组的函数.像许多基本目标一样,这个目标并不小,纽比做得很出色. 更大的Sci ...

最新文章

  1. C++的黑科技(深入探索C++对象模型)
  2. 顶会ACL这十年:百度披荆斩棘,中国NLP乘风破浪
  3. 信足球vs.信上帝——从全球疯世界杯谈起
  4. Multimedia Event Extraction (M2E2) Annotation Guideline V0.1
  5. Sonnedix收购意大利11.2MW光伏电站产品组合
  6. 将数据流链接到加密转换的流CryptoStream 类
  7. 密码学专题 文本数据库
  8. FFmpeg数据结构:AVPacket解析
  9. 世界首富洛克菲勒的6句忠告,每个字都值钱
  10. Java开发笔记(一百三十八)JavaFX的箱子
  11. 在线教学质量评价系统java web_基于JavaWeb的教师教学质量评价系统
  12. python UI自动化无界面运行
  13. nb-iot信号测试软件,NB-IOT测试仪
  14. 计算机 绘图 教案,工程制图基础
  15. 邮箱显示exchange账号服务器错误,Exchange服务器刚开始用就总是出错!
  16. 关于类unix系统(linux,bsd等)克隆的资料-2
  17. Pip修改阿里云镜像
  18. jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等
  19. Spring SpringMVC SpringBoot SpringCloud概念及关系
  20. 囤书正当时,这些口碑好书值得买

热门文章

  1. 3D游戏建模概念设计流程
  2. springBoot Vue 项目实战
  3. linux键盘输入空格失效,电脑键盘空格键失灵不能用如何修复
  4. 四月中旬去成都自由行,如何规划著名景点路线?
  5. 《智能时代》读书笔记:这是最好的时代,也是最坏的时代
  6. 极智开发 | Go 安装教程
  7. ajax响应速度慢,jQuery Ajax请求的响应速度变化
  8. Seven languages in seven weeks (notes on Scala)
  9. 厘米换算英尺英寸java
  10. c语言抠图程序蓝屏,一种蓝屏抠图方法