How to find index of a value in cell array
114 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Vishal Sharma
el 25 de En. de 2017
Comentada: Walter Roberson
el 8 de Nov. de 2024 a las 4:40
I have this Cell Array ‘A’ of size 3 by 7
A = { 3 4 [] [] [] [] []
2 6 -2 2 -2.1 2 2
-5 -5 25 1 [] [] []}
I want to find index of ‘6’ element in 2nd row and 2nd column The answer shall be row = 2 and column = 2
0 comentarios
Respuesta aceptada
the cyclist
el 25 de En. de 2017
Editada: the cyclist
el 25 de En. de 2017
isSix = cellfun(@(x)isequal(x,6),A);
[row,col] = find(isSix);
4 comentarios
Kristoffer Walker
el 13 de Dic. de 2019
Not at all intuitive, but it works great, even for logicals.
Más respuestas (1)
Walter Roberson
el 25 de En. de 2017
Re-using the framework of my answer to your earlier question:
B = A;
B(cellfun(@isempty, B)) = {NaN};
[maxrow, maxcol] = find( reshape(cell2mat(B), [], 1) == 6);
1 comentario
Walter Roberson
el 8 de Nov. de 2024 a las 4:40
Looking again several years later, it looks like the code should use
[maxrow, maxcol] = find( cell2mat(B) == 6);
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!