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


93

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

>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]뿐만 아니라 일반적인 경우에도 작동합니다.


kron-Kroencker 제품 연산자를 사용할 수 있습니다. 예를 들어, v=[1 2]v100=kron(ones(1,100),v)벡터이다 v100=[v v ... v](100 회). 일부 열 벡터 y를 자체 K시간 과 연결 하려면 yK=kron(ones(K,1),y).
Pantelis Sopasakis 2013 년

답변:



6

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

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

 v10=v(repmat(1:length(v),1,5))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.