¿Hay alguna forma de extender un vector haciéndolo repetirse?
>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
Entonces v10 sería:
>v10
1 2 1 2 1 2 1 2 1 2
Esto debería funcionar para el caso general, no solo para [1 2]
v=[1 2]
yv100=kron(ones(1,100),v)
es el vectorv100=[v v ... v]
(100 veces). Si desea concatenar algún vector de columnay
consigo mismoK
tiempos, useyK=kron(ones(K,1),y)
.Respuestas:
La función que está buscando es
repmat()
.fuente
Obviamente, repmat es el camino a seguir si sabe en qué dirección desea expandir el vector.
Sin embargo, si desea una solución general que siempre repita el vector en la dirección más larga, esta combinación de repmat e indexación debería funcionar:
fuente