Main Content

reshape

Remodelar un arreglo reordenando los elementos ya existentes

Descripción

ejemplo

B = reshape(A,sz) remodela A utilizando el vector de tamaño, sz, para definir size(B). Por ejemplo, reshape(A,[2,3]) remodela A en 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) remodela A como arreglo szN de sz1 por ... en el que sz1,...,szN indica el tamaño de cada dimensión. Puede especificar un tamaño de dimensión único de [] para que se calcule automáticamente el tamaño de dimensión, de manera 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,[]) remodela los 100 elementos de A como arreglo de 2 por 2 por 25.

Ejemplos

contraer todo

Remodele un vector de 1 por 10 como 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

Remodele una matriz cuadrada de 4 por 4 como matriz con 2 columnas. Especifique [] para la primera dimensión, a fin de permitir que reshape calcule automáticamente el número adecuado 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 en B también mantienen el orden por columnas de A.

Remodele un arreglo de 2 por 2 por 3 de valores aleatorios como una matriz de 6 por 2.

rng default
A = rand(2,2,3)
A = 
A(:,:,1) =

    0.8147    0.1270
    0.9058    0.9134


A(:,:,2) =

    0.6324    0.2785
    0.0975    0.5469


A(:,:,3) =

    0.9575    0.1576
    0.9649    0.9706

B = reshape(A,6,2)
B = 6×2

    0.8147    0.2785
    0.9058    0.5469
    0.1270    0.9575
    0.9134    0.9649
    0.6324    0.1576
    0.0975    0.9706

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.

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

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

Más allá de la segunda dimensión, la salida, B, no refleja las dimensiones posteriores 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 al menos un [] (opcional). Debe especificar al menos 2 tamaños de dimensiones, y al menos un tamaño de dimensión se debe especificar como [], lo que automáticamente calcula el tamaño de esa dimensión para asegurarse de que numel(B) coincida con numel(A). Cuando utiliza [] para calcular automáticamente un tamaño de dimensión, las dimensiones que especifica de forma explícita se deben dividir de modo uniforme en 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 posteriores 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

Arreglo remodelado, devuelto como vector, matriz, arreglo multidimensional o arreglo 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 mantienen el orden por columnas de A.

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

Sugerencias

  • La función reshape reordena los elementos ya existentes en los datos de entrada. Para añadir o eliminar elementos, utilice la función resize.

Capacidades ampliadas

Generación de código HDL
Genere código Verilog y VHDL para diseños FPGA y ASIC mediante HDL Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | |