matlab中有个函数strcmp,他主要是用于做字符串比较的函数,按复杂程度及比较对像的不同主要可以分为以下三种情况:
1. TF=strcmp(s1,s2);
s1和s2是字符串,比如:s1=‘hello’,s2='matlab'。
如果s1和s2是一致的(identical),则返回值TF=1,否则,TF=0。
e.g.
>> s1='hello';
>> s2='hello';
>> s3='matlab';
>> TF1=strcmp(s1,s2);
>> TF1
TF1 =
1
>> TF2=strcmp(s1,s3);
>> TF2
TF2 =
0
2. TF=strcmp(s,c);
s是一个字符串,the c is a cell array,c的元素全是字符串,比如:s=‘hello’,c={'hello','matlab';'HELLO','matlab'}。
返回值TF是一个和c有相同size的logical array,TF的元素是1或0。
把c中的每个元素和s做比较,如果一致,则TF对应位置的元素为1,否则,为0。
e.g.
>> s='hello';
>> c={'hello','matlab';'HELLO','matlab'};
>> TF=strcmp(s,c);
>> TF
TF =
1 0
0 0
3. TF=strcmp(c1,c1);
c1和c2都是cell arrays,并且它们具有相同的size,它们的元素都是字符串,比如c1={'hello','matlab';'HELLO','matlab'};c2={'hello','matlab';'hello','MATLAB'};
返回值TF是一个和c1或c2有相同size的logical array,TF的元素是1或0。
把c1和c2对应位置的元素做比较,如果一致,则TF对应位置的元素为1,否则,为0。
e.g.
>> c1={'hello','matlab';'HELLO','matlab'};
>> c2={'hello','matlab';'hello','MATLAB'};
>> TF=strcmp(c1,c2);
>> TF
TF =
1 1
0 0