Asked by Trushit
on 27 Jan 2014

Hi,

a = [1 2 3 ; 4 5 6; 7 8 9]; --> 3x3 matrix

I want to insert at the end number of raws with same elements such as [5 5 5] and make the matrix 10 x 3 i.e. I want to insert 7 more raws with [5 5 5]. Please explain.

Answer by Azzi Abdelmalek
on 27 Jan 2014

Edited by Azzi Abdelmalek
on 27 Jan 2014

Accepted Answer

a = [1 2 3 ; 4 5 6; 7 8 9];

b=[5 5 5]

c=[a;b]% add one row

c=[a;repmat(b,7,1)] %add 7rows

Trushit
on 30 Jan 2014

Thanks a lot. The answer also helps when we have different elements in stead of all same.

shubham shinde
on 11 Apr 2017

Hugh
on 19 Sep 2018

Yes, a long-time-after answer to a long-time-after question, but why not?

a = [1 2 3; 4 5 6; 7 8 9];

b = [5 5 5];

a = [a(1,1:3);b;a(2:3,1:3)]

Or for a bit more malleable solution (variable row to add to):

a = [1 2 3; 4 5 6; 7 8 9];

b = [5 5 5];

addrow = 2;

a = [a(1:addrow-1,1:3);b;a(addrow:3,1:3)]

Or a bit prettier, and even more malleable (if a has variable number of rows):

a = [1 2 3; 4 5 6; 7 8 9];

b = [5 5 5];

addrow = 2;

a = [a(1:addrow-1,:);b;a(addrow:end,:)]

Sign in to comment.

Answer by Michael Hawks
on 2 May 2019

Another method:

a = [1 2 3 ; 4 5 6; 7 8 9];

b=[5 5 5];

a( end+1, : ) = b;

or

a( :, end+1 ) = b';

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.