Interleaved repmat (row duplication)
7 views (last 30 days)
Show older comments
I would like to do a specific repmat such that if I have:
a=[1 0 0;0 0 1;1 1 1]
I would like to duplicate each row by a value N, so that in the case N = 2 each row will be duplicated twice:
b=[1 0 0;1 0 0;0 0 1;0 0 1;1 1 1;1 1 1]
Is there an easy way of doing this interleaved repmat? Thanks
0 Comments
Accepted Answer
Stephen23
on 5 Nov 2021
The simple and efficient approach is to use REPELEM:
a = [1,0,0;0,0,1;1,1,1]
b = repelem(a,2,1)
More Answers (1)
Sudharsana Iyengar
on 5 Nov 2021
Try this
A=[1,0,0; 0 0 1; 1 1 1;];
k=1;
for i =1:3
T(k:k+1,:)=repmat(A(i,:),2,1);
k=k+2;
end
T
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!