Find cell in array that contains the values x and y

3 views (last 30 days)
I have a cell array r that contains a set of indizes in each cell
r = {(1 5 6), (7 10 9 8), (2 3 4}
I want to find the index of the cell that contains e.g. the values x = 10 and y = 7
Hence the answer should be 2
How would I go about to do this?
Thank you for you help and best wishes

Accepted Answer

Loubna Baroudi
Loubna Baroudi on 28 Jun 2021
Hi,
index = cellfun(@(x) find(x==7) & find(x==10), r, 'UniformOutput', false)
it will output a cell: {[],1,[]}

More Answers (1)

Soniya Jain
Soniya Jain on 28 Jun 2021
Hi, you can try these lines of code,
r = {{1,5,6} {7,10,9,8} {2,3,4}};
for i = 1:3
j = size(r(1,i));
flag = 0;
for k = 1:j
if (r{1,i}{1,k} == 7) && (r{1,i}{1,k} == 9)
flag = 1;
break; % will break inner for loop
end
end
if flag == 1
break; % will break outer for loop
end
index = i;
end

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!