how to solve this error
1 view (last 30 days)
Show older comments
Mohamuud hassan
on 18 May 2015
Commented: Walter Roberson
on 18 May 2015
hello all, i have this error with this code
Undefined function 'eq' for input arguments of type 'cell'.
Error in e_extructing (line 107)
if(Ex_domain(loop7_out)=='hotmail.com')
Ex_domain =regexp(k2, '(?<=@).+$', 'match' )
for loop7_out=1:length(Ex_domain)
if(Ex_domain(loop7_out)=='hotmail.com')
Ex_Z(loop7_out)=0
elseif(Ex_domain{loop7_out}=='gmail.com')
Ex_Z(loop7_out)=1
elseif(Ex_domain{loop7_out}=='yahoo.com')
Ex_Z(loop7_out)=2
elseif(Ex_domain{loop7_out}=='mail.com')
Ex_Z(loop7_out)=3
elseif(Ex_domain{loop7_out}=='live.com')
Ex_Z(loop7_out)=4
elseif(Ex_domain{loop7_out}=='msn.com')
Ex_Z(loop7_out)=5
elseif(Ex_domain{loop7_out}=='myspace.com')
Ex_Z(loop7_out)=6
elseif(Ex_domain{loop7_out}=='mynet.com')
Ex_Z(loop7_out)=7
end
end
0 Comments
Accepted Answer
Chad Greene
on 18 May 2015
Unfortunately, you can't use == when comparing strings. Replace
Ex_domain(loop7_out)=='hotmail.com'
and all the similar logical checks with
strcmpi(Ex_domain(loop7_out),'hotmail.com')
2 Comments
Chad Greene
on 18 May 2015
Better yet, skip the ifs and elseifs:
Ex_domain = {'msn.com','msn.com','yahoo.com'};
domains = {'hotmail.com','gmail.com','yahoo.com','mail.com','live.com','msn.com','myspace.com','mynet.com'};
Ex_Z = NaN(size(Ex_domain));
for k = 1:length(Ex_domain)
Ex_Z(k) = find(strcmpi(domains,Ex_domain(k)))-1;
end
Walter Roberson
on 18 May 2015
That will happen to work, but better would be
strcmpi(Ex_domain{loop7_out},'hotmail.com')
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!