不区分大小写';ismember';在MATLAB中的应用

不区分大小写';ismember';在MATLAB中的应用,matlab,Matlab,我有两个单元格,第一列是字符串。我目前正在使用ismember匹配两个单元格中的第一列元素。但ismember是区分大小写的。我不能使用strcmpi,因为单元格大小不等。你能建议另一种方法吗 cell1 = { 'AAPL' [2001] ; 'GOOG' [1999] ; 'MSFT' [2010] } ; cell2 = { 'AMZN' [2009] ; 'HP' [2011] ; 'CSC' [2005] ; 'Goog' [2010] } ; 不区分大小写的方法: tf = i

我有两个单元格,第一列是字符串。我目前正在使用
ismember
匹配两个单元格中的第一列元素。但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]
谢谢

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

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

tf =

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