我想计算积分(@(v)v ^ 46 * exp(-v ^ 2),0,inf)。在数学上,它可以计算。但是,当我在matlab中运行时,它会给出NaN。由于计算机的精确性,这是一个问题吗?如果是,我该如何解决?我也尝试将inf更改为一个大的no,比如从10000,100000,1000000,...值增加然后下降到非常小的不接近0。
在极端情况下,我需要计算积分(@(v)(va)^ 200 * exp(-v ^ 2),0,inf),所以我很佩服任何基于最后积分的修正。
答案 0 :(得分:1)
潜在的问题是,无法通过替换浮点inf
数来集成到无穷大。 integral
函数纯粹是数字。
q = integral(fun,xmin,xmax)以数字方式集成了函数的乐趣 使用全局自适应正交和默认误差的xmin到xmax 公差。
您需要使用符号工具箱,它操纵符号而不是浮点值as per this answer。