how to separate the non-zero elements from an array
3 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
KSSV
2018 年 11 月 28 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!