Find cell in array that contains the values x and y
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Loubna Baroudi
2021-6-28
Hi,
index = cellfun(@(x) find(x==7) & find(x==10), r, 'UniformOutput', false)
it will output a cell: {[],1,[]}
0 个评论
更多回答(1 个)
Soniya Jain
2021-6-28
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!