我试图用matlab计算文本中的单词数(即每个单词的频率)。所以我使用的是代码:
a=tabulate(Myword);
执行后,此代码返回如下数组:
word .......count......percent
Hi..........10........0.12
No..........20........0.42
所以我想返回高频词。我怎么能这样做?
我使用了这段代码:
a=sortrows(a,2);
但它不起作用。
我是matlab的初学者
祝你好运
答案 0 :(得分:1)
Tabulate返回cell array。您可以像这样得到高频词的行:
[~,idx] = max([a{:,2}])
它做的是取单元数组的第二列,将其转换为向量(通过[]
)并获取最大值的索引,该值是单元格数组上单词的行索引。然后,您可以使用idx
来检索该字词:
a{idx,1}