如何在 MATLAB 中查找元胞数组中的元胞是否包含特定值?
How do I find if a cell in a cell array contains a certain value in MATLAB?
我有一个单元格数组 B
。我想查找其中一个单元格是否包含某个值,在本例中为 [1 1 1440 1920]
,如果是,则将其删除。
我尝试使用:
ismember(mat2cell([1 1 1440 1920],1),B)
我收到一条错误消息 "Input A of class cell and input B of class cell must be cell arrays of character vectors"。
我认为 mat2cell()
会给我一个元胞数组。我做错了什么?
是否有更简单的方法找到并删除此组件(如果存在)?
以下是使用 cellfun
的方法:
B(cellfun(@(c) isequal(c, [1 1 1440 1920]), B)) = [];
anonymous function 应用于 B
的每个单元格,返回一个逻辑索引,该索引在单元格内容等于 [1 1 1440 1920]
的任何地方都为真。然后使用该索引删除那些单元格。
我有一个单元格数组 B
。我想查找其中一个单元格是否包含某个值,在本例中为 [1 1 1440 1920]
,如果是,则将其删除。
我尝试使用:
ismember(mat2cell([1 1 1440 1920],1),B)
我收到一条错误消息 "Input A of class cell and input B of class cell must be cell arrays of character vectors"。
我认为 mat2cell()
会给我一个元胞数组。我做错了什么?
是否有更简单的方法找到并删除此组件(如果存在)?
以下是使用 cellfun
的方法:
B(cellfun(@(c) isequal(c, [1 1 1440 1920]), B)) = [];
anonymous function 应用于 B
的每个单元格,返回一个逻辑索引,该索引在单元格内容等于 [1 1 1440 1920]
的任何地方都为真。然后使用该索引删除那些单元格。