【问题标题】:how to concatenate Vectors in Eigen?如何在 Eigen 中连接向量?
【发布时间】:2014-10-30 17:29:20
【问题描述】:

我的程序中有两个vectorXd,我喜欢将它们连接成一个向量,这样第二个的值就在第一个之后,我发现这是矩阵,但它似乎不适用于向量:

Eigen how to concatenate matrix along a specific dimension?

【问题讨论】:

    标签: c++ eigen


    【解决方案1】:

    像这样,假设您已经拥有vec1vec2

    VectorXd vec_joined(vec1.size() + vec2.size());
    vec_joined << vec1, vec2;
    

    (请注意,向量类型只是被限制为只有一列的矩阵类型的 typedef。)

    延伸阅读:Advanced initialization

    【讨论】:

    • 上面第一行不应该是VectorXd vec_joined( vec1.rows() + vec2.rows() );吗?如果不首先初始化向量vec_joined,它将吐出断言失败...
    • 这种语法是否适用于两个以上的向量?例如,如果事先进行了适当的初始化:vec_joined &lt;&lt; vec1, vec2, vec3;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 2011-02-14
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多