我有一个由 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/