can i compare two cell array with double and string value?

8 次查看(过去 30 天)
i have a 303*14 dataset i want compare every raw of this dataset with a 1*14 vector
this dataset has double and string values but the vector just has string values in fact i want compare string values with double values!
  2 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-12-22
How to compare double with string? Can you provide a short example: a 3x4 cell array fo example.
dpb
dpb 2013-12-22
编辑:dpb 2013-12-22
Sotoo
>> c={'abc';2;'xyz'}; % some trivial data set
>> ismember({c{cellfun(@ischar,c)}}','xyz')
ans =
0
1
>>
maybe? Salt to suit for vectors, of course...
Now how to compare the doubles to strings -- for what definition of compare? If the strings are numeric representations then simplest would be to convert to numeric value w/ str2dble or the like and then do the comparison. Or, go the t'other way 'round and convert the doubles to character representation with appropriate number of significant digits and do the comparison in that domain.
Either way, as Azzi points out you'll need to define what it is you actually mean first...

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2013-12-24
row_is_the_same = arrayfun( @(rownum) isequal( YourDataset(rownum,:), TheVectorToCompareTo), 1:size(YourDataset,1));
The answer will be false for every row since a number is not the same as a string, but you didn't ask us for advice about dealing with that.

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by