COnvert 3d matrix to 2D

1 view (last 30 days)
Joana
Joana on 5 Dec 2019
Commented: Star Strider on 5 Dec 2019
I have a matrix of x=1200x30x410, i need to change it to 2D as x=3600x410. How to do that.?
it gives an error by using reshape that 'Product of known dimensions, 410, not divisible into total number of elements, 3672000'

Answers (1)

Star Strider
Star Strider on 5 Dec 2019
The reshaped matrix has to be (36000 x 410).
x = rand(1200,30,410); % Create Matrix
y = reshape(x,[],410);
You can reduce the first dimension afterwards, if necessary.
  2 Comments
Joana
Joana on 5 Dec 2019
It doesn't work actually. Here's the x for example i need to change.
y should be equal to 6000x102
Star Strider
Star Strider on 5 Dec 2019
Please define ‘doesn’t work’.
It works for me:
D = load('matlab.mat');
x = D.x;
y = reshape(x, [], 102);
whos('y')
producing:
Name Size Bytes Class Attributes
y 6000x102 4896000 double

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!