how can i write this statement labels=[1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;]; in compress form?
Show older comments
how to write it in compact form avoiding repetition
Accepted Answer
More Answers (2)
Roger Stafford
on 25 Jun 2014
n = 3;
r = 24;
labels = reshape(repmat((1:n),r,1),[],1);
4 Comments
Sheema Khattak
on 25 Jun 2014
Roger Stafford
on 25 Jun 2014
Why don't you just try it out? That is probably the best way to understand it. Do 1:n first. Then do repmat((1:n),r,1). Then do the 'reshape' of it.
Sheema Khattak
on 25 Jun 2014
PREMANAND
on 25 Jun 2014
Thanks.. Roger Stafford for that new information.
>> labelsKP=KronProd({ones(2400,1), (1:3).'});
you can get even more compression. For comparison,
>> labels = kron((1:3)',ones(2400,1));
>> whos labels labelsKP
Name Size Bytes Class Attributes
labels 7200x1 57600 double
labelsKP 7200x1 19660 KronProd
Categories
Find more on Axis Labels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!