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.
Repetir copias de array
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 repmat | Alternativa 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)) |