Error with set difference function

2 次查看(过去 30 天)
I would like to compare 2 arrays B,S of size (1691,1) and (861,1), and find the values unique to array B. I get the following error when I used the setdiff function.
"Error using cell/setdiff>cellsetdiffR2012a (line 291)
Input A of class cell and input B of class cell must be cell arrays of strings, unless one is a string.
Error in cell/setdiff (line 83)
[varargout{1:nlhs}] = cellsetdiffR2012a(varargin{:}); "
Note: The values of the array are in the following format,
['1.1.1.100';'1.1.1.101';'1.1.1.141']

回答(1 个)

dpb
dpb 2018-4-16

['1.1.1.100';'1.1.1.101';'1.1.1.141'] is a char() array, not cellstr or string

Either

>> c=cellstr(s)
c =
3×1 cell array
  '1.1.1.100'
  '1.1.1.101'
  '1.1.1.141'
>>

or

>> string(c)
ans = 
3×1 string array
  "1.1.1.100"
  "1.1.1.101"
  "1.1.1.141"
>> 

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by