Separte Matrix depending on changing value in column
1 view (last 30 days)
Show older comments
Hi!
I got the following problem. I got a (N,2) Matrix. Now I want to cut the Matrix in severval (n,2) matrices with N>=n, depending on a changing value in the second column. For example [a,1; b,2; c,2; d,1] sould be separated into 3 matrices [a,1] [b,2 c,2] [d,1].
Thanks!
0 Comments
Accepted Answer
Voss
on 14 Oct 2021
Edited: Voss
on 14 Oct 2021
Let X be your N-by-2 matrix. Then the following code will separate X into a cell array Y, each element of which is a slice of X according to the second column value:
idx = 1+[0; find(diff(X(:,2))); size(X,1)];
n = numel(idx)-1;
Y = cell(n,1);
for i = 1:n
Y{i} = X(idx(i):idx(i+1)-1,:);
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!