George
George

Reputation: 5681

search a name in dataset error :Undefined function 'eq' for input arguments of type 'cell'

I load a file which has some columns with data.The first line contains ,CITY,YEAR2000 .

The first column has name of cities.The other columns contain number data.

I am trying to search for a specific city using:

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

where

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

but I receive an error

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

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

Ok, use :

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

Upvotes: 1

Views: 5778

Answers (1)

fpe
fpe

Reputation: 2750

Have you tried with using strncmp tangled with find?

I would use it this way

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

EDIT

Other opportunities to exploit would encompass strfind

strfind(data.CITY,'ATHENS')

EDIT 2

You could also try with

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

This should lead you to the results you expect (at least I guess so).

EDIT 3 Given your last request I would go for this solution:

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

Upvotes: 2

Related Questions