【问题标题】:define a boost::ublas matrix with a given vector用给定的向量定义一个 boost::ublas 矩阵
【发布时间】:2012-05-21 04:57:08
【问题描述】:

我正在寻找一种从 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 次之外,这是更好的方法吗?谢谢。

【问题讨论】:

    标签: c++ matrix ublas


    【解决方案1】:

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

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

    虽然它可能不是最佳的,但在性能方面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      相关资源
      最近更新 更多