Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

reshape

Reformular un array

Sintaxis

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

Descripción

ejemplo

B = reshape(A,sz) reformula A utilizando el vector de tamaño, sz, para definir size(B). Por ejemplo, reshape(A,[2,3]) reformula A como una matriz de 2 por 3. sz debe contener al menos 2 elementos y prod(sz) debe ser igual que numel(A).

ejemplo

B = reshape(A,sz1,...,szN) reformula A como un array de sz1 por ... por szN, donde sz1,...,szN indica el tamaño de cada dimensión. Puede especificar un único tamaño de dimensión de [] para que el tamaño de la dimensión se calcule automáticamente, de forma que el número de elementos de B coincida con el número de elementos de A. Por ejemplo, si A es una matriz de 10 por 10, reshape(A,2,2,[]) reformula los 100 elementos de A en un array de 2 por 2 por 25.

Ejemplos

contraer todo

Reformular un vector de 1 por 10 como una matriz de 5 por 2.

A = 1:10;
B = reshape(A,[5,2])
B = 5×2

     1     6
     2     7
     3     8
     4     9
     5    10

Reformule una matriz cuadrada de 4 por 4 como una matriz con 2 columnas. Especifique [] para la primera dimensión de forma que reshape pueda calcular automáticamente el número apropiado de filas.

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

El resultado es una matriz de 8 por 2 que mantiene el mismo número de elementos que la matriz original. Los elementos de B también mantienen la ordenación de columnas de A.

Reformule un array de 3 por 2 por 3 de ceros como una matriz de 9 por 2.

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

Argumentos de entrada

contraer todo

Array de entrada, especificado como vector, matriz o array multidimensional.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration
Soporte de números complejos:

Tamaño de la salida, especificado como un vector de fila de números enteros. Cada elemento de sz indica el tamaño de la dimensión correspondiente en B. Debe especificar sz para que el número de elementos de A y B sea el mismo. Es decir, prod(sz) debe ser igual que numel(A).

Más allá de la segunda dimensión, la salida, B, no refleja las dimensiones finales con un tamaño de 1. Por ejemplo, reshape(A,[3,2,1,1]) produce una matriz de 3 por 2.

Ejemplo: reshape(A,[3,2])

Ejemplo: reshape(A,[6,4,10])

Ejemplo: reshape(A,[5,5,5,5])

Tamaño de cada dimensión, especificado como dos o más enteros con un máximo de un [] (opcional). Debe especificar al menos 2 tamaños de dimensión y, como máximo, un tamaño de dimensión se puede especificar como [], que calcula automáticamente el tamaño de esa dimensión para garantizar que numel(B) coincida con numel(A). Cuando se utiliza [] para calcular automáticamente el tamaño de una dimensión, las dimensiones que especifique explícitamente deben dividirse uniformemente entre el número de elementos de la matriz de entrada, numel(A).

Más allá de la segunda dimensión, la salida, B, no refleja las dimensiones finales con un tamaño de 1. Por ejemplo, reshape(A,3,2,1,1) produce una matriz de 3 por 2.

Ejemplo: reshape(A,3,2)

Ejemplo: reshape(A,6,[],10)

Ejemplo: reshape(A,2,5,3,[])

Ejemplo: reshape(A,5,5,5,5)

Argumentos de salida

contraer todo

Array reformulado, devuelto como vector, matriz, array multidimensional o array de celdas. El tipo de datos y el número de elementos de B son los mismos que el tipo de datos y el número de elementos de A. Los elementos de B conservan la ordenación de columnas de A.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration

Capacidades ampliadas

Consulte también

| | | |

Introducido antes de R2006a