Module: Num4DiffLib

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

Overview

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

Instance Method Summary collapse

Instance Method Details

#adamsBashforthMethod(k, a, b, y0, h, func) ⇒ double

アダムス・バッシュフォース法(k段)による数値計算



65
66
# File 'lib/num4diff.rb', line 65

attach_function :adamsBashforthMethod,
:CNum4Diff_Multistage_adamsBashforthMethod, [:int, :double, :double, :double, :double, :f], :double

#adamsMoultonMethod(k, a, b, y0, xi, h, func) ⇒ double

アダムス・ムルトン法(k段)による数値計算



78
79
# File 'lib/num4diff.rb', line 78

attach_function :adamsMoultonMethod,
:CNum4Diff_Multistage_adamsMoultonMethod, [:int, :double, :double, :double, :double, :f], :double

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

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

yi_1 = eulerMethod(yi, xi, h, func)



28
29
# File 'lib/num4diff.rb', line 28

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

#f(xi) {|x| ... } ⇒ double

dy = f(xi)

Yields:

  • (x)

    dy = f(x)

Yield Parameters:

  • xi (double)

    xiの値



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

callback   :f, [:double], :double

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

ホイン法による数値計算

yi_1 = heunMethod(yi, xi, h, func)



40
41
# File 'lib/num4diff.rb', line 40

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

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

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

yi_1 = rungeKuttaMethod(yi, xi, h, func)



52
53
# File 'lib/num4diff.rb', line 52

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