将1个字符串与带索引的字符串数组进行比较(Matlab)

时间:2016-04-26 03:32:13

标签: string matlab similarity cell-array

我有1个字符串和1个srings单元格数组:

  F = 'ABCD'
  R = {'ACBD','CDAB','CABD'};

我想将字符串F与R中的所有字符串进行比较,如下所示:F(1)='A'和R {1}(1)='A',我们将计算1(因为它们有相同的值'A'),F(2)='B'和R {1}(2)='C'我们将计数0(因为它们具有不同的值)...并且像那样直到所有的结束字符串。

对于此“ABCD”和“ACBD”,我们将获得same = 2dif = 2

如何将F与上述规则中R中的所有元素进行比较,得到总数(相同)和总数(dif)?

1 个答案:

答案 0 :(得分:2)

假设R中的所有字符串与F的长度相同,您可以使用cellfun

same = cellfun( @(r) sum(F==r), R )

结果

2     0     1

same中每个字符串的R值。如果您需要dif

dif = numel(F)-same;

如果你想要总数:

tot_same = sum(same);
tot_dif = sum(dif);