Techioz Blog

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 に感謝します。