how to separate the non-zero elements from an array
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
johnson saldanha
il 28 Nov 2018
Commentato: johnson saldanha
il 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 Commenti
Risposta accettata
KSSV
il 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Tables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!