How to divide vector to matrix(same row and column)
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
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?
采纳的回答
  KSSV
      
      
 2020-3-27
        
      编辑:KSSV
      
      
 2020-3-27
  
      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 个评论
更多回答(1 个)
  Walter Roberson
      
      
 2020-3-27
        If you have the Communications Systems Toolbox, then
buffer(TheVector, ceil(sqrt(numel(TheVector))))
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



