【问题标题】:C++ Armadillo reshape a matrix with only one dimension sizeC ++犰狳重塑只有一维大小的矩阵
【发布时间】:2017-08-08 16:14:36
【问题描述】:

使用Armadillo,当我只指定一个维度大小时如何重塑矩阵?

Matlab documentation 中有这样的功能示例:

将 6×6 幻方矩阵重塑为只有 3 列。指定 [] 作为第一个维度大小以进行整形 自动计算适当的行数。

A = magic(6);
B = reshape(A,[],3);

结果是一个 12×3 矩阵,它保持相同数量的 元素 (36) 作为原始 6×6 矩阵。 B中的元素也 保持从 A 开始的列顺序。

犰狳如何做到这一点?

【问题讨论】:

  • 我想我只需要使用第一个矩阵的大小/形状和第二个矩阵中维度的已知大小进行计算。

标签: c++ armadillo


【解决方案1】:

您可以使用.size() 获取矩阵的元素总数并自己计算维度。 示例:

B = reshape(A, A.size()/3, 3);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多