找不到显式积分

问题描述 投票:0回答:1

如果我尝试评估以下积分,我会收到一个众所周知的错误“无法找到显式积分”

syms z;
funz=1./(1+exp((z*z-0.5)/0.1));
Integ2=int(funz,z,0,inf)

我收到警告:

Warning: Explicit integral could not be found.        
Integ2 =   
int(1/(exp(10*z^2 - 5) + 1), z == 0..Inf)

Mathematica 将该积分计算为

0.693

我尝试将积分下限替换为一些小的有限数(0.001),但这没有帮助。 请帮助确定此问题的修复方法。 任何帮助表示赞赏。 非常感谢!

matlab integral numerical-integration
1个回答
2
投票

尝试变精度算术

vpa

syms z; 
funz=1./(1+exp((z*z-0.5)/0.1));

Integ2=int(funz,z,0,inf)
Warning: Explicit integral could not be found. 

Integ2 =
int(1/(exp(10*z^2 - 5) + 1), z = 0..Inf)

vpa(Integ2,5)  % 5 is the number of significant digits
ans =     
0.69305

请参阅文档中的最后一个示例“近似定积分”。 引用:

如果 int 无法计算定积分的闭合形式,请尝试 使用 vpa 以数值方式近似该积分。

© www.soinside.com 2019 - 2024. All rights reserved.