在数据集错误中搜索名称:未定义函数'eq'表示'cell'类型的输入参数

时间:2013-04-17 09:11:59

标签: matlab

我加载了一个包含数据列的文件。第一行包含CITY,YEAR2000。

第一列有城市名称。其他列包含数字数据。

我正在尝试使用以下方式搜索特定城市:

data(data.CITY=='Athens',3:end)

,其中

data = dataset('File','cities.txt','Delimiter',',')

但我收到错误

Undefined function 'eq' for input arguments of type 'cell'.

-------- UPDATE -----------------------------

好的,使用:

data(find(strncmp(data.CITY,'Athens',length('Athens'))),3:end)

1 个答案:

答案 0 :(得分:2)

您是否尝试过将strncmpfind纠缠在一起?

我会这样用它

find(strncmp(data.CITY,'ATHENS',length('ATHENS')))

修改

其他利用机会包括strfind

strfind(data.CITY,'ATHENS')

编辑2

您也可以尝试使用

data(ismember(data.CITY,'ATHENS'),3:end)

这会引导你达到你期望的结果(至少我猜是这样)。

编辑3 鉴于你的上一次请求,我会选择这个解决方案:

inp = input('Name of the CITY: ','s')
Name of the City: ATHENS
data(find(strncmp(data.CITY,inp,length(inp))),3:end)