【问题标题】:Vector to matrix in Octave八度音阶中的向量到矩阵
【发布时间】:2012-05-03 13:27:31
【问题描述】:

Octave 中vec 的逆运算是什么?

例如如果我需要将 12x1 向量转换为 3x4 矩阵,我该怎么办?

【问题讨论】:

    标签: octave


    【解决方案1】:

    我不知道 Octave,但我认为您正在寻找 reshape

    — 内置函数:reshape (A, m, n, ...)
    — 内置 功能:重塑 (A, [m n ...])
    — 内置功能: 重塑A, ..., [], ...
    — 内置函数:reshape (A, size)

    返回具有指定维度 (m, n, ...) 的矩阵,其元素取自矩阵 A。矩阵的元素按列优先顺序访问(如 Fortran数组被存储)。

    以下代码演示了将 1x4 行向量重塑为 2x2 方阵。

          reshape ([1, 2, 3, 4], 2, 2)
               ⇒  1  3
                   2  4
    

    请注意,原始矩阵中的元素总数 (prod (size (A))) 必须与新矩阵中的元素总数 (prod ([mn ...])) 匹配。

    返回矩阵的单个维度可能未指定,Octave 将自动确定其大小。空矩阵 ([]) 用于标记未指定的维度。

    【讨论】:

    • The elements of the matrix are accessed in column-major order (like Fortran arrays are stored). 如果我需要将值按行主要顺序放置怎么办?
    • @Andre:首先将它们按列优先顺序排列,然后转置矩阵(使用后缀运算符.')。如果不复制数据,您将无法执行此操作。
    • @Andre This works in Matlab,也应该在 Octave 中工作。
    猜你喜欢
    • 1970-01-01
    • 2021-04-23
    • 2022-08-15
    • 1970-01-01
    • 2013-10-25
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    相关资源
    最近更新 更多