Rubyでベクトル加算を実行するにはどうすればよいですか?
概要
Ruby でベクトル加算を実行するにはどうすればよいですか?
[100, 100] + [2, 3]
収量
[102, 103]
(2 つの配列を結合する代わりに)?
または、次のような別の演算子にすることもできます。
[100, 100] @ [2, 3]
または
[100, 100] & [2, 3]
解決策
Vector クラスを参照してください。
require "matrix"
x = Vector[100, 100]
y = Vector[2, 3]
print x + y
E:\Home> ruby t.rb
Vector[102, 103]
ベクトルに対するその他の操作については、vectorops を参照してください。
v1 = Vector[1,1,1,0,0,0]
v2 = Vector[1,1,1,1,1,1]
v1[0..3]
# -> Vector[1,1,1]
v1 += v2
# -> v1 == Vector[2,2,2,1,1,1]
v1[0..3] += v2[0..3]
# -> v1 == Vector[2,2,2,0,0,0]
v1 + 2
# -> Vector[3,3,3,1,1,1]
ベクターオプスも参照してください。
Ruby 3.1.0 以降、matrix はデフォルトの gem ではなくなったことに注意してください。このことについて言及してくれた Dan Murphy に感謝します。