How to split array based condition

23 views (last 30 days)
Rajib Deyana
Rajib Deyana on 30 May 2018
Edited: KSSV on 30 May 2018
Suppose I have an array like this A = [0 1 0 2 3 0]. How can i get A1 = [1] and A2 = [2 3] based their position between 0.

Answers (1)

KSSV
KSSV on 30 May 2018
Edited: KSSV on 30 May 2018
A = [0 1 0 2 3 0] ;
ii = zeros(size(A));
jj = A > 0;
ii(strfind([0,jj(:)'],[0 1])) = 1;
idx = cumsum(ii).*jj;
iwant = accumarray( idx(jj)',A(jj)',[],@(x){x'})

Categories

Find more on Cell Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!