在MATLAB中使用不区分大小写“ismember”

时间:2011-05-03 16:06:17

标签: matlab

我有两个单元格,第一列是字符串。我目前正在使用ismember来匹配两个单元格中的第一列元素。但是成员是区分大小写的。我不能使用strcmpi,因为单元格大小不等。你能提出另一种方法吗?

cell1 = { 'AAPL' [2001] ; 'GOOG' [1999] ; 'MSFT' [2010] } ; 

cell2 = { 'AMZN' [2009] ; 'HP' [2011] ; 'CSC' [2005] ; 'Goog' [2010] } ;

不区分大小写的方法:

tf = ismember(cell1(:,1), cell2(:,1)) ; % tf should be now [0; 1; 0]

谢谢!

1 个答案:

答案 0 :(得分:6)

函数lowerupper对字符串的单元格数组进行操作,因此您可以在调用ismember之前使用它们将字符串转换为全部大小写:

>> tf = ismember(lower(cell1(:, 1)), lower(cell2(:, 1)))

tf =

     0
     1    % <-- there's the 1 you want!
     0