python矩形法求定积分_如何用矩形法(梯形法)求定积分
分析:高中的时候,我们学习过,可以通过矩形法或者矩形法来求定积分。
思路就是将积分区间划分成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矩形法求定积分_如何用矩形法(梯形法)求定积分相关推荐
- 干支纪年法简便算法_传感智库丨流速面积法测量明渠断面流量
随着工农业生产和生活用水量的增加,水资源供需矛盾日益尖锐,计划用水和水量调配工作显得越来越重要,很多场合都需要能够迅速.准确地测量明渠断面流量. 目前,国内外研究水流流量的方法主要有:垂直多普勒法.流 ...
- 梯形法 微积分 c语言,关于 用辛普森法和梯形法求微积分的 程序!
共回答了8个问题采纳率:87.5% 1. 目的: (1)通过求定积分的程序设计,使学生理解和掌握C++语言的函数.函数指针等设计方法,培养学生综合利用C++语言解决数学计算问题,使学生将所学知识转化为 ...
- python判断素数的函数_如何用python求素数
如何用python求100以内的素数? 质数(primenumber)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2.3.5.7.11.13.1 ...
- python求直角三角形斜边底下的数值怎么输_如何用用户输入的值求三角形的角,以及如何绘制i...
一次做一点:尽管通配符导入通常是不受欢迎的,但它是更常用的语法from turtle import * from math import * import math 您说过要输入实数:在Python中 ...
- python求平均值_如何用python求平均值
学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...
- python怎么求商_如何用python求差商?
问 题 假设有一个点集[x0, x1, x2, ..., xn],对应的函数值为[y0, y1, y2, ..., yn],怎样求差商(1至n阶). k阶差商计算公式 f(x0, x1, ..., x ...
- c语言编求二重积分_如何用C语言求二重定积分?
展开全部 按二重积分的定义做. 我的这32313133353236313431303231363533e59b9ee7ad9431333330333631个出错,一起讨论下吧: #include #i ...
- python中if语句求最大值_如何用if语句向量化numpy数组中的最大值?
我的设置:Python 2.7.4.1.numpymkl 1.7.1.windows7x64.WinPython 上下文: 我尝试实现序列最小优化算法来求解支持向量机.我使用最大违反对方法.在 问题是 ...
- python字典值求平均值_如何用Python打印字典键值的平均值?
我一直在尝试让python3打印我字典的平均值,sum/len.在 我一直在研究如何在字典中查找值的平均值的堆栈溢出方法,但是每次我试图使用字典中的值的键来做这件事时,我都会遇到很多错误.我能让透镜工 ...
- python求移动平均_如何用NumPy计算移动平均值?
NumPy缺少特定于域的函数可能是由于核心团队的纪律性和对NumPy主指令的忠实性:提供了N维数组类型,以及创建和索引这些数组的函数.像许多基本目标一样,这个目标并不小,纽比做得很出色. 更大的Sci ...
最新文章
- C++的黑科技(深入探索C++对象模型)
- 顶会ACL这十年:百度披荆斩棘,中国NLP乘风破浪
- 信足球vs.信上帝——从全球疯世界杯谈起
- Multimedia Event Extraction (M2E2) Annotation Guideline V0.1
- Sonnedix收购意大利11.2MW光伏电站产品组合
- 将数据流链接到加密转换的流CryptoStream 类
- 密码学专题 文本数据库
- FFmpeg数据结构:AVPacket解析
- 世界首富洛克菲勒的6句忠告,每个字都值钱
- Java开发笔记(一百三十八)JavaFX的箱子
- 在线教学质量评价系统java web_基于JavaWeb的教师教学质量评价系统
- python UI自动化无界面运行
- nb-iot信号测试软件,NB-IOT测试仪
- 计算机 绘图 教案,工程制图基础
- 邮箱显示exchange账号服务器错误,Exchange服务器刚开始用就总是出错!
- 关于类unix系统(linux,bsd等)克隆的资料-2
- Pip修改阿里云镜像
- jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等
- Spring SpringMVC SpringBoot SpringCloud概念及关系
- 囤书正当时,这些口碑好书值得买