0

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

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

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

以行方式将其更改为 2 3 5 6 7 8 9.555 10.888 20.888 3.5 ........ 5 直到 136 列的末尾并以相同的顺序开始新行。

4

2 回答 2

2

如果你有一个5*2611元素矩阵,你可以:

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

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

于 2013-03-05T11:50:27.177 回答
2

您需要使用转置和reshape

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

B大小为 [4 3 ],元素根据A.

于 2013-03-05T06:15:29.903 回答