MATLAB: Contains() does not recognize the second string as a valid

containsignorecaseinputsMATLABthree

I am trying to use the "contains" function on elements of a cell and I am receiving an error:
>> temp = {'one', 'two', 'three'}
>> for i=1:length(temp)
>> contains(temp{1:i}, 't');
>> end
Error using contains
Unrecognized parameter name 't'. Parameter name must be 'IgnoreCase'.
Error in example (line 3)
contains(temp{1:i}, 't');

Best Answer

The reason you are receiving this error is because temp{1:i} is outputting two strings.
>> temp{1:i}
ans =
'one'
ans =
'two'
Then, the "contains" function sees those two strings as the first two inputs to the function. It compares the string 'one' to the string 'two'. It then thinks the third input to the "contains" function is 't', but the third input can only be 'IgnoreCase', which is why you are receiving this error.
Change:
>> temp{1:i}
To:
>> temp{i}