在单元格数组中找到前n个数字单元格

时间:2013-10-18 08:41:35

标签: matlab cell threshold

嗨我有一个2 x 1000的单元格数组。第一列包含数字(double)值,第二列包含一个字符串。我想找到第一列中超过某个值的所有单元格,并返回第二列中的相应单元格。我已经尝试过strcamp和其他各种其他但显然它们是用于字符串的。我也尝试过做

sortrows(mycell(1,:));

所以我可以选择前50行或者没有,但这似乎没有订购单元阵列。但实际上我想在单元格数组的第一列上指定一个阈值。

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:2)

如果C是您的单元格数组:

nums = [C{:,1}];

{:}C转换为comma separated list(因此{:,1}仅转换第一列),然后[]将结果收集到正常数组中。之后很简单:

index = nums > Threshold;
C(index,:)

或在单行中:

C([C{:,1}] > Threshold, :) %// Or C([C{:,1}] > Threshold, 2) as Luis said