Repeat vectors within a matrix multiple times
조회 수: 18 (최근 30일)
이전 댓글 표시
Hi, I am looking for an efficient approach (without a for loop) to repeat a vector multiple times within a matrix.
For e.g. x = [1 2; 3 4; 5 6]
I want to repeat each row n times:
if n = 2: x = [1 2; 1 2; 3 4; 3 4; 5 6; 5 6]. The important point is that the repeated rows should be together.
I was thinking of using repmat, but that allows me to repeat the matrix and not vectors within the matrix..as far as I know, any help would be great!
댓글 수: 0
답변 (3개)
Azzi Abdelmalek
2013년 7월 14일
편집: Azzi Abdelmalek
2013년 7월 14일
n=3
out=reshape(repmat(x',n,1),size(x,2),[])'
댓글 수: 0
Andrei Bobrov
2013년 7월 14일
편집: Andrei Bobrov
2013년 7월 14일
x(ones(n,1)*(1:size(x,1)),:);
or
x(kron(1:size(x,1),ones(1,n)),:);
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!