【问题标题】:copy in a row manner in Matlab or reshaping dimension在Matlab中以行方式复制或重塑维度
【发布时间】:2013-03-05 06:04:25
【问题描述】:

我有一个 5 x 2611 + 1 悬空矩阵,我想从同一个矩阵 96x136 矩阵中获取 我在想的是复制每一行,直到它完成 136 等等。但是,我不知道从哪里开始,也不知道哪个功能最适合这个技巧。 例如:

 [2 3 5 6 7;
 8 9.555 10.888 20.888 3.5;
 .........................;
  ......................   5]

所以矩阵看起来像 5*2611 + 1 我知道垫子不会在一行一列中接受它,因为上面的尺寸是 2611*5 最后我有最后一个元素

以连续方式改变它 成为 2 3 5 6 7 8 9.555 10.888 20.888 3.5 ........ 5 直到 136 列结束 并以相同的顺序开始新的一行。

【问题讨论】:

    标签: arrays matlab matrix


    【解决方案1】:

    你需要使用转置和reshape:

    A = [ 2 3 5 6 7 8;...
          9 10 11 12 13];
    B = reshape( A.', [3 4] ).';
    

    B 的大小为 [4 3],其中元素根据 Arow 堆叠排序。

    【讨论】:

      【解决方案2】:

      如果您有一个由5*2611 元素组成的矩阵,您可以:

      1. 将其重新整形为一行向量,例如vec1 = reshape(mat1',1,5*2611)
      2. 附加附加值,例如vec1 = [vec1 dangler]
      3. 再次整形为矩阵mat2 = reshape(vec1,96,136)

      而且,如果我的转置正确,你就有了你正在寻找的矩阵。如果我没有得到正确的转置,@Shai 会过来纠正我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-21
        • 1970-01-01
        • 1970-01-01
        • 2013-08-09
        • 1970-01-01
        • 2022-07-26
        • 2017-09-05
        相关资源
        最近更新 更多