Matlab:计算文件中唯一字符串的数量

Matlab:计算文件中唯一字符串的数量,matlab,Matlab,我需要在Matlab中执行以下操作。我在制表符或逗号分隔的文件中有一个名称列表。比如说, Gregor M. Suka Mark A. Pizda Matthew A. Blyad Mark A. Pizda 我想将此列表加载到Matlab中,并计算文件中每个名称的出现次数,即除Mark A外的所有名称。Pizda将出现1次,Mark将出现2次 我通常使用howmount.m来实现这一点,但当我使用textscan函数加载数组时,它会给我一个单元格数组,我无法运行howmount.m计数

我需要在Matlab中执行以下操作。我在制表符或逗号分隔的文件中有一个名称列表。比如说,

Gregor M. Suka

Mark A. Pizda

Matthew A. Blyad

Mark A. Pizda
我想将此列表加载到Matlab中,并计算文件中每个名称的出现次数,即除Mark A外的所有名称。Pizda将出现1次,Mark将出现2次

我通常使用howmount.m来实现这一点,但当我使用textscan函数加载数组时,它会给我一个单元格数组,我无法运行howmount.m计数


如有任何建议,将不胜感激

假设加载文件并获取单元格数组中的字符串:

strings = {'Gregor M. Suka', 'Mark A. Pizda', 'Matthew A. Blyad', 'Mark A. Pizda'};
[uniqueStrings, ~, v] = unique(strings(:));
occurrence = accumarray(v,1); %// Or: occurrence = histc(v,unique(v));
这给

uniqueStrings = 
    'Gregor M. Suka'
    'Mark A. Pizda'
    'Matthew A. Blyad'

occurrence =
     1
     2
     1

也许你可以用这个。使用name字符串作为键字段,count作为值字段。我有一个非常大的数据集,所以我不确定映射容器是最好的方法。还有其他建议吗?这似乎是一项非常常见的任务,因此必须有一种有效的方法来完成。