MATLAB: Using Size and cell functions to split a matrix

cellmatrix manipulationsize;split matrix

I need help writing a function, that splits matrix X into two halves. X1 is the left half of X and X2 is the right half of X. In the case that there is an odd number of columns, the middle column should go to X1.

Best Answer

This works:
X = randi(20, 5, 9);
[Xrw, Xcl] = size(X);
Odd = rem(Xcl,2);
Xs = mat2cell(X, Xrw, [fix(Xcl/2)+Odd fix(Xcl/2)]);
X1 = Xs{1}
X2 = Xs{2}
Related Question