首先分析积分区间是否关于原点对称,其次考虑被积函数是否具有周期性,再次考察被积函数是否可以转换为“反对幂指三”五类基本函数中两个类型函数的乘积,或者是否包含有正整数n参数,或者包含有抽象函数的导数乘项等。
定积分的计算一般思路与步骤
Step1:分析积分区间是否关于原点对称,即为[-a,a],如果是,则考虑被积函数的整体或者经过加减拆项后的部分是否具有奇偶性,如果有,则考虑使用“偶倍奇零”性质简化定积分计算。
Step2:考虑被积函数是否具有周期性,如果是周期函数,考虑积分区间的长度是否为周期的整数倍,如果是,则利用周期函数的定积分在任一周期长度的区间上的定积分相等的结论简化积分计算。
Step3:考察被积函数是否可以转换为“反对幂指三”五类基本函数中两个类型函数的乘积,或者是否包含有正整数n参数,或者包含有抽象函数的导数乘项,如果是,可考虑使用定积分的分部积分法计算定积分。
Step4:考察被积函数是否包含有特定结构的函数,比如根号下有平方和、或者平方差(或者可以转换为两项的平和或差的结构),是否有一次根式,对于有理式是否分母次数比分子次数高2次以上;是否包含有指数函数或对数函数,对于具有这样结构的积分,考虑使用三角代换、根式代换、倒代换或指数、对数代换等;换元的函数一般选取严格单调函数;与不定积分不同的是,在变量换元后,定积分的上下限必须转换为新的积分变量的范围,依据为:上限对上限、下限对下限;并且换元后直接计算出关于新变量的定积分即为最终结果,不再需要逆变换换元!
计算方法
定积分
定积分是积分的一种,是函数f(x)在区间[a,b]上的积分和的极限。
这里应注意定积分与不定积分之间的关系:若定积分存在,则它是一个具体的数值(曲边梯形的面积),而不定积分是一个函数表达式,它们仅仅在数学上有一个计算关系(牛顿-莱布尼茨公式),其它一点关系都没有。
一个函数,可以存在不定积分,而不存在定积分,也可以存在定积分,而不存在不定积分。一个连续函数,一定存在定积分和不定积分;若只有有限个间断点,则定积分存在;若有跳跃间断点,则原函数一定不存在,即不定积分一定不存在。
#include <stdioh>
#define DELTA 000001//Δt
int main()
{
double v0=5,t,s=0;
for(t=100;t<=150;t+=DELTA)
s+=(v0+2t)DELTA;
printf("s=%f\n",s);
return 0;}
结果为150
1
Public
Function
梯形积分(r
As
String,
a
As
Double,
b
As
Double,
n
As
Integer)
As
Double
2
Dim
dx
As
Double,
i
As
Integer
3
dx
=
(b
-
a)
/
n
4
For
i
=
1
To
n
5
梯形积分
=
梯形积分
+
fx(r,
(a
+
dx
(i
-
1
/
2)))
dx
6
Next
i
7
End
Function
8
Public
Function
复化辛普生积分(r
As
String,
a
As
Double,
b
As
Double,
n
As
Integer)
As
Double
9
Dim
dx
As
Double,
i
As
Integer,
m
As
Integer
10
m
=
2
n
11
dx
=
(b
-
a)
/
m
12
复化辛普生积分
=
fx(r,
a)
+
fx(r,
b)
13
For
i
=
2
To
m
Step
2
14
复化辛普生积分
=
复化辛普生积分
+
4
fx(r,
(a
+
dx
(i
-
1)))
+
2
fx(r,
(a
+
dx
i))
15
Next
i
16
复化辛普生积分
=
(复化辛普生积分
-
2
fx(r,
(a
+
dx
m)))
dx
/
3
17
End
Function
18
Public
Function
fx(f
As
String,
x
As
Double)
As
Double
19
f
=
LCase(f)
20
fx
=
Evaluate(Replace(f,
"x",
x))
21
End
Function
两个函数的参数都是1积分函数,自变量用x表示,x不区分大小写2积分下限3积分上限4划分次数,不能大于32766,对于梯形积分,越大越接近真值,对于复化辛普生积分,没必要使用大的划分次数积分区间包含奇点(趋近于无穷的点),复化辛普生公式将不能正确积分,将来可能会修正也希望高手出招调用方法:=梯形积分("sin(x)^3-ln(x+1)^3+x^5-x",
0,
2,
2000)
基本定义
设F(x)为函数f(x)的一个原函数,我们把函数f(x)的所有原函数F(x)+C(C为任意常数)叫做函数f(x)的不定积分(indefinite integral)。
记作∫f(x)dx。其中∫叫做积分号(integral sign),f(x)叫做被积函数(integrand),x叫做积分变量,f(x)dx叫做被积式,C叫做积分常数,求已知函数的不定积分的过程叫做对这个函数进行积分。
积分
由定义可知:
求函数f(x)的不定积分,就是要求出f(x)的所有的原函数,由原函数的性质可知,只要求出函数f(x)的一个原函数,再加上任意的常数C,就得到函数f(x)的不定积分。
也可以表述成,积分是微分的逆运算,即知道了导函数,求原函数。
主要分类
不定积分
众所周知,微积分的两大部分是微分与积分。微分实际上是函数的微小的增量,函数在某一点的导数值乘以自变量以这点为起点的增量,得到的就是函数的微分;它近似等于函数的实际增量(这里主要是针对一元函数而言)。而积分是已知一函数的导数,求这一函数。所以,微分与积分互为逆运算。
实际上,积分还可以分为两部分。第一种,是单纯的积分,也就是已知导数求原函数,而若F(x)的导数是f(x),那么F(x)+C(C是常数)的导数也是f(x),也就是说,把f(x)积分,不一定能得到F(x),因为F(x)+C的导数也是f(x),C是任意的常数,所以f(x)积分的结果有无数个,是不确定的,我们一律用F(x)+C代替,这就称为不定积分。
用公式表示是:f'(x)=g(x)->∫g(x)dx=f(x)+c
定积分
而相对于不定积分,还有定积分。所谓定积分,其形式为∫[a:b]f(x)dx 。之所以称其为定积分,是因为它积分后得出的值是确定的,是一个数,而不是一个函数。
积分题目
微积分的最初发展中,定积分即黎曼积分。用自己的话来说,就是把直角坐标系上的函数的图象用平行于y轴的直线和x轴把其分割成无数个矩形,然后把某个区间[a,b]上的矩形的面积累加起来,所得到的就是这个函数的图象在区间[a,b]的面积。实际上,定积分的上下限就是区间的两个端点a、b。而实变函数中,可以利用测度论将黎曼积分推广到更加一般的情况,如勒贝格积分
用公式表示是:∫ [a,b]f(x)dx=lim(n->∞)∑(0-n)a+f(ti)(b-a)/n
两者关系
我们可以看到,定积分的本质是把图象无限细分,再累加起来,而积分的本质是求一个函数的原函数。它们看起来没有任何的联系,那么为什么定积分写成积分的形式呢?
定积分与积分看起来风马牛不相及,但是由于一个数学上重要的理论的支撑,使得它们有了本质的密切关系。把一个图形无限细分再累加,这似乎是不可能的事情,但是由于这个理论,可以转化为计算积分。这个重要理论就是大名鼎鼎的牛顿-莱布尼兹公式,它的内容是:
若F'(x)=f(x)
那么∫[a:b]f(x)dx =F(a)-F(b)
但是这里x出现了两种意义,一是表示积分上限,二是表示被积函数的自变量,但定积分中被积函数的自变量取一个定值是没意义的。虽然这种写法是可以的,但习惯上常把被积函数的自变量改成别的字母如t,这样意义就非常清楚了:
Φ(x)=∫[a:b]f(t)dt
牛顿-莱布尼兹公式用文字表述,就是说一个定积分式的值,就是上限在原函数的值与下限在原函数的值的差。
正这个理论揭示了积分与黎曼积分本质的联系,可见其在微积分学乃至整个高等数学上的重要地位,因此,牛顿-莱布尼兹公式也被称作微积分基本定理。
%用 MATLAB 用蒙特卡洛方法求积分值:
n=10100
Xvariance=05
Xmean=05
Xrand = (Xvariancerandn(1,n)) + Xmeanones(1,n);
Yrand = (05randn(1,n)) +05ones(1,n);
Zrand = (05randn(1,n)) + 05ones(1,n);
p = sin(314159265XrandYrandZrand);
Ans=sum(p)/n
%sum(p) is the number of points within the graph
%Ans is the answer of the integral
1、算法原理:将sin(x)+e^x转化为用梯形法积分计算。2、程序流程图:i=1,j=3Double sum=0,x,y;int m;x=(j-i)/m;y=in=0n<m n=n+1 sum=sum+(x/2)(sin(y)+sin(y+x)+exp(y)+exp(y+x));y=y+x 输出 sin(x)+e^x在积分区间[1,3]的积分是 sum 3、变量说明:i,j控制区间的变量,求和变量sum,过程变量y,分成n等份的梯形的高变量x,控制分段数的变量m4、使用方法:确定要求的区间的大小;用循环逐步进行计算其中注意变量的条件的改变进而影响的循环条件;循环逐步进行计算5、源程序:#include<iostream>#include<cmath>using namespace std;void main(){const double i=1, j=3;</p><p>double sum=0,x,y;</p><p>int m,n=0;</p><p>cout<<"请输入分段数:";</p><p>cin>>m; </p><p>x=(j-i)/m;</p><p>y=i;</p><p>for(n=0;n<m;n++)</p><p>{</p><p>sum=sum+(x/2)(sin(y)+sin(y+x)+exp(y)+exp(y+x));</p><p>y=y+x;</p><p>}cout<<"sin(x)+e^x在积分区间[1,3]的积分是"<<sum<<endl;} 6、程序运行结果:
以上就是关于定积分计算详细步骤全部的内容,包括:定积分计算详细步骤、C++中求定积分的编程、用Excel计算积分如何进行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)