Matlab 查找单元格数组中前n个数字单元格
嗨,我有一个2 x 1000的电池阵列。第一列保存数字(双精度)值,第二列保存字符串。我想查找第一列中高于某个值的所有单元格,并在第二列中返回相应的单元格。我试过strcamp和其他一些,但显然它们是用于字符串的。我也试过了Matlab 查找单元格数组中前n个数字单元格,matlab,cell,threshold,Matlab,Cell,Threshold,嗨,我有一个2 x 1000的电池阵列。第一列保存数字(双精度)值,第二列保存字符串。我想查找第一列中高于某个值的所有单元格,并在第二列中返回相应的单元格。我试过strcamp和其他一些,但显然它们是用于字符串的。我也试过了 sortrows(mycell(1,:)); 所以我可以选择前50行或其他任何行,但这似乎没有对单元格数组进行排序。但实际上我想在单元格数组的第一列指定一个阈值 我该怎么做 谢谢。如果C是您的手机阵列: nums = [C{:,1}]; {:}将C转换为a(因此{:,1
sortrows(mycell(1,:));
所以我可以选择前50行或其他任何行,但这似乎没有对单元格数组进行排序。但实际上我想在单元格数组的第一列指定一个阈值
我该怎么做
谢谢。如果
C
是您的手机阵列:
nums = [C{:,1}];
{:}
将C
转换为a(因此{:,1}
仅转换第一列),然后[]
将结果收集到普通数组中。在那之后就很简单了:
index = nums > Threshold;
C(index,:)
或在一行中:
C([C{:,1}] > Threshold, :) %// Or C([C{:,1}] > Threshold, 2) as Luis said
最简单的解决方案是将列分开,这样就可以将数字数组和单元格数组分开。我认为OP需要
C(索引,2)