Find cell in array that contains the values x and y

2 vues (au cours des 30 derniers jours)
Hannes Frey
Hannes Frey le 28 Juin 2021
Commenté : Hannes Frey le 29 Juin 2021
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

Réponse acceptée

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

Plus de réponses (1)

Soniya Jain
Soniya Jain le 28 Juin 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

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by