具有多种条件的strmatch

时间:2014-02-27 16:51:58

标签: matlab

我想找出具有以下条件的行号。

编辑1 示例

  • 第1列='A'
  • 第2栏='B'
  • 第3列='C'

阵列:

x = { 'A'    'B'   'E';
      'A'    'B'    'C';
      'A'    'E'    'C';
      'B'    'F'    'E'}

我想找出具有以下条件的行号(第2行)。

  • 第1列='A'
  • 第2栏='B'
  • 第3列='C'

如何使用strmatch或其他函数在MATLAB中找到它?

1 个答案:

答案 0 :(得分:0)

在一般情况下:

rows = find(strcmp(x(:,1),'A') & strcmp(x(:,2),'B') & strcmp(x(:,3),'C'));

如果您总是有三列,并且每个单元格总是包含一个字母,您也可以使用:

rows = find(all(bsxfun(@eq, cell2mat(x), 'ABC'),2));