[matlab] Octave / Matlab : 벡터를 확장하여 자체적으로 반복되도록 하시겠습니까?

벡터를 반복하여 확장하는 방법이 있습니까?

>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl

그러면 v10은 다음과 같습니다.

>v10
     1 2 1 2 1 2 1 2 1 2

이것은 [1 2]뿐만 아니라 일반적인 경우에도 작동합니다.



답변

찾고있는 기능은 repmat()입니다.

v10 = repmat(v, 1, 5)


답변

분명히 repmat는 벡터를 확장하려는 방향을 안다면 갈 방법입니다.

그러나 항상 가장 긴 방향으로 벡터를 반복하는 일반적인 솔루션을 원한다면이 repmat 및 인덱싱 조합이 트릭을 수행해야합니다.

 v10=v(repmat(1:length(v),1,5))


답변