在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)
我有一个由双精度和字符串组成的元胞数组,其中特定列如下所示
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)