I want to find the position of cells with a specific content, but the empty cells are not counted, so I take a wrong result of position

1 次查看(过去 30 天)
I have the cell array a.
This cell array is a 1603 * 1 cell array .
I want to find the cells that contain 'svinw to ena zeugos', so this is what I did:
b=find(ismember([a{:,1}],{'svinw to ena zeugos'}));
But the rows that are empty (only contain [] ) are not counted, so the array b finds wrong rows that contain 'svinw to ena zeugos'.
What can I do?

回答(1 个)

Star Strider
Star Strider 2021-11-11
The ‘b’ variable will contain the numeric indices from the logical vector that ismember returns, so ‘a{b,1}’ should return the desired results.
Lv = randi([0 1], 1, 10) == 1
Lv = 1×10 logical array
0 0 0 1 0 0 0 0 1 1
Nv = find((Lv))
Nv = 1×3
4 9 10
.
  2 个评论
Ioannis Vourvachakis
编辑:Ioannis Vourvachakis 2021-11-11
Τhe problem I describe is the following:
If I write b=ismember([a{:,1}],{'svinw to ena zeugos'});
b is a 1*1268 logical array, not the same dimensions as the array a.
This is happening because in array a the empty cells ( only contain [] ) are not counted.
I want the array b to have the same dimensions as array a.
The cell array a seems like

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by