How to do the following in a simpler and smarter way?

3 次查看(过去 30 天)
The following code prepares the labels for some classes. We have standard 12 elements of 1,2,3,...,21 one after another. Now is there any other way to get this array than putting them one by one by hand.
c=[1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,...
4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,...
7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,...
10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,...
12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,...
14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,...
16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,...
18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,...
20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21];

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-11-3
编辑:Azzi Abdelmalek 2013-11-3
C=repmat(1:21,12,1)
C=C(:)'
%or
C=1:21;
C=reshape(C(ones(12,1),:),1,[])

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2013-11-3
kron(1:21,ones(1,12))

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by