Fast creation of vector [0 0 1 1 2 2 3 3... n n]
Ältere Kommentare anzeigen
Hi all,
like mentioned in the title, is there a fast way of creating a vector with repeating digits?
Thanks!
Simon
Akzeptierte Antwort
Weitere Antworten (4)
Andrei Bobrov
am 1 Jul. 2014
k = [1;1]*(0:n);
out = k(:)';
1 Kommentar
Paul Safier
am 8 Dez. 2022
Perfect.
Jos (10584)
am 30 Jun. 2014
n = 10 % max value
k = 3 % number of repetitions
V = floor((0:k*(n+1)-1)/k)
3 Kommentare
Jos (10584)
am 1 Jul. 2014
Reshaping does not take a lot of time. Is it also faster for larger values of k?
per isakson
am 1 Jul. 2014
Bearbeitet: per isakson
am 3 Jul. 2014
Is this solution immune to floating point errors?
n = 5;
x1 = repelem(0:n, 2)
1 Kommentar
Paul Safier
am 8 Dez. 2022
Oh wow, very nice. I'd never heard of the repelem function. Thanks.
Danilo NASCIMENTO
am 30 Jun. 2014
V=zeros(1,20);
k=0;
i=1;
while i<20
V(i)=k;
V(i+1)=k;
k=k+1;
i=i+2;
end
V
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!