【问题标题】:Matlab: Extend a matrix by extending its vectorsMatlab:通过扩展矩阵来扩展矩阵
【发布时间】:2014-07-19 10:37:21
【问题描述】:

我有一个dxmxn矩阵A(解释:对于每个n,都有m维向量d)。我想将每个 d 维向量扩展如下:

考虑一个维度为 d 的向量 v:(1,2,...,d)(它是 (x_1,x_2,...,x_d),但为了简单起见,我删除了“x_”)。目标是扩展v 以获得d*d 形式的向量:

(1,1,...,1,2,...,2,...,d,d,...,d)

有人可以建议我一个快速的方法吗? (我猜在每次迭代中使用循环并扩展每个向量非常慢。)

提前感谢您的帮助。

【问题讨论】:

    标签: arrays matlab vector matrix multidimensional-array


    【解决方案1】:

    该死!

    reshape(permute(repmat(permute(A,[1 4 2 3]),[1 d]),[ 2 1 3 4]),d*d,m,n)
    

    【讨论】:

      【解决方案2】:
      reshape(A(ceil(1/d:1/d:numel(A))), d^2,m,n)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-07
        • 2018-09-05
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多