num4mechaequ 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/num4mechaequ.rb +51 -7
- 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: 33f7db372d5c6d97cce0dfd47d9040d10178f575bc6394b84322079d96f605e6
|
4
|
+
data.tar.gz: a4ef6a9911a6ae1654c095def96600d283bf69e73657c0f39c8fbeb879e42090
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 014cabe8283d052239d19853b1591e2e981b2e1cc7c97a98d58d4d47439fc26393ec7f991d8c99628a8a5d448e6f86aa735b515ea5a40c816d339804497cb49b
|
7
|
+
data.tar.gz: de07a537f9ec64ee9046a6c84e758b3949916bc679fb851711ec00d01850b442bb53a6a46a85448cf62d3cb85c54002d4ce4fb6667b002828429f6a61d37c2cf
|
data/CHANGELOG.md
CHANGED
data/lib/num4mechaequ.rb
CHANGED
@@ -52,8 +52,8 @@ module Num4MechaEquLib
|
|
52
52
|
end
|
53
53
|
class << self
|
54
54
|
|
55
|
-
#
|
56
55
|
# 単振動(simple harmonic motion)
|
56
|
+
#
|
57
57
|
# @overload SHM(m, k, t, h0, v0)
|
58
58
|
# @param [double] m 重りの重さ
|
59
59
|
# @param [double] k バネ定数
|
@@ -61,6 +61,12 @@ module Num4MechaEquLib
|
|
61
61
|
# @param [double] h0 初期位置値
|
62
62
|
# @param [double] v0 初期速度
|
63
63
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
64
|
+
# @example
|
65
|
+
# m = 1.0
|
66
|
+
# k = 1.0
|
67
|
+
# h0 = 1.0
|
68
|
+
# v0 = 0.0
|
69
|
+
# yi_1 = Num4MechaEquLib.SHM(m, k, 2, h0, v0)
|
64
70
|
#
|
65
71
|
def SHM(m, k, t, h0, v0)
|
66
72
|
@w = Math.sqrt((k / m))
|
@@ -75,8 +81,8 @@ module Num4MechaEquLib
|
|
75
81
|
}
|
76
82
|
return hvt
|
77
83
|
end
|
78
|
-
#
|
79
84
|
# 自由落下による運動方程式(空気抵抗有り)
|
85
|
+
#
|
80
86
|
# @overload freeFallMotion(m, c, t, h0, v0)
|
81
87
|
# @param [double] m 重りの重さ
|
82
88
|
# @param [double] c 空気抵抗
|
@@ -84,6 +90,12 @@ module Num4MechaEquLib
|
|
84
90
|
# @param [double] h0 初期位置値
|
85
91
|
# @param [double] v0 初期速度
|
86
92
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
93
|
+
# @example
|
94
|
+
# m = 1.0
|
95
|
+
# c = 0.0
|
96
|
+
# h0 = 1.0
|
97
|
+
# v0 = 0.0
|
98
|
+
# yi_1 = Num4MechaEquLib.freeFallMotion(m, c, 2, h0, v0)
|
87
99
|
#
|
88
100
|
def freeFallMotion(m, c, t, h0, v0)
|
89
101
|
@w = c / m
|
@@ -99,8 +111,8 @@ module Num4MechaEquLib
|
|
99
111
|
return hvt
|
100
112
|
|
101
113
|
end
|
102
|
-
#
|
103
114
|
# 放物運動
|
115
|
+
#
|
104
116
|
# @overload projectileMotion(m, theta, t, h0, v0)
|
105
117
|
# @param [double] m 重りの重さ
|
106
118
|
# @param [double] theta 角度(ラジアン指定)
|
@@ -108,6 +120,10 @@ module Num4MechaEquLib
|
|
108
120
|
# @param [double] h0 初期位置値
|
109
121
|
# @param [double] v0 初期速度
|
110
122
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
123
|
+
# @example
|
124
|
+
# m = 1.0
|
125
|
+
# theta = 5 * Math::PI / 180.0
|
126
|
+
# yi_1 = Num4MechaEquLib.projectileMotion(m, theta, 2, 0.0, 3.0)
|
111
127
|
#
|
112
128
|
def projectileMotion(m, theta, t, h0, v0)
|
113
129
|
hvt = []
|
@@ -128,14 +144,20 @@ module Num4MechaEquLib
|
|
128
144
|
}
|
129
145
|
return hvt
|
130
146
|
end
|
131
|
-
#
|
132
147
|
# 等速円運動(Uniform Circular motion)
|
148
|
+
#
|
133
149
|
# @overload UCM(m, r, w, t)
|
134
150
|
# @param [double] m 重りの重さ
|
135
151
|
# @param [double] r 半径
|
136
152
|
# @param [double] w 角速度
|
137
153
|
# @param [double] t 時間
|
138
154
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
155
|
+
# @example
|
156
|
+
# m = 1.0
|
157
|
+
# r = 3
|
158
|
+
# w = 2
|
159
|
+
# yi_1 = Num4MechaEquLib.UCM(m, r, w, 2)
|
160
|
+
#
|
139
161
|
def UCM(m, r, w, t)
|
140
162
|
hvt = []
|
141
163
|
h = []
|
@@ -154,8 +176,8 @@ module Num4MechaEquLib
|
|
154
176
|
}
|
155
177
|
return hvt
|
156
178
|
end
|
157
|
-
#
|
158
179
|
# 振り子運動
|
180
|
+
#
|
159
181
|
# @overload pendulumMotion(m, l, t, h0, v0)
|
160
182
|
# @param [double] m 重りの重さ
|
161
183
|
# @param [double] l 糸の長さ
|
@@ -163,11 +185,18 @@ module Num4MechaEquLib
|
|
163
185
|
# @param [double] h0 初期位置値
|
164
186
|
# @param [double] v0 初期速度
|
165
187
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
188
|
+
# @example
|
189
|
+
# m = 1.0
|
190
|
+
# l = 10
|
191
|
+
# h0 = 1.0
|
192
|
+
# v0 = 0.0
|
193
|
+
# yi_1 = Num4MechaEquLib.pendulumMotion(m, l, 2, h0, v0)
|
194
|
+
#
|
166
195
|
def pendulumMotion(m, l, t, h0, v0)
|
167
196
|
return SHM(m, l, t, h0, v0)
|
168
197
|
end
|
169
|
-
#
|
170
198
|
# 減衰振動(damped harmonic motion)
|
199
|
+
#
|
171
200
|
# @overload DHM(m, k, b, t, h0, v0)
|
172
201
|
# @param [double] m 重りの重さ
|
173
202
|
# @param [double] k 比例定数
|
@@ -176,6 +205,13 @@ module Num4MechaEquLib
|
|
176
205
|
# @param [double] h0 初期位置値
|
177
206
|
# @param [double] v0 初期速度
|
178
207
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
208
|
+
# @example
|
209
|
+
# m = 1.0
|
210
|
+
# k = 1.0
|
211
|
+
# h0 = 1.0
|
212
|
+
# v0 = 0.0
|
213
|
+
# yi_1 = Num4MechaEquLib.DHM(m, k, 0.6, 2, h0, v0)
|
214
|
+
#
|
179
215
|
def DHM(m, k, b, t, h0, v0)
|
180
216
|
@l = 2 * m * b
|
181
217
|
@w = Math.sqrt((k / m))
|
@@ -190,8 +226,8 @@ module Num4MechaEquLib
|
|
190
226
|
}
|
191
227
|
return hvt
|
192
228
|
end
|
193
|
-
#
|
194
229
|
# 強制振動
|
230
|
+
#
|
195
231
|
# @overload forcedOscillation(m, k, w0, w, t, h0, v0)
|
196
232
|
# @param [double] m 重りの重さ
|
197
233
|
# @param [double] k 比例定数
|
@@ -201,6 +237,14 @@ module Num4MechaEquLib
|
|
201
237
|
# @param [double] h0 初期位置値
|
202
238
|
# @param [double] v0 初期速度
|
203
239
|
# @return [hash[]] 0秒からt秒までの位置(h)と速度(v)の値
|
240
|
+
# @example
|
241
|
+
# m = 1.0
|
242
|
+
# k = 1.0
|
243
|
+
# f0 = 2.5
|
244
|
+
# h0 = 1.0
|
245
|
+
# v0 = 0.0
|
246
|
+
# yi_1 = Num4MechaEquLib.forcedOscillation(m, k, 0.6, f0, 2, h0, v0)
|
247
|
+
#
|
204
248
|
def forcedOscillation(m, k, w0, w, t, h0, v0)
|
205
249
|
@w = Math.sqrt((k / m))
|
206
250
|
hvt = []
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: num4mechaequ
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.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-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: num4simdiff
|
@@ -45,7 +45,7 @@ licenses:
|
|
45
45
|
- MIT
|
46
46
|
metadata:
|
47
47
|
changelog_uri: http://github.com/siranovel/num4mechaequation/blob/main/CHANGELOG.md
|
48
|
-
documentation_uri: https://rubydoc.info/gems/num4mechaequ/0.1.
|
48
|
+
documentation_uri: https://rubydoc.info/gems/num4mechaequ/0.1.4
|
49
49
|
homepage_uri: http://github.com/siranovel/num4mechaequation
|
50
50
|
wiki_uri: https://github.com/siranovel/mydocs/tree/main/num4phyequation/num4mechaequation
|
51
51
|
post_install_message:
|