Matrix in matlab equation

1 view (last 30 days)
Amy Topaz
Amy Topaz on 12 Mar 2022
Commented: Amy Topaz on 12 Mar 2022
A = 1*1000 matrix
I need another matrix Y which has all the rows as A
Y = 1000*1000 matrix
How to do that??

Accepted Answer

Torsten on 12 Mar 2022
Y = repmat(A,1000,1)
Torsten on 12 Mar 2022
Edited: Torsten on 12 Mar 2022
My guess is that you mean
Y = repmat(A.',1,1000)
Since the columns of A have 1 element and those of Y have 1000 elements, Y cannot have all its columns as A.

Sign in to comment.

More Answers (1)

John D'Errico
John D'Errico on 12 Mar 2022
Edited: John D'Errico on 12 Mar 2022
An alternative to repmat is to use a dot product (if you are an old APL person like me, then the phrase "outer product" will come to mind.) Thus, if A is a 1x1000 vector, then
B = ones(1000,1)*A;
B will be a matrix that has rows identical to A, with 1000 copies thereof.
Similarly, if you instead want columns that are copies of the row vector A, you can do this:
C= A.'*ones(1,1000);
C will be a 1000x1000 matrix, with columns given as A, and 1000 such columns.
Note my use of the .' operator there, since if you use the ' operator instead, then it will form the conjugate transpose if A had any complex or purely imaginary elements.


Find more on Creating and Concatenating Matrices in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!