How to split array based condition

23 ビュー (過去 30 日間)
Rajib Deyana
Rajib Deyana 2018 年 5 月 30 日
編集済み: KSSV 2018 年 5 月 30 日
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.

回答 (1 件)

KSSV
KSSV 2018 年 5 月 30 日
編集済み: KSSV 2018 年 5 月 30 日
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'})

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by