Fast creation of vector [0 0 1 1 2 2 3 3... n n]
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Simon
am 30 Jun. 2014
Kommentiert: Paul Safier
am 8 Dez. 2022
Hi all,
like mentioned in the title, is there a fast way of creating a vector with repeating digits?
Thanks!
Simon
0 Kommentare
Akzeptierte Antwort
per isakson
am 30 Jun. 2014
Bearbeitet: per isakson
am 30 Jun. 2014
Test
>> reshape( cat( 1, [0:n], [0:n] ), 1, [] )
ans =
0 0 1 1 2 2 3 3 4 4 5 5
and
>> reshape( repmat( [0:n], 2,1 ), 1, [] )
1 Kommentar
Weitere Antworten (4)
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?
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
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!