0

我有一个这样的一列矩阵:

神经网络

神经网络

神经网络

AAA

AAA

CCC

CCC

DDD

DDD

DDD

我想删除我没有 3 次重复的所有行。这将导致删除第 4、5、6、7 行(结果将仅是矩阵,其余为:

神经网络

神经网络

神经网络

DDD

DDD

DDD

(PS:这些是字符串,而不是数字)。

有没有一种智能的方法可以使用 matlab 做到这一点?我的意思是,使用功能等?因为我用for解决了这个问题,但我认为这不是最好的方法,它必须有另一种方法。

我在这里先向您的帮助表示感谢!:)

4

1 回答 1

1

这应该这样做:

t=tabulate(x) % count how much each element appears
valid=t(cell2mat(t(:,2))>=3,1) % find strings that appear at least 3 times 
result=x(ismember(x,valid)) % select only these strings

我在这里假设 x 是具有一列字符串的单元矩阵。如果 x 有其他列,则很容易解决。

于 2012-10-26T04:36:05.113 回答