List(Vecor) Generation
14 views (last 30 days)
Show older comments
Can I generate list [1 2 3 2 3 4 3 4 5 4 5 6 ....] without for loop?
Thanks!
0 Comments
Accepted Answer
madhan ravi
on 8 Sep 2019
m=3; % pairs
n=4; % n combinations
reshape((0:n-1)+(1:m)',1,[])
1 Comment
madhan ravi
on 8 Sep 2019
If you're using version prior to 2016b:
% last line would be
reshape(bsxfun(@plus,(0:n-1),(1:m)'),1,[])
More Answers (2)
Andrei Bobrov
on 8 Sep 2019
Edited: Andrei Bobrov
on 8 Sep 2019
m=3;
n=4;
T = 1:m*n;
out = ceil(T/m) + mod(T-1,m);
or
out = floor(T/n) + mod(T-1,m) + 1;
or
out = repmat(1:m,1,n) + repelem(0:n-1,m);
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!