下記の本には、複素関数を用いた実関数の積分値を求める解法が掲載されている。 そこで、実積分の積分値を求める JavaScript を書いてみた。
なお、下記の公式集も参考にした :
なお、引用文献では、下記の例の特殊な例も含む。
たとえば、下記の積分が載っている文献があるとする:
`I = int_0^(2pi) 1/(5-4cosx) dx`
これは次の例
`I = int_0^(2pi) 1/(a+bcosx) dx`
で `a = 5, b = -4` を代入したものであるから、この例に含めた。
積分をしたい式を、`x` を積分変数として、`a, b` をパラメータとして入力すると、 入力した式(被積分関数)と積分値を表示する。
上記のスクリプトは以下が変換できる :
積分値の表
なお、`"sgn"(x) = {(1, x gt 0),(0,x = 0),(-1, x lt 0):}`, `NN` は0を含まない自然数、 `NN^+` は 0 を含む自然数である。
JavaScript はそのままの形では複素数を扱うことはできない。調べると海外の人が作った Math.js や Complex.js などがあるが、 使い方がよくわからない。そこで、自分で作ってみることにする。
`z = a + bi, w = c + di` とすれば、
`z + w = (a + c) + (b + d)i`
`z - w = (a - c) + (b - d)i`
`z * w = (ac - bd) + (bc + ad)i`
`1/z = (a - bi)/(a^2+b^2)`
数式表現はMathJax を用いている。
まりんきょ学問所 > JavaScript 手習い > 複素関数