めもらんだむ

個人的な備忘録。Julia言語やPythonに関することが中心になると思われます。

任意の数値をとる係数を伴う被積分関数をQuadGKで数値積分する:anonymous functionの利用

1変数の数値積分を行うQuadGKを使った数値積分の紹介記事は色々見つかるが、被積分関数中の係数が定数のものばかりで、被積分関数の係数を引数として与える例がうまいこと見つけられなかったが、anonymous functionを使えばよいらしいことに気付く。

今、被積分関数をf、積分区間をx1からx2(x1 < x2)として、QuadGKを呼ぶとき
quadgk(f, x1, x2)
というのが被積分関数中の係数が定数のとき。被積分関数中の係数a, bが変数、xが積分変数として
f(x, a, b)
として、fの値を得る関数を積分したいときは
quadgk(x -> f(x,a,b), x1, x2)
とすればよい。

QuadGKに限らず、他の関数も同様にして呼べると思われるが、試してはいない。

Juliaとanonymous functionで検索すると、(ようやく)よい説明に行き当たった。
the most important use for anonymous functions is passing functions as arguments to other functions, in particular when the function needs additional data to be evaluated.
とある。
m3g.github.io

anonymous functionというキーワードを知らないと、辿り着けそうにないなぁ。