Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# reshape

## Syntax

``B = reshape(A,sz)``
``B = reshape(A,sz1,...,szN)``

## Description

example

````B = reshape(A,sz)` reshapes `A` using the size vector, `sz`, to define `size(B)`. For example, `reshape(A,[2,3])` reshapes `A` into a 2-by-3 matrix. `sz` must contain at least 2 elements, and `prod(sz)` must be the same as `numel(A)`.```

example

````B = reshape(A,sz1,...,szN)` reshapes `A` into a `sz1`-by-`...`-by-`szN` array where `sz1,...,szN` indicates the size of each dimension. You can specify a single dimension size of `[]` to have the dimension size automatically calculated, such that the number of elements in `B` matches the number of elements in `A`. For example, if `A` is a 10-by-10 matrix, then `reshape(A,2,2,[])` reshapes the 100 elements of `A` into a 2-by-2-by-25 array.```

## Examples

collapse all

Reshape a 1-by-10 vector into a 5-by-2 matrix.

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

Reshape a 4-by-4 square matrix into a matrix that has 2 columns. Specify `[]` for the first dimension to let `reshape` automatically calculate the appropriate number of rows.

`A = magic(4)`
```A = 4×4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 ```
`B = reshape(A,[],2)`
```B = 8×2 16 3 5 10 9 6 4 15 2 13 11 8 7 12 14 1 ```

The result is an 8-by-2 matrix, which maintains the same number of elements as the original matrix. The elements in `B` also maintain their columnwise order from `A`.

Reshape a 3-by-2-by-3 array of zeros into a 9-by-2 matrix.

```A = zeros(3,2,3); B = reshape(A,9,2)```
```B = 9×2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ```

## Input Arguments

collapse all

Input array, specified as a vector, matrix, or multidimensional array.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `string` | `cell` | `datetime` | `duration` | `calendarDuration`
Complex Number Support: Yes

Output size, specified as a row vector of integers. Each element of `sz` indicates the size of the corresponding dimension in `B`. You must specify `sz` so that the number of elements in `A` and `B` are the same. That is, `prod(sz)` must be the same as `numel(A)`.

Beyond the second dimension, the output, `B`, does not reflect trailing dimensions with a size of `1`. For example, `reshape(A,[3,2,1,1])` produces a 3-by-2 matrix.

Example: `reshape(A,[3,2])`

Example: `reshape(A,[6,4,10])`

Example: `reshape(A,[5,5,5,5])`

Size of each dimension, specified as two or more integers with at most one `[]` (optional). You must specify at least 2 dimension sizes, and at most one dimension size can be specified as `[]`, which automatically calculates the size of that dimension to ensure that `numel(B)` matches `numel(A)`. When you use `[]` to automatically calculate a dimension size, the dimensions that you do explicitly specify must divide evenly into the number of elements in the input matrix, `numel(A)`.

Beyond the second dimension, the output, `B`, does not reflect trailing dimensions with a size of `1`. For example, `reshape(A,3,2,1,1)` produces a 3-by-2 matrix.

Example: `reshape(A,3,2)`

Example: `reshape(A,6,[],10)`

Example: `reshape(A,2,5,3,[])`

Example: `reshape(A,5,5,5,5)`

## Output Arguments

collapse all

Reshaped array, returned as a vector, matrix, multidimensional array, or cell array. The data type and number of elements in `B` are the same as the data type and number of elements in `A`. The elements in `B` preserve their columnwise ordering from `A`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `string` | `cell` | `datetime` | `duration` | `calendarDuration`

Download eBook