split matrix

we have matrix as 801* 3 and we need to split or divide this matrix to parts as 100 * 3 , the rest of matrix after split must be put in matrix also How ???

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 14 de Feb. de 2012

0 votos

A = randi(1800,801,3);% A - Let your matrix.
A1 = A(1:end-1,:); % for this is case - size of A - [801x3]
outDouble3d = permute(reshape(A1.',3,100,[]),[2 1 3]);
or
outCell = mat2cell(A,[100*ones(fix(size(A,1)/100),1);1],3)
ADD
n = 89;
[m,k] = size(A);
t = rem(m,n);
if ~t, t = []; end
outCell = mat2cell(A,[n*ones(fix(m/n),1);t],k)

Más respuestas (1)

Bayan
Bayan el 14 de Feb. de 2012

0 votos

thanks a lot ; but another problem is show : when i change 100 to another number as 89 this error appear :
_Error using ==> mat2cell at 116 Input arguments, D1 through D2, must sum to each dimension of the input matrix size, [801 3]. _

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 14 de Feb. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by