## RESHAPE Reshape An Array

Section: Array Generation and Manipulations

### Usage

Reshapes an array from one size to another. Two seperate syntaxes are possible. The first syntax specifies the array dimensions as a sequence of scalar dimensions:

       y = reshape(x,d1,d2,...,dn).

The resulting array has the given dimensions, and is filled with the contents of `x`. The type of `y` is the same as `x`. The second syntax specifies the array dimensions as a vector, where each element in the vector specifies a dimension length:

       y = reshape(x,[d1,d2,...,dn]).

This syntax is more convenient for calling `reshape` using a variable for the argument. The `reshape` function requires that the length of `x` equal the product of the `di` values. Note that arrays are stored in column format, which means that elements in `x` are transferred to the new array `y` starting with the first column first element, then proceeding to the last element of the first column, then the first element of the second column, etc.

### Example

Here are several examples of the use of `reshape` applied to various arrays. The first example reshapes a row vector into a matrix.

    --> a = uint8(1:6)
    a =
      <uint8>  - size: [1 6]

    Columns 1 to 6
     1  2  3  4  5  6
    --> reshape(a,2,3)
    ans =
      <uint8>  - size: [2 3]

    Columns 1 to 3
     1  3  5
     2  4  6

The second example reshapes a longer row vector into a volume with two planes.

    --> a = uint8(1:12)
    a =
      <uint8>  - size: [1 12]

    Columns 1 to 12
      1   2   3   4   5   6   7   8   9  10  11  12
    --> reshape(a,[2,3,2])
    ans =
      <uint8>  - size: [2 3 2]
    (:,:,1) =

    Columns 1 to 3
      1   3   5
      2   4   6
    (:,:,2) =

    Columns 1 to 3
      7   9  11
      8  10  12

The third example reshapes a matrix into another matrix.

    --> a = [1,6,7;3,4,2]
    a =
      <int32>  - size: [2 3]

    Columns 1 to 3
     1  6  7
     3  4  2
    --> reshape(a,3,2)
    ans =
      <int32>  - size: [3 2]

    Columns 1 to 2
     1  4
     3  7
     6  2