Borrar filtros
Borrar filtros

Split a larger matrix into smaller matrices

2 visualizaciones (últimos 30 días)
Kash022
Kash022 el 17 de Mzo. de 2016
Comentada: Star Strider el 17 de Mzo. de 2016
Hello All,
I have a [256 x 5 x 2000] matrix. I want to split this matrix into 5 [256 x 1 x 2000] matrices. Tried using mat2cell but it returns an error stating number of dimensions must match.
Could anyone please help me with this?
Thanks, \Kashif

Respuesta aceptada

Star Strider
Star Strider el 17 de Mzo. de 2016
The dimensions have to add to the same values in each dimension with mat2cell.
This works:
M = randi(9, 256, 5, 2000); % Create Matrix
C = mat2cell(M, 256, ones(1,5), 2000); % Split To Cells
  6 comentarios
Kash022
Kash022 el 17 de Mzo. de 2016
@Star Strider: Yeps this works...even if I do plot(squeeze(C{1}(1,1,:))); Thanks!
Star Strider
Star Strider el 17 de Mzo. de 2016
My pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 17 de Mzo. de 2016
C = num2cell(M,[1 3]);
  5 comentarios
Stephen23
Stephen23 el 17 de Mzo. de 2016
Editada: Stephen23 el 17 de Mzo. de 2016
@ksnf3000: why are you using both num2cell and mat2cell? None of the answers do this. mat2cell splits up your array into pieces and returns a cell array... why do you want to split this up as well? You only need one of them.
Kash022
Kash022 el 17 de Mzo. de 2016
@Stephen Cobeldick: Yes , your right...can use any one. Thanks once again!

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by