Module: Num4DiffLib

Extended by:
FFI::Library
Defined in:
lib/num4diff.rb

Overview

数値計算による常微分方程式の解法するライブラリ

Instance Method Summary collapse

Instance Method Details

#eulerMethod(yi, xi, h, func) ⇒ double

オイラー法による数値計算

Parameters:

  • yi (double)

    xiに対するyiの値

  • xi (double)

    xiの値

  • h (double)

    刻み幅

  • func (callback)

    xiに対する傾きを計算する関数

Returns:

  • (double)

    xi+hに対するyiの値



25
26
# File 'lib/num4diff.rb', line 25

attach_function :eulerMethod,
:CNum4Diff_eulerMethod, [:double, :double, :double, :f], :double

#f(xi) ⇒ double

Returns xiに対するyの値.

Parameters:

  • xi (double)

    xiの値

Returns:

  • (double)

    xiに対するyの値



14
# File 'lib/num4diff.rb', line 14

callback   :f, [:double], :double

#heunMethod(yi, xi, h, func) ⇒ double

ホイン法による数値計算

Parameters:

  • yi (double)

    xiに対するyiの値

  • xi (double)

    xiの値

  • h (double)

    刻み幅

  • func (callback)

    xiに対する傾きを計算する関数

Returns:

  • (double)

    xi+hに対するyiの値



35
36
# File 'lib/num4diff.rb', line 35

attach_function :heunMethod,
:CNum4Diff_heunMethod, [:double, :double, :double, :f], :double

#rungeKuttaMethod(yi, xi, h, func) ⇒ double

4次のルンゲ=クッタ法による数値計算

Parameters:

  • yi (double)

    xiに対するyiの値

  • xi (double)

    xiの値

  • h (double)

    刻み幅

  • func (callback)

    xiに対する傾きを計算する関数

Returns:

  • (double)

    xi+hに対するyiの値



46
47
# File 'lib/num4diff.rb', line 46

attach_function :rungeKuttaMethod,
:CNum4Diff_rungeKuttaMethod, [:double, :double, :double, :f], :double