Dear all, I have vector a (1x7) and cell b (1x7), how can I extract each cell depend on elements equal in a?
a= [ 1 2 3 3 4 5 6 6];
b= { [1 2 3] [ 3 6] [ 5 6 7] [ 5 60] [ 5 6 5] [ 6 7 1 0] [ 88 99] [ 7 8 99] }
result should be:
res= {[ 5 6 7] [ 5 60] [ 6 7 1 0] [ 88 99]}
Thanks...

1 件のコメント

Stephen23
Stephen23 2017 年 2 月 7 日
Why is [ 7 8 99] not in the output ?

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

 採用された回答

Guillaume
Guillaume 2017 年 2 月 7 日

1 投票

The latest explanation is much clearer:
a = [ 3 2 1 3 6 5 4 6];
b = { [1 2 3] [ 3 6] [ 5 6 7] [ 5 60] [ 5 6 5] [ 6 7 1 0] [ 88 99] [ 7 8 99] };
result = b(arrayfun(@(v) sum(a == v)>1, a))

1 件のコメント

skysky2000
skysky2000 2017 年 2 月 7 日
That amazing Guillaume ... thanks alot

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

その他の回答 (1 件)

Stephen23
Stephen23 2017 年 2 月 7 日
編集済み: Stephen23 2017 年 2 月 7 日

1 投票

>> a = [1,2,3,3,4,5,6,6];
>> b = {[1,2,3],[3,6],[5,6,7],[5,60],[5,6,5],[6,7,1,0],[88,99],[7,8,99]};
>> c = b(cellfun(@(v)~all(ismember(v,a)),b))
>> c{:}
ans =
5 6 7
ans =
5 60
ans =
6 7 1 0
ans =
88 99
ans =
7 8 99

4 件のコメント

skysky2000
skysky2000 2017 年 2 月 7 日
Thanks Stephen, its include the last cell which is not equal ([7,8,99])?. c=res= {[ 5 6 7],[ 5 60],[ 6 7 1 0],[ 88 99],[7,8,99]}
thanks..
skysky2000
skysky2000 2017 年 2 月 7 日
Sorry you are right, the [7 8 99] include it. but [6 7 1 0] should be out. There are only 4 elements equal in vector a, that mean only 4 cell the output. thanks..
Guillaume
Guillaume 2017 年 2 月 7 日
Kudos to Stephen for figuring out what you want (maybe!) but really, you need to express yourself a lot clearer.
"There are only 4 elements equal in vector a"
4 elements equal to what?
skysky2000
skysky2000 2017 年 2 月 7 日
編集済み: skysky2000 2017 年 2 月 7 日
Thanks Guillaume. I meant when I applied Stephen soluation, didnt give me the right result. vector a has 4 element same (3,3,6,6), and what I want 4 cells relate it to these elements.
a= [ 3 2 1 3 6 5 4 6];
b= { [1 2 3] [ 3 6] [ 5 6 7] [ 5 60] [ 5 6 5] [ 6 7 1 0] [ 88 99] [ 7 8 99] }
result={[1 2 3] [ 5 60] [ 5 6 5] [ 7 8 99]}
Thanks...

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

カテゴリ

ヘルプ センター および File ExchangeOperators and Elementary Operations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by