help with plz
    2 views (last 30 days)
  
       Show older comments
    
% Note :- in this code y & x has 10 values, but every time I run % the command it will give me this error... %*(??? Operands to the and && operators must be convertible to logical scalar values.)*
Error in ==> dewpointT at 75 if (abs(raw(1)) < 1e-5 && abs((y./K)-x) < 1e-5)
 raw(1)= sum(y./K)-1;
 if (abs(raw(1)) < 1e-5 && abs((y./K)-x) < 1e-5)
         break
Accepted Answer
  Titus Edelhofer
    
 on 4 Mar 2012
        Hi,
if y and x are vectors, then abs((y./K)-x)<1e-5) is a (logical) vector as well. You will need to decide, if the relation must hold for at least one index, or for all of them. Replace by
any(abs((y./K)-x)<1e-5))
or
all(abs((y./K)-x)<1e-5) )
accordingly.
Titus
0 Comments
More Answers (1)
  Jan
      
      
 on 4 Mar 2012
        The error message is very clear: "Operands to and && operators must be convertible to logical scalar values." It is always worth to read the error messages of Matlab.
2 Comments
  Walter Roberson
      
      
 on 5 Mar 2012
				Nasir, it doesn't bomb out with an error if you change to &, but that doesn't mean that it works. Please review Titus's response and study the documentation for "any" and "all"
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

