数值积分包括日志(exp (f (x)))显示南

25日视图(30天)
怡文锅
怡文锅 约6小时前
回答: Animesh约5小时前
大家好!
正如标题所提到的,当我集成函数日志(exp (f (x)))范围内的[-100100],结果表明“无穷”
,但如果我改变日志(exp (f (x)))的等价形式f (x),结果是一个数值积分。
f (x) = (x ^ 2) / 2,顺便说一句。
下面的代码可以解释清楚
f1 = @ (x)日志(exp (- (x ^ 2) / 2));
r1 =积分(f1, -100100)
警告:正或NaN值。
r1 =负
f2 = @ (x) - (x ^ 2) / 2;
r2 =积分(f2, -100100)
r2 = -3.3333 e + 05
我的问题是为什么r1得到“无穷”?
有什么方法让r1等于r2,如果f1必须形成日志(exp (f (x))) ?
非常感谢你提前。

答案(1)

Animesh
Animesh 不到一分钟前
@YI-WEN锅 ,
可能的原因 r1 =负 在表达 日志(exp (f (x))) , 是由于有限精度的浮点数。这可能会导致数值下溢。
在这种情况下这个词的价值 exp (- (x ^ 2) / 2) 将会变得非常小x级的增长。最终价值将变得如此之小,它会四舍五入为零。这将导致整个表达式来评估负对数0是负无穷。
一个解决方案,你可以尝试使用象征性的整合,而不是数值积分。这将允许您简化表达式 日志(exp (f (x))) 分析和评估积分。
信谊x;
f =日志(exp (- (x ^ 2) / 2));
r =简化(int (f, x, -100, 100))

标签

下载188bet金宝搏


释放

R2022a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!