関数を渡して数値積分を計算する。
出力は (I, E)
となり、 I
が結果、 E
が誤差。
一つの変数についての積分しかできないので注意。
体感速度だと、SymPyでintegrateするよりもはやい(そもそもSymPyのRecompileが遅い)。
using QuadGK # quadgk: 数値積分を計算する # quadgk(function, from, to) quadgk(cos, 0, pi/2) # => (1.0, 2.220446049250313e-16) quadgk(x -> x^2, 0, 1) # => (0.3333333333333333, 5.551115123125783e-17) quadgk(x -> exp(-4 * abs(x - 1/2)), 0, 1) # => (0.4323323583816937, 4.996003610813204e-16)