num4diff 0.5.3 → 0.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/lib/num4diff.rb +40 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90668160b1ac15b0d49e6cff8f558bb9b87173e545f392fda84fb05932e5dba3
|
4
|
+
data.tar.gz: c476a5eb4315a1b4707137912f0aa419016b9736393f07579f15542741d22706
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd2fbd09714a28fc84fe3eb1790b1e2ca05e33250b5d6c76bc25c0ff2112cd0e08920e8645830daf84fc681f5c1f9be16e98f32da0aae1d053eebb8ecbc8950c
|
7
|
+
data.tar.gz: d7c9925ba9a1923a8904e634579dc0a020911bcb7edf092f050f51482fc5aa8c2d06ce0b9d949e4ac97ef70748a294a3acf2c9b6f9a22cfa328917d604713de7
|
data/CHANGELOG.md
CHANGED
data/lib/num4diff.rb
CHANGED
@@ -15,39 +15,57 @@ module Num4DiffLib
|
|
15
15
|
# @return [double] xiに対するyの値
|
16
16
|
callback :f, [:double], :double
|
17
17
|
|
18
|
-
#
|
19
18
|
# オイラー法による数値計算
|
19
|
+
#
|
20
20
|
# @overload eulerMethod(yi, xi, h, func)
|
21
|
-
# yi_1 = eulerMethod(yi, xi, h, func)
|
22
21
|
# @param [double] yi xiに対するyiの値
|
23
22
|
# @param [double] xi xiの値
|
24
23
|
# @param [double] h 刻み幅
|
25
24
|
# @param [callback] func xiに対する傾きを計算する関数
|
26
25
|
# @return [double] xi+hに対するyi_1の値
|
26
|
+
# @example
|
27
|
+
# yi = 1.0
|
28
|
+
# h = v
|
29
|
+
# func = Proc.new{|x|
|
30
|
+
# 1.0 + @a * x
|
31
|
+
# }
|
32
|
+
# yi_1 = Num4DiffLib::eulerMethod(yi, 0.0, h, func)
|
27
33
|
#
|
28
34
|
attach_function :eulerMethod,
|
29
35
|
:CNum4Diff_Tier_eulerMethod, [:double, :double, :double, :f], :double
|
30
|
-
#
|
31
36
|
# ホイン法による数値計算
|
37
|
+
#
|
32
38
|
# @overload heunMethod(yi, xi, h, func)
|
33
|
-
# yi_1 = heunMethod(yi, xi, h, func)
|
34
39
|
# @param [double] yi xiに対するyiの値
|
35
40
|
# @param [double] xi xiの値
|
36
41
|
# @param [double] h 刻み幅
|
37
42
|
# @param [callback] func xiに対する傾きを計算する関数
|
38
43
|
# @return [double] xi+hに対するyi_1の値
|
44
|
+
# @example
|
45
|
+
# yi = 1.0
|
46
|
+
# h = v
|
47
|
+
# func = Proc.new{|x|
|
48
|
+
# 1.0 + @a * x
|
49
|
+
# }
|
50
|
+
# yi_1 = Num4DiffLib::heunMethod(yi, 0.0, h, func)
|
39
51
|
#
|
40
52
|
attach_function :heunMethod,
|
41
53
|
:CNum4Diff_Tier_heunMethod, [:double, :double, :double, :f], :double
|
42
|
-
#
|
43
54
|
# 4次のルンゲ=クッタ法による数値計算
|
55
|
+
#
|
44
56
|
# @overload rungeKuttaMethod(yi, xi, h, func)
|
45
|
-
# yi_1 = rungeKuttaMethod(yi, xi, h, func)
|
46
57
|
# @param [double] yi xiに対するyiの値
|
47
58
|
# @param [double] xi xiの値
|
48
59
|
# @param [double] h 刻み幅
|
49
60
|
# @param [callback] func xiに対する傾きを計算する関数
|
50
61
|
# @return [double] xi+hに対するyi_1の値
|
62
|
+
# @example
|
63
|
+
# yi = 1.0
|
64
|
+
# h = v
|
65
|
+
# func = Proc.new{|x|
|
66
|
+
# 1.0 + @a * x
|
67
|
+
# }
|
68
|
+
# yi_1 = Num4DiffLib::rungeKuttaMethod(yi, 0.0, h, func)
|
51
69
|
#
|
52
70
|
attach_function :rungeKuttaMethod,
|
53
71
|
:CNum4Diff_Tier_rungeKuttaMethod, [:double, :double, :double, :f], :double
|
@@ -61,12 +79,19 @@ module Num4DiffLib
|
|
61
79
|
# @param [double] h 刻み幅
|
62
80
|
# @param [callback] func xiに対する傾きを計算する関数
|
63
81
|
# @return [double] [a,b]の積分値
|
82
|
+
# @example
|
83
|
+
# yi = 1.0
|
84
|
+
# h = v
|
85
|
+
# func = Proc.new{|x|
|
86
|
+
# 1.0 + @a * x
|
87
|
+
# }
|
88
|
+
# yi_1 = Num4DiffLib::adamsBashforthMethod(2, 0, 1, yi, h, func)
|
64
89
|
#
|
65
90
|
attach_function :adamsBashforthMethod,
|
66
91
|
:CNum4Diff_Multistage_adamsBashforthMethod, [:int, :double, :double, :double, :double, :f], :double
|
67
|
-
#
|
68
92
|
# アダムス・ムルトン法(k段)による数値計算
|
69
|
-
#
|
93
|
+
#
|
94
|
+
# @overload adamsMoultonMethod(k, a, b, y0, h, func)
|
70
95
|
# @param [int] k k段アダムス法
|
71
96
|
# @param [double] a 下限値
|
72
97
|
# @param [double] b 上限値
|
@@ -74,6 +99,13 @@ module Num4DiffLib
|
|
74
99
|
# @param [double] h 刻み幅
|
75
100
|
# @param [callback] func xiに対する傾きを計算する関数
|
76
101
|
# @return [double] [a,b]の積分値
|
102
|
+
# @example
|
103
|
+
# yi = 1.0
|
104
|
+
# h = v
|
105
|
+
# func = Proc.new{|x|
|
106
|
+
# 1.0 + @a * x
|
107
|
+
# }
|
108
|
+
# yi_1 = Num4DiffLib::adamsMoultonMethod(2, 0, 1, yi, h, func)
|
77
109
|
#
|
78
110
|
attach_function :adamsMoultonMethod,
|
79
111
|
:CNum4Diff_Multistage_adamsMoultonMethod, [:int, :double, :double, :double, :double, :f], :double
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: num4diff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- siranovel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi-compiler
|
@@ -69,7 +69,7 @@ licenses:
|
|
69
69
|
- MIT
|
70
70
|
metadata:
|
71
71
|
changelog_uri: http://github.com/siranovel/num4different/blob/main/CHANGELOG.md
|
72
|
-
documentation_uri: https://rubydoc.info/gems/num4diff/0.5.
|
72
|
+
documentation_uri: https://rubydoc.info/gems/num4diff/0.5.4
|
73
73
|
homepage_uri: http://github.com/siranovel/num4different
|
74
74
|
wiki_uri: https://github.com/siranovel/mydocs/tree/main/num4different
|
75
75
|
post_install_message:
|