MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

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

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.

Answer by Roger Stafford on 28 Jun 2013
Edited by Roger Stafford on 28 Jun 2013
` 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)

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))';`

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))';`