COnvert 3d matrix to 2D

1 visualización (últimos 30 días)
Joana
Joana el 5 de Dic. de 2019
Comentada: Star Strider el 5 de Dic. de 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'

Respuestas (1)

Star Strider
Star Strider el 5 de Dic. de 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 comentarios
Joana
Joana el 5 de Dic. de 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 el 5 de Dic. de 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

Iniciar sesión para comentar.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by