Sequence within a sequence
Show older comments
Hi I want to be able to create a sequence as such
j=1111,2222,3333,4444
It is for use in a loop where j will jump up by 1 for every forth value of i.
thanks
Accepted Answer
More Answers (3)
Daniel Shub
on 28 Mar 2012
n = 5;
m = 3;
reshape(repmat(1:n, m, 1), n*m, 1)
Dr. Seis
on 28 Mar 2012
To beat a dead horse...
I thought I remembered a version by Walter using cumsum, but I couldn't find the link. Here's my attempt to recreate:
n = 5;
m = 3;
a = zeros(m,n);
a(1,:) = 1;
b = cumsum(reshape(a,1,numel(a)));
Running Daniel's test, I got ~0.65 seconds and ~1.05 seconds for the reshape&cumsum and repmat&reshape versions, respectively. However, what you save in compute time is eaten up by doing extra typing.
1 Comment
Daniel Shub
on 28 Mar 2012
+1 I knew my answer wouldn't be the fastest. Not only do you have a faster answer, but you also have a faster computer (your answer is faster on my computer also).
Scott
on 28 Mar 2012
2 Comments
Daniel Shub
on 28 Mar 2012
This is a new question and should be asked as such.
Scott
on 28 Mar 2012
Categories
Find more on Loops and Conditional Statements 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!