我想找出具有以下條件的行號。與多個條件的strmatch
編輯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 ?
我想找出具有以下條件的行號。與多個條件的strmatch
編輯1例如
陣列:
x = { 'A' 'B' 'E';
'A' 'B' 'C';
'A' 'E' 'C';
'B' 'F' 'E'}
我想根據以下條件找出行號(第2行)。
如何使用strmatch
或其它功能來找到它在MATLAB ?
在一般情況下:
rows = find(strcmp(x(:,1),'A') & strcmp(x(:,2),'B') & strcmp(x(:,3),'C'));
如果你總是有整整三列,如果每個單元總是包含一個字母,您也可以使用:
rows = find(all(bsxfun(@eq, cell2mat(x), 'ABC'),2));
(1)我的數據總是至少有3列,但(2)並非所有單元格只包含單個字母。 – user2230101
@ user2230101請參閱編輯 –
你可以發佈一個最小例? – chappjc
我已經添加了一個例子。 – user2230101
似乎不是上述問題的重複。也許答案有點相關,但問題是完全不同的,這個問題有一個更合適的答案。 –