How to repeat elements of a matrix

4 views (last 30 days)
charu shree
charu shree on 4 Apr 2023
Commented: Jon on 4 Apr 2023
Hello all, I am having a matrix of size 8 by 16.
My query is how to obtain 8 by 500 matrix from 8 by 16 matrix.
Any help is highly appreciated.
  3 Comments
charu shree
charu shree on 4 Apr 2023
Thank u sir for ur answer.
Basically I am having 16 column vectors each of size 8 by 1. I had arranged them to obtain another matrix of size 8 by 16. Now I want to make 8 by 500 matrix.
I understand that we can get 8 by 496 matrix. But is it possible to append any 4 colums of earlier 8 by 16 matrix to this new 8 by 496 matrix so that it forms 8 by 500 matrix ?
Steven Lord
Steven Lord on 4 Apr 2023
Why not just pad your 8-by-16 array with 500-16 columns of NaN values?
x = reshape(1:8*16, [8 16]);
x(:, 17:500) = NaN;
Or fill in with random values:
x = reshape(1:8*16, [8 16]);
x(:, 17:500) = rand(8, 500-16);
What are the specific requirements for how you want the additional columns to be created?

Sign in to comment.

Accepted Answer

Jon
Jon on 4 Apr 2023
Edited: Jon on 4 Apr 2023
So is this what you want?
A = rand(8,16);
B = [repmat(A,1,31) A(:,1:4)];
In this case the last 4 columns of the 8 by 500 are the first 4 columns of the original 8 by 16 but you could use other columns if you wanted, just put in the indices you want
  2 Comments
charu shree
charu shree on 4 Apr 2023
@Jon, once again thank u sir for ur detailed solution....

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!