How to divide vector to matrix(same row and column)
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello.
I got some vector like (82580526 X 1)
I want to divide this vector to matrix. The matrix have same row and column. (N x N)
If it can't be divide equally, some row or column of the matrix can be splited.
Could you explain how to have same row and column?
Risposta accettata
KSSV
il 27 Mar 2020
Modificato: KSSV
il 27 Mar 2020
To remove extra elements and convert to square matrix
A = rand(82580526,1) ;
l = length(A) ;
% GEt the nearest perfect square
N = floor(sqrt(l)) ;
% Reshape into required matrix
iwant = reshape(A(1:N*N),N,N) ;
To append zeros and convert to square matrix
A = rand(82580526,1) ;
l = length(A) ;
% GEt the next perfect square
N = ceil(sqrt(l)) ;
% Append zeros
A = [A ; zeros(N^2-l,1)] ;
% Reshape into required matrix
iwant = reshape(A,N,N) ;
0 Commenti
Più risposte (1)
Walter Roberson
il 27 Mar 2020
If you have the Communications Systems Toolbox, then
buffer(TheVector, ceil(sqrt(numel(TheVector))))
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!