如何将行和列动态添加到 Scala 中的 Breeze DenseMatrix

How to add rows and columns dynamically to a Breeze DenseMatrix in Scala

我正在使用以下值对矩阵进行硬编码:

val m = breeze.linalg.DenseMatrix((1, 4), (2, 5))
val v = breeze.linalg.DenseMatrix((7, 8), (3, 6))

我想通过读取列表将这些值插入到行和列中。

如果你有一个 rows:Seq[Seq[Double]],其中外部 ~eq 中的每个条目都是一行:

DenseMatrix(rows:_*)

如果您提前知道矩阵维度,并且每个维度都有 DenseVectors row/column)

val dm = DenseMatrix.zeros[Double](rows, cols)
dm(::, c) := myColDenseVector
dm(r, ::) := myRowDenseVector.t

或者,如果你有一堆 DenseVectors,你可以说:DenseVector.horzcat(columns:_*)

这是我发现的:

val x =  new DenseMatrix(2, 3, Array(11, 12, 13, 21, 22, 23))

通过切掉数组中指定的数字 2 和 3 得到 2 行 3 列的矩阵。

结果是:

11  13  22
12  21  23