How to repeat different vectors to form another vector?

1 Ansicht (letzte 30 Tage)
xiaojuezi
xiaojuezi am 7 Aug. 2020
Kommentiert: xiaojuezi am 7 Aug. 2020
Hi I would like to construct a vector as:
1,2,3,1,2,3,1,2,3,4,5,6,4,5,6,4,5,6.....k-2,k-1,k,k-2,k-1,k
i.e. repeat [1,2,3], [4,5,6].... 3 times. How to do this without a for loop?
Thank you very much.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 7 Aug. 2020
repmat()
  2 Kommentare
Fangjun Jiang
Fangjun Jiang am 7 Aug. 2020
%%
k=5;
a=1:k*3;
b=reshape(a,3,[]);
c=repmat(b,3,1);
d=c(:)'
xiaojuezi
xiaojuezi am 7 Aug. 2020
Thank you very much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sudheer Bhimireddy
Sudheer Bhimireddy am 7 Aug. 2020
For OPs example, it would be:
>> A = [repmat([1,2,3],1,3) repmat([4,5,6],1,3)] %... repmat([k-2,k,k],1,3)];
>> A =
1 2 3 1 2 3 1 2 3 4 5 6 4 5 6 4 5 6

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by