How to repeat a rectangular matrix in matlab?
이전 댓글 표시
How to repeat a rectangular matrix in matlab?
Not using loops, just matlab's build-in commands.
Thanks a lot!

채택된 답변
추가 답변 (2개)
Azzi Abdelmalek
2014년 7월 24일
편집: Azzi Abdelmalek
2014년 7월 24일
A=[1 2 ; 3 4]
B=repmat(A,3,2)
댓글 수: 3
Azzi Abdelmalek
2014년 7월 24일
You didn't say anything about how do you want to shift your matrix? it's not just repeating a matrix.
rui
2014년 7월 24일
Andrei Bobrov
2014년 7월 24일
편집: Andrei Bobrov
2014년 7월 24일
for your case:
t = zeros(6,2);
out = [kron(eye(3),a(:,1:2)),t]+[t,kron(eye(3),a(:,3:4))];
variant
m = 3;
k=2;
s = size(a);
n = (m-1)*k+s(2);
m1 = m*s(1);
out = zeros(m1,n);
t = sub2ind([m1,n],1:s(1):m1,1:k:k*m);
t2 = bsxfun(@plus,(0:s(2)-1)*m1,(0:s(1)-1)');
out(bsxfun(@plus,t,t2(:))) = a(:,:,ones(m,1));
카테고리
도움말 센터 및 File Exchange에서 Mathematics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!