How to repeat elements of a matrix

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 Commenti

I don't understand what you are trying to do. Please give an example. I can imagine that you are trying to do something like this
A = rand(8,16);
B = repmat(A,1,31);
but since 16 doesn't divide 500 you can't exactly get an 8 by 500 matrix, the above gives a 8 by 496 matrix, basically putting 31 copies of A side by side
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 ?
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?

Accedi per commentare.

 Risposta accettata

Jon
Jon il 4 Apr 2023
Modificato: Jon il 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 Commenti

@Jon, once again thank u sir for ur detailed solution....
You're welcome

Accedi per commentare.

Più risposte (0)

Categorie

Richiesto:

il 4 Apr 2023

Commentato:

Jon
il 4 Apr 2023

Community Treasure Hunt

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

Start Hunting!

Translated by