# how can i change the dimension of the matrix?

1 view (last 30 days)
Answered: Image Analyst on 8 Jan 2022
hi
i have matrix 51 500 3,how can i change it to 153*500
g=51 500 3

Yusuf Suer Erdem on 8 Jan 2022
Try these codes below but note that x1 matrix is created randomly, you need to adapt it according to your own matrix. Good luck!
clc; clear;
x1 = randi([0, 100], [51,500,3]);
x2 = reshape(x1,[153,500]);

Torsten on 8 Jan 2022
You must first decide where you want element (i,j,k) of the old matrix be placed in the new matrix.
But usually MATLAB's "reshape" can help.

Image Analyst on 8 Jan 2022
Try this:
g2 = [g(:,:,1); g(:,:,2); g(:,:,3)];
The result is 153 rows by 500 columns.
Here's a full demo with a 3-D RGB true color image (though it doesn't have the same number of rows and columns, it's just to show you the order where things are put):
g = randi([0, 100], [51,500,3]);
g2 = [g(:,:,1); g(:,:,2); g(:,:,3)];
% Demo (though with different number of rows and columns).
subplot(1, 2, 1);
imshow(g);
axis('on', 'image');
g2 = [g(:,:,1); g(:,:,2); g(:,:,3)];
subplot(1, 2, 2);
imshow(g2);
axis('on', 'image');

### Community Treasure Hunt

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

Start Hunting!

Translated by