Check if a value is within one of the cells in a cell array
128 次查看(过去 30 天)
显示 更早的评论
For example, i have this cell array y and i want to see if 6 is included in index 1 of any of the cell arrays , how can i do that ?
y={[1,2],[2,3.51],[2,5],[2,6]};
0 个评论
回答(1 个)
Jan
2022-3-9
编辑:Jan
2022-3-9
Working with cells makes it harder. If you only want to know, if any 6 is contained:
y = {[1,2],[2,3.51],[2,5],[2,6]};
T = any(cat(2, y{:}) == 6)
T = any(cat(2, y{:}) == 7)
If all cell elements are [1 x 2] vectors, you could determine the cell index also:
X = cat(1, y{:});
[r,c] = find(X == 6)
If the cell contains arrays with not matching dimensions, a loop is an easy solution:
T = false;
for k = 1:numel(y)
if any(y{k}(:) == 6)
T = true;
break; % Leave loop at first match
end
end
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!