matlab - matlab中搜索和删除单元格元素

标签 matlab cell-array

我有一个由 double 和字符串组成的元胞数组,其中特定列如下所示

abc = {[110;10];[20;110];[10];[220];[380];[15];[220];[110;15];[110;20];[110]};

我想删除所有小于110的元素,我尝试了这个语句abc(cellfun(@(x) any(x<110),abc),1) = [];

我收到一个错误 空赋值只能有一个非冒号索引。有人可以解释并纠正这个问题吗?

我希望输出是这样的

abc = {[110];[110];[];[220];[380];[];[220];[110];[110];[110]};

谢谢!

最佳答案

abc = abc(~cellfun(@(x) any(x<110),abc),1)

这将反转逻辑索引,然后选择相应的条目。

编辑:提供您的评论后,应该可以做到:

abc_out = cellfun(@(x) x(x>=110), abc, 'UniformOutput', false)

关于matlab - matlab中搜索和删除单元格元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37088551/

相关文章:

matlab - 如何在 MATLAB 中传递一个带有固定参数的函数作为参数

正则表达式格式并使用 2 个元胞数组

arrays - 将 "xlswrite"MATLAB 用于包含不同大小字符串的元胞数组

matlab - 从 ASCII 文件中将文本值读入 matlab 变量

matlab - Matlab 中的多维数组乘法

string - 如何在混合元胞数组中找到某个字符串并将其替换为整数?

matlab - 删除元胞数组 Matlab 中 ' ' 之间的任何空格

matlab - 在Matlab中高效计算元胞数组元素之间的成对交集

arrays - 如何在 MATLAB 中将元胞数组转换为数值数组?

image - 均衡多个图像的对比度和亮度