take first element from each cell

1 回表示 (過去 30 日間)
skysky2000
skysky2000 2017 年 1 月 2 日
コメント済み: skysky2000 2017 年 1 月 2 日
Dear all, I wanna your help with this problem:
Is there any way to take the first element from each cell depend on b vector:
a=[{[1,9,79,3] [2,29,16,7,3] 3 [4,74,3] [5,73,79,3] [6,56,3] [7,3]}] ;
b = [79,3,74,10];
the result should be:
result_79: [ 1 5];
result_3: [ 1 2 3 4 5 6 7];
result_74: [ 4];
result_10: [ ];
thanks...
  1 件のコメント
José-Luis
José-Luis 2017 年 1 月 2 日
What have you tried so far?

サインインしてコメントする。

採用された回答

the cyclist
the cyclist 2017 年 1 月 2 日
Here's one way:
a ={[1,9,79,3] [2,29,16,7,3] 3 [4,74,3] [5,73,79,3] [6,56,3] [7,3]} ;
b = [79,3,74,10];
nb = numel(b);
c = cell(1,nb);
for ia = 1:nb
c{ia} = find(cellfun(@(x)any(ismember(x,b(ia))),a));
end
  1 件のコメント
skysky2000
skysky2000 2017 年 1 月 2 日
Thanks alot Cyclist,,, that amazing

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by