在matlab

时间:2016-05-07 12:29:26

标签: matlab cell-array

我有一个双精度和字符串的单元格数组,其中特定列看起来像这个

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

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

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

我希望输出像这样

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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

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