Бриз - Примените функции к DenseVector, чтобы получить DenseMatrix - PullRequest
2 голосов
/ 13 января 2020

Учитывая некоторый вектор чисел, я хочу применить другую функцию к вектору и получить матрицу результатов. Есть ли идиоматический c способ сделать это на ветер?

import breeze.linalg._
val dv = DenseMatrix(0.0, 5.0, 6.0, 3.0, 7.0)
val someOpDef = Seq(2.0, 3.0)
val resultButWrongFormat = for (i <- someOpDef) yield dv - i
resultButWrongFormat.reduce(DenseMatrix.horzcat(_, _))

Это создает DenseMatrix, но он выглядит неуклюжим против синтаксиса Matlab.

import breeze.linalg._
dv: breeze.linalg.DenseMatrix[Double] =
0.0      5.0     6.0     3.0     7.0 

someOpDef: Seq[Double] = List(2.0, 3.0)

res0: breeze.linalg.DenseMatrix[Double] =
-2.0  -3.0
3.0   2.0
4.0   3.0
1.0   0.0
5.0   4.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...