COnvert 3d matrix to 2D

7 views (last 30 days)
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.
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);
Name Size Bytes Class Attributes
y 6000x102 4896000 double

Sign in to comment.


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


Community Treasure Hunt

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

Start Hunting!

Translated by