How do I resize a matrix in MATLAB?

后端 未结 3 1918
旧时难觅i
旧时难觅i 2020-11-28 16:48

Suppose I had a 1-by-12 matrix and I wanted to resize it to a 4-by-3 matrix. How could I do this?

My current solution is kind of ug

3条回答
  •  执念已碎
    2020-11-28 17:13

    reshape is of course the proper solution, as stated by @gnovice.

    A nice feature of reshape is that it allows this:

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

    So if you don't know how many columns there will be, reshape will compute it for you. Likewise, reshape will fill in the number of rows, if you leave that out.

    C = reshape(A,[],4)
    C =
         1     4     7    10
         2     5     8    11
         3     6     9    12
    

提交回复
热议问题