How do I see which cell that the components of a vector land in, in a cell array??

1 view (last 30 days)
Say I have a cell array, A, and a vector, B. I want to figure out which cell each component of the vector lands in. For example.
A = { [1 5 6] [15 3 10 7] [13 14 2 8] }
B = [1 10 5 2]
Output = [1 2 1 3]
Also, not all cells in A are equal in size, some are however. The numbers contained in B will always be found somewhere in A, but not the other way around.

Accepted Answer

madhan ravi
madhan ravi on 7 Apr 2020
c = arrayfun(@(y)arrayfun(@(x)(any(B(x)==A{y}).*y),1:numel(B),'un',0),1:numel(A),'un',0);
Output = sum(cell2mat(cat(1,c{:})))

More Answers (0)

Community Treasure Hunt

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

Start Hunting!