how to separate the non-zero elements from an array
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
johnson saldanha
am 28 Nov. 2018
Kommentiert: johnson saldanha
am 29 Nov. 2018
suppose i have a column matrix with non zero elements in between the zeros. i want to put the nonzero values in a cell of different groups of nonzero integers.
for example x=[ 0 0 0 1 2 3 0 0 2 3 5 6 0 0 2 5 0]
[1 2 3] is one group [2 3 5 6 ] is the next. i want all these groups in one cell.
0 Kommentare
Akzeptierte Antwort
KSSV
am 28 Nov. 2018
A = [ 0 0 0 1 2 3 0 0 2 3 5 6 0 0 2 5 0] ;
ii = zeros(size(A));
jj = A > 0;
ii(strfind([0,jj(:)'],[0 1])) = 1;
idx = cumsum(ii).*jj;
out = accumarray( idx(jj)',A(jj)',[],@(x){x'});
5 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!