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

search and delete cell elements in matlab

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

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)?

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

编辑:提供您的评论后,应该这样做:

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