Change dimension of a matrix
    133 ビュー (過去 30 日間)
  
       古いコメントを表示
    
How to change a matrix dimension 1X131072 to 256X256
2 件のコメント
  Azzi Abdelmalek
      
      
 2012 年 9 月 14 日
				
      編集済み: Azzi Abdelmalek
      
      
 2012 年 9 月 14 日
  
			131072/256=512 some data will be missing
採用された回答
  Andrei Bobrov
      
      
 2012 年 9 月 14 日
        
      編集済み: Andrei Bobrov
      
      
 2012 年 9 月 14 日
  
      reshape(yourmatrix,256,256,[]);
or
permute(reshape(yourmatrix,256,256,[]),[2 1 3]);
0 件のコメント
その他の回答 (3 件)
  Wayne King
    
      
 2012 年 9 月 14 日
        
      編集済み: Wayne King
    
      
 2012 年 9 月 14 日
  
      You cannot because the number of elements will change. 131072 is not equal to 256^2 so what are you going to do with all the left over elements? You can choose a subset of the 131,072 elements in your vector to create a 256x256 matrix.
x = randn(131072,1);
y = x(1:65536);
y = reshape(y,256,256);
You can reshape it to 256x512, or 512x256 using reshape.
0 件のコメント
  Image Analyst
      
      
 2012 年 9 月 14 日
        You can change the number of elements if you want. If you have the Image Processing Toolbox, you can use imresize()
0 件のコメント
  Ilayat Ali
 2023 年 9 月 13 日
        You can change the dimensions of a matrix using various functions and techniques, depending on your specific requirements. Here are some common ways to modify the dimensions of a matrix:
1. Reshaping a Matrix: You can change the dimensions of a matrix without changing its data by using the reshape function. This function rearranges the elements of the matrix while preserving their values. Here's how to use it:
A = [1, 2, 3; 4, 5, 6]; 
B = reshape(A, 3, 2); % Reshape A into a 3x2 matrix 
2. Transposing a Matrix: You can change the dimensions of a matrix by transposing it. This swaps the rows and columns. Use the ' operator for matrix transpose:
A = [1, 2, 3; 4, 5, 6]; 
B = A'; % Transpose A, changing it from a 2x3 matrix to a 3x2 matrix 
3. Slicing: You can extract submatrices from a larger matrix to change its dimensions. For example, to extract a specific subset of rows and columns:
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; 
B = A(1:2, 1:2); % Extract a 2x2 submatrix from A 
4. Concatenation: You can concatenate matrices to change their dimensions. For example, to horizontally concatenate two matrices:
A = [1, 2; 3, 4]; 
B = [5, 6; 7, 8]; 
C = [A, B]; % Concatenate A and B horizontally, resulting in a 2x4 matrix 
5. Resizing: You can change the size of a matrix using functions like zeros, ones, or rand. For example, to change a matrix A to a larger size while keeping its data:
A = [1, 2; 3, 4]; 
newSize = [3, 3]; % New size 
B = zeros(newSize); % Create a new matrix with zeros 
B(1:size(A, 1), 1:size(A, 2)) = A; % Copy the data from A to B 
These are some common techniques for changing the dimensions of a matrix in MATLAB. The method you choose depends on your specific data manipulation needs.
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!





