Fast creation of vector [0 0 1 1 2 2 3 3... n n]
Afficher commentaires plus anciens
Hi all,
like mentioned in the title, is there a fast way of creating a vector with repeating digits?
Thanks!
Simon
Réponse acceptée
Plus de réponses (4)
Andrei Bobrov
le 1 Juil 2014
k = [1;1]*(0:n);
out = k(:)';
1 commentaire
Paul Safier
le 8 Déc 2022
Perfect.
Jos (10584)
le 30 Juin 2014
n = 10 % max value
k = 3 % number of repetitions
V = floor((0:k*(n+1)-1)/k)
3 commentaires
Jos (10584)
le 1 Juil 2014
Reshaping does not take a lot of time. Is it also faster for larger values of k?
per isakson
le 1 Juil 2014
Modifié(e) : per isakson
le 3 Juil 2014
Is this solution immune to floating point errors?
n = 5;
x1 = repelem(0:n, 2)
1 commentaire
Paul Safier
le 8 Déc 2022
Oh wow, very nice. I'd never heard of the repelem function. Thanks.
Danilo NASCIMENTO
le 30 Juin 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
Catégories
En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!