help with plz

1 次查看(过去 30 天)
Nasir Qazi
Nasir Qazi 2012-3-4
% 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
  1 个评论
Jan
Jan 2012-3-4
Please use a meaningful subject line and tags.

请先登录,再进行评论。

采纳的回答

Titus Edelhofer
Titus Edelhofer 2012-3-4
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

更多回答(1 个)

Jan
Jan 2012-3-4
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 个评论
Nasir Qazi
Nasir Qazi 2012-3-5
it works with '&' instead of '&&'
Walter Roberson
Walter Roberson 2012-3-5
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"

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by