Interleaved repmat (row duplication)
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Stephen23
le 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)
Plus de réponses (1)
Sudharsana Iyengar
le 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 commentaires
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!