Как добавить столбцы и строки в матрицу в Ruby? - PullRequest
2 голосов
/ 15 марта 2012

Если у меня есть существующая матрица в Ruby, как я могу добавить столбец или строку новых данных?

Что я хочу сделать, это примерно так:

require 'Matrix'
my_matrix = Matrix.diagonal(1,2,3)
my_matrix.append_row!([3,2,1])
my_matrix.append_column!([3,2,1])

Есть ли способ сделать это?

1 Ответ

5 голосов
/ 15 марта 2012

Поскольку выполнение этого (насколько я знаю) не является допустимой матричной операцией в математическом смысле, делать это нечем. Вы можете создать новую Матрицу, хотя:

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 для создания новой матрицы путем добавления нового массива к представлению массива исходной матрицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...