【问题标题】:find top n numeric cells in a cell array在元胞数组中查找前 n 个数字元胞
【发布时间】:2013-10-27 00:50:20
【问题描述】:

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

sortrows(mycell(1,:));

所以我可以选择前 50 行或其他任何内容,但这似乎并没有对单元格数组进行排序。但实际上我想在单元格数组的第一列上指定一个阈值。

我该怎么做?

谢谢。

【问题讨论】:

  • 最简单的解决方案是只分隔列,因此分别有一个数字数组和一个元胞数组

标签: matlab cell threshold


【解决方案1】:

如果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

【讨论】:

  • 我认为 OP 想要C(index,2)
猜你喜欢
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多