我想创建一个期望值(续)。因此,我需要制作一个有无限限制的积分。
例如:
integrate(exp(2*x+1),-Inf:Inf)
我怎么能达到这样的目的?
答案 0 :(得分:2)
朱莉娅有几个包允许你这样做。例如,您可以使用Cubature.jl。它要求您通过change of variables将无限区间转换为有限区间。
这是一个例子(我使用的函数不是你示例中的函数,因为你的原始积分是不同的):
using Cubature
f(x) = exp(-x^2)
res = hquadrature(y -> f(y/(1-y^2))*(1+y^2)/((1-y^2)^2), -1, 1)
您现在可以检查我们是否接近f
选择的正确结果:
julia> res[1] - sqrt(pi)
2.220446049250313e-16
答案 1 :(得分:1)
QuadGK.jl自动更改变量,因此您可以直接为它提供(1D)无限积分。
答案 2 :(得分:1)
我最喜欢的数字集成包是FastGaussQuadrature.jl:
https://github.com/ajt60gaibb/FastGaussQuadrature.jl
只是分享另一个包以供将来参考。