How to find index of a value in cell array

24 次查看(过去 30 天)
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

采纳的回答

the cyclist
the cyclist 2017-1-25
编辑:the cyclist 2017-1-25
isSix = cellfun(@(x)isequal(x,6),A);
[row,col] = find(isSix);
  4 个评论
Kristoffer Walker
Kristoffer Walker 2019-12-13
Not at all intuitive, but it works great, even for logicals.

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-1-25
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 个评论
Walter Roberson
Walter Roberson 2024-11-8
Looking again several years later, it looks like the code should use
[maxrow, maxcol] = find( cell2mat(B) == 6);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by