How to repeat elements of a matrix

2 visualizzazioni (ultimi 30 giorni)
charu shree
charu shree il 4 Apr 2023
Commentato: Jon il 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 Commenti
charu shree
charu shree il 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 il 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?

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
charu shree
charu shree il 4 Apr 2023
@Jon, once again thank u sir for ur detailed solution....
Jon
Jon il 4 Apr 2023
You're welcome

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by