2012-03-14 16 views

答えて

4

これを行うことは、(私が知る限り)有効な行列演算を数学的な意味で行うものではないので、これを実行することは何もない。あなたはしかし、新しいマトリックスを作成することができます。

m = Matrix.diagonal(1, 2, 3) 
#=> Matrix[[1, 0, 0], [0, 2, 0], [0, 0, 3]] 

Matrix.columns(m.to_a << [4, 5, 6]) 
#=> Matrix[[1, 0, 0, 4], [0, 2, 0, 5], [0, 0, 3, 6]] 

Matrix.rows(m.to_a << [4, 5, 6]) 
#=> Matrix[[1, 0, 0], [0, 2, 0], [0, 0, 3], [4, 5, 6]] 

は、これは元の行列の配列表現に新しい配列 を追加することによって、新しい行列を作成するためにcolumnsまたはrowsを使用しています。

+3

小さな提案:行列が斜め対称であるため、列の追加の例が機能します。 Matrix.columns(m.transpose.to_a << [4,5,6])にアイテムを並べ替えることなくカラムを追加したいと思う。 – Billiam

関連する問題