MATLAB Answers

Ahmed Hussein

Repeat every element in matrix

Asked by Ahmed Hussein
on 28 Jun 2013

Dears,

I have a matrix A(3200,3), I want to repeat each element (not repeat the matrix)in this matrix 200 times.

Thank you

  2 Comments

per isakson
on 28 Jun 2013

row-wise or column-wise?

Ahmed Hussein
on 28 Jun 2013

A=[0 0 0 I want A to be A=[ 0 0 0 0 0 0 . 0 0 0 . . . . and so on to 200 times then the second element and so on.

Products

No products are associated with this question.

1 Answer

Answer by Roger Stafford
on 28 Jun 2013
Edited by Roger Stafford
on 28 Jun 2013
 Accepted answer
 A = reshape(repmat(A(:)',200,1),[],3);

This repeats the elements in the columns. If you want to repeat the along the rows do this:

 A = reshape(repmat(reshape(A',[],1),1,200)',[],size(A,1))';

(Corrected)

  4 Comments

Roger Stafford
on 28 Jun 2013

No, don't use that one. I corrected it to:

 A = reshape(repmat(reshape(A',[],1),1,200)',[],size(A,1))';

(I had a senior moment.)

Ahmed Hussein
on 28 Jun 2013

Thanks a lot, it is very useful.....

Roger Stafford
on 29 Jun 2013

That code I gave you has one more transpose than is necessary. You can do it this way instead:

 A = reshape(repmat(reshape(A',1,[]),200,1),[],size(A,1))';

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today