Repita elementos do vetor [duplicado]
Esta pergunta já tem uma resposta aqui:
Repita cópias dos elementos da matriz: decodificação em tempo de execução no MATLAB 5 respostasEu tenho um vetor de valorA
contendo elementosi
, por exemplo:
A = [0.1 0.2 0.3 0.4 0.5];
e dizr = [5 2 3 2 1];
Agora eu quero criar um novo vetorAnew
contendor(i)
repetições dos valoresi
noA
, de modo que o primeiror(1)=5
itens emAnew
tem valorA(1)
e o comprimento do novo vetor ésum(r)
. Portanto:
Anew = [0.1 0.1 0.1 0.1 0.1 0.2 0.2 0.3 0.3 0.3 0.4 0.4 0.5]
Estou certo de que isso pode ser feito com um elaboradofor
- combinação de p.ex.repmat
, mas alguma chance de alguém saber como fazer isso de maneira mais suave?