split matrix

7 次查看(过去 30 天)
Bayan
Bayan 2012-2-14
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 ???

采纳的回答

Andrei Bobrov
Andrei Bobrov 2012-2-14
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)

更多回答(1 个)

Bayan
Bayan 2012-2-14
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]. _

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by