一个关于定积分的高数题,求大神解答
先来看看matlab的符号运算结果:
>> syms x
>> int(cos(x)/(1+x^2))
ans =
int(cos(x)/(x^2 + 1), x)
>> int(cos(x)/(1+x^2),0,1)
ans =
int(cos(x)/(x^2 + 1), x, 0, 1)
也就是说matlab算不出符号解。下面通过级数的方法来求解。
因为积分范围是0<x<1(对于定积分而言,端点去掉是不影响的),因此可以把1/(1+x²)按照几何级数展开:
所以原来的积分为
通过积分表可以得到
而
因此得到递推式:
根据这样的递推式和初始条件,可以唯一地确定数列I(n)以及级数ΣI(n)。这时候如果能把通项求出来,对于计算积分结果是有很大帮助的。如果无法直接看出数列的通项,也可以构造幂级数Σ(-1)^n*I(n)*x^n,根据递推式凑出微分方程,然后根据初始条件求出相应微分方程的特解,接着令x=1即可求得原题定积分的值。
当然在展开幂级数的时候不仅可以把1/(1+x²)展开,也可以把cosx展开,或者分子分母都展开。如果三种展开方式都无法得到简单的符号解的话,那就要考虑数值解了。
通过把积分区间等分成1000份,得到的数值解为0.682885164644968