对exp(-A/x)进行定积分应该怎么算?积分区间是0~1

雨之轩 1年前 已收到4个回答 举报

风儿恋沙 幼苗

共回答了15个问题采纳率:93.3% 举报

这个积分是没有初等函数表达式的,需要注意的是,不是所有的函数都能够给出初等函数的表达式,对于这个积分就是如此,不过可以利用分部积分进行一些化简,化成Gamma函数的形式,这样就可以在不将积分积出的前提下,对函数进行讨论.
说一下符号的记法,对函数f在a到b区间,关于x积分,就写成:
Integrate[f[x]dx {a, b}]
首先,先换下元,令A/x = t,
所以有 dx = d(A/t)
这样函数积分化为:
Integrate[Exp[-A/x]d(x), {0, 1}]
=Integrate[-Exp[-t]d(A/t), {A, infinity}]
然后分部积分:
Integrate[-Exp[-t]d(A/t), {A, infinity}]
= Exp[-A] + A*Integrate[(1/t)Exp[-t]dt, {A, infinity}]
= Exp[-A] + A*Gamma[0, A]
一般的,Gamma函数被定义为:
Gamma[z] = Integrate[(t^(z-1))*Exp[-t]dt, {0, infinity}]
叫做Euler Gamma Function(欧拉伽玛函数)
但是很多情况下积分限并不总是从零到正无穷,所以人们又定义了Incomplete Gamma Function(不完全伽玛函数),就是上面推导的那个Gamma[0, A]
这个函数被定义为:
Gamma[z, a] = Integrate[(t^(z-1))*Exp[-t]dt, {a, infinity}]
所以Gamma[z] = Gamma[z, 0]
Gamma函数的性质,在任何一本高等数学或者数学分析的书中都有讨论,这样这个积分就可以用Gamma函数的形式表达出来,其实,刚换元之后的函数也是Gamma函数,不过是t的负二次方,也就是:
Integrate[Exp[-A/x]d(x), {0, 1}]
= Integrate[-Exp[-t]d(A/t), {A, infinity}]
= A*Integrate[(t^(-2))*Exp[-t]dt, {A, infinity}]
= A*Gamma(-1, A)
所以这个积分在Gamma函数的意义下,就是:
Integrate[Exp[-A/x]d(x), {0, 1}]
= A*Gamma(-1, A)
= Exp[-A] + A*Gamma[0, A]
上面的讨论需要说明的是,对于一般的Gamma函数Gamma[z, a], z可以在整个复数域上进行取值,Gamma函数本身是个复变函数,并且是解析的,对于z=n取整数的情形,Gamma[n, 0]=n!
最后,如果愣要把上面那个函数算出来的话,你可以直接数值计算,拿个计算机就成;也可以拿个数学手册,去查Gamma函数的函数表;也可以自己手算,把那个被积函数Taylor展开成幂级数,一点儿一点儿算:-)

1年前

10

有机化学 幼苗

共回答了3个问题 举报

这个积分无法表示为初等函数,就和正态分布函数一样。
解法可以用级数去逼近,也可以使用特殊函数,也可以用计算机去求数值解

1年前

2

longrui800 幼苗

共回答了3个问题 举报

...

1年前

2

白羊薄荷糖 幼苗

共回答了40个问题 举报

太难了吧?我用Matlab算了一下:
【1】不定积分
>> int('exp(-A/x)','x')
ans =A*(1/A*x*exp(-A/x)-Ei(1,A/x)) 俺也不知道这是什么意思;
【2】定积分
>> int('exp(-A/x)','x',0,1)

ans =limit(-x*exp(-A/x)+Ei(1,A/x)*A+...

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.025 s. - webmaster@yulucn.com