Fast creation of vector [0 0 1 1 2 2 3 3... n n]
조회 수: 8 (최근 30일)
이전 댓글 표시
Hi all,
like mentioned in the title, is there a fast way of creating a vector with repeating digits?
Thanks!
Simon
댓글 수: 0
채택된 답변
per isakson
2014년 6월 30일
편집: per isakson
2014년 6월 30일
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, [] )
추가 답변 (4개)
Jos (10584)
2014년 6월 30일
n = 10 % max value
k = 3 % number of repetitions
V = floor((0:k*(n+1)-1)/k)
댓글 수: 3
Jos (10584)
2014년 7월 1일
Reshaping does not take a lot of time. Is it also faster for larger values of k?
per isakson
2014년 7월 1일
편집: per isakson
2014년 7월 3일
Is this solution immune to floating point errors?
Danilo NASCIMENTO
2014년 6월 30일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!