# How to duplicate rows of a matrix if the number of copies for each row are different?

2 views (last 30 days)

Show older comments

Hi all,

I want to duplicate each rows of a matrix according to the numbers given in a vector.

For example, I have matrix A and vector , I want to duplicate the first row of A 2 times, second row by 4 times and third row by 5 times.

Is there any way to do this?

Thank you for your help.

##### 0 Comments

### More Answers (2)

Sulaymon Eshkabilov
on 9 Nov 2021

It can be done in a few different ways, e.g.:

A = magic(3)

b = [2, 4, 5];

AA = [repmat(A(1,:), b(1),1);repmat(A(2,:), b(2),1); repmat(A(3,:), b(3),1)]

% Alternative way:

A = magic(3);

b = [2, 4, 5];

AA =[];

for ii = 1:numel(b)

AA = [AA; repmat(A(ii,:), b(ii),1)];

end

AA

##### 2 Comments

Sulaymon Eshkabilov
on 9 Nov 2021

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!