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.

repmat

Repetir copias de array

Descripción

ejemplo

B = repmat(A,n) devuelve una matriz que contiene n copias de A en las cotas de fila y columna. El tamaño de B es size(A)*n cuando A es una matriz.

ejemplo

B = repmat(A,r1,...,rN) especifica una lista de escalares, r1,..,rN, que describe cómo se organizan copias de A en cada dimensión. Cuando A tiene dimensiones N , el tamaño de B es size(A).*[r1...rN]. Por ejemplo, repmat([1 2; 3 4],2,3) devuelve una matriz de 4 por 6.

ejemplo

B = repmat(A,r) especifica el esquema de repetición con el vector de fila r. Por ejemplo, repmat(A,[2 3]) devuelve el mismo resultado que repmat(A,2,3).

Ejemplos

contraer todo

Repita copias de una matriz en un arreglo de bloque de 2 por 2.

A = diag([100 200 300])
A = 3×3

   100     0     0
     0   200     0
     0     0   300

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

   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300
   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300

Repita copias de una matriz en un arreglo de bloque de 2 por 3.

A = diag([100 200 300])
A = 3×3

   100     0     0
     0   200     0
     0     0   300

B = repmat(A,2,3)
B = 6×9

   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300
   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300

Repita las copias de una matriz en un arreglo de bloque de 2 por 3 por 2.

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = repmat(A,[2 3 2])
B = 
B(:,:,1) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4


B(:,:,2) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4

Apilar verticalmente un vector de fila cuatro veces.

A = 1:4;
B = repmat(A,4,1)
B = 4×4

     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4

Apilar horizontalmente un vector de columna cuatro veces.

A = (1:3)';  
B = repmat(A,1,4)
B = 3×4

     1     1     1     1
     2     2     2     2
     3     3     3     3

Cree una tabla con las variables Age y Height.

A = table([39; 26],[70; 63],'VariableNames',{'Age' 'Height'})
A=2×2 table
    Age    Height
    ___    ______

    39       70  
    26       63  

Repita las copias de la tabla en un formato de bloque de 2 por 3.

B = repmat(A,2,3)
B=4×6 table
    Age    Height    Age_1    Height_1    Age_2    Height_2
    ___    ______    _____    ________    _____    ________

    39       70       39         70        39         70   
    26       63       26         63        26         63   
    39       70       39         70        39         70   
    26       63       26         63        26         63   

repmat repite las entradas de la tabla y anexa un número a los nuevos nombres de variable.

Argumentos de entrada

contraer todo

Array de entrada, especificado como escalar, Vector, matriz o matriz multidimensional.

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

Número de veces para repetir la matriz de entrada en las cotas de fila y columna, especificada como un valor entero. Si n es 0 o negativo, el resultado es una matriz vacía.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Factores de repetición para cada dimensión, especificados como argumentos separados de valores enteros. Si cualquier factor de repetición es 0 o negativo, el resultado es una matriz vacía.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vector de factores de repetición para cada dimensión, especificado como un vector de fila de valores enteros. Si cualquier valor de r es 0 o negativo, el resultado es una matriz vacía.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Sugerencias

  • Para crear matrices de bloques formando el producto tensor de la entrada con una matriz de unos, utilice kron. Por ejemplo, para apilar el vector de fila A = 1:3 cuatro veces verticalmente, puede utilizar B = kron(A,ones(4,1)).

  • Para crear matrices de bloques y realizar una operación binaria en una sola pasada, utilice bsxfun. En algunos casos, bsxfun proporciona una solución más sencilla y más eficiente en memoria. Por ejemplo, para agregar los vectores A = 1:5 y B = (1:10)' para producir un arreglo de discos de 10 por 5, utilice bsxfun(@plus,A,B) en lugar de repmat(A,10,1) + repmat(B,1,5).

  • Cuando A es un escalar de un tipo determinado, puede utilizar otras funciones para obtener el mismo resultado que repmat.

    Sintaxis de repmatAlternativa equivalente
    repmat(NaN,m,n)NaN(m,n)
    repmat(single(inf),m,n)inf(m,n,'single')
    repmat(int8(0),m,n)zeros(m,n,'int8')
    repmat(uint32(1),m,n)ones(m,n,'uint32')
    repmat(eps,m,n)eps(ones(m,n))

Capacidades ampliadas

Consulte también

| | | | |

Introducido antes de R2006a