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!

