Existe uma maneira de estender um vetor fazendo com que ele se repita?
>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
Então v10 seria:
>v10
1 2 1 2 1 2 1 2 1 2
Isso deve funcionar para o caso geral, não apenas para [1 2]
v=[1 2]
ev100=kron(ones(1,100),v)
é o vetorv100=[v v ... v]
(100 vezes). Se você quiser concatenar algum vetor-colunay
com ele mesmoK
, useyK=kron(ones(K,1),y)
.Respostas:
A função que você está procurando é
repmat()
.fonte
Obviamente, repmat é o caminho a percorrer se você souber em qual direção deseja expandir o vetor.
No entanto, se você deseja uma solução geral que sempre repete o vetor na direção mais longa, esta combinação de repmat e indexação deve resolver o problema:
fonte