Matlab 找不到显式积分

Matlab 找不到显式积分,matlab,integration,numerical,explicit,integral,Matlab,Integration,Numerical,Explicit,Integral,如果我尝试计算下面的积分,我会得到一个众所周知的错误“显式积分找不到” symsz; funz=1./(1+exp((z*z-0.5)/0.1)); 整数2=int(funz,z,0,inf) 我得到警告: 警告:找不到显式积分。 整数2= int(1/(exp(10*z^2-5)+1),z==0..Inf) Mathematica将该积分计算为0.693 我曾尝试将积分下限替换为一些小的有限数(0.001),但这没有帮助。 请帮助确定此问题的解决方案。 感谢您的帮助。 非常感谢 试试,vp

如果我尝试计算下面的积分,我会得到一个众所周知的错误“显式积分找不到”

symsz;
funz=1./(1+exp((z*z-0.5)/0.1));
整数2=int(funz,z,0,inf)
我得到警告:

警告:找不到显式积分。
整数2=
int(1/(exp(10*z^2-5)+1),z==0..Inf)
Mathematica将该积分计算为
0.693

我曾尝试将积分下限替换为一些小的有限数(0.001),但这没有帮助。 请帮助确定此问题的解决方案。 感谢您的帮助。 非常感谢

试试,
vpa

symsz;
funz=1./(1+exp((z*z-0.5)/0.1));
整数2=int(funz,z,0,inf)
警告:找不到显式积分。
整数2=
int(1/(exp(10*z^2-5)+1),z=0..Inf)
vpa(整数2,5)%5是有效位数
ans=
0.69305
参见“近似定积分”中的最后一个例子。 引述:

如果int不能计算定积分的闭合形式,请尝试 用vpa数值逼近该积分


看起来您在Mathematica中对积分进行了数值计算,但在Matlab中使用了符号技术。至少在R2013a中,
int
不起作用。如果您将数字指定为有理数而不是小数,Mathematica的
Integrate
会返回一个关于
PolyLog
的闭式解:
-(1/2)Sqrt[\[Pi]/10]PolyLog[1/2,-E^5]
。请随意。Matlab的MuPAD有一个函数,但我不确定它可以追溯到什么时候。否则,你将不得不使用数值方法。哇+1.我不知道那件事。直接调用
double
也可以。帮助根本没有提到它——至少在R2013a中没有提到。我习惯于这样的警告是
int
无法处理的结果。我想知道它在引擎盖下使用什么样的求积来执行数值近似?