如何修复积分的奇怪结果? [重复]

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

这个问题在这里已有答案:

我想计算积分(@(v)v ^ 46 * exp(-v ^ 2),0,inf)。在数学上,它可以计算。但是,当我在matlab中运行时,它会给出NaN。由于计算机的精确性,这是一个问题吗?如果是,我该如何解决?我也尝试将inf更改为一个大的no,比如10000,100000,1000000,...值增加然后下降到非常小的不接近0。

在极端情况下,我需要计算积分(@(v)(v-a)^ 200 * exp(-v ^ 2),0,inf),所以我很佩服基于最后积分的任何校正。

matlab integral
1个回答
1
投票

潜在的问题是不可能通过替换浮点inf数来集成到无穷大。 integral函数纯粹是数字的。

q = integral(fun,xmin,xmax)使用全局自适应正交和默认误差容差,从xmin到xmax以数字方式集成函数fun。

您将需要使用符号工具箱,它操纵符号而不是浮点值as per this answer

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