Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Repeat every element in matrix

Asked by Ahmed Hussein

Ahmed Hussein (view profile)

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

per isakson (view profile)

on 28 Jun 2013

row-wise or column-wise?

Ahmed Hussein

Ahmed Hussein (view profile)

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.

Ahmed Hussein

Ahmed Hussein (view profile)

Products

No products are associated with this question.

1 Answer

Answer by Roger Stafford

Roger Stafford (view profile)

on 28 Jun 2013
Edited by Roger Stafford

Roger Stafford (view profile)

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

Roger Stafford (view profile)

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

Ahmed Hussein (view profile)

on 28 Jun 2013

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

Roger Stafford

Roger Stafford (view profile)

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))';
Roger Stafford

Roger Stafford (view profile)

Contact us