0

我正在寻找一种从 boost::ublas 中给定的 1xm 向量定义 nxm 矩阵的方法。我尝试以下代码

boost::numeric::ublas::vector<double> v(100);
boost::numeric::ublas::matrix<double> m(10, 100);
std::copy(v.begin(), v.end(), m.begin2());

但这只会将向量复制到矩阵的第一行。我想要的是将 v 复制到行,以便 M 的每一行与 v 相同。所以除了循环每一行并运行复制 10 次之外,还有更好的方法吗?谢谢。

4

1 回答 1

0

没有循环,你可以这样做:

m = outer_prod(scalar_vector<double>(10, 1), v);

虽然它可能不是最优化的,性能方面。

于 2012-06-21T11:59:57.887 回答