Borrar filtros
Borrar filtros

help with plz

1 visualización (últimos 30 días)
Nasir Qazi
Nasir Qazi el 4 de Mzo. de 2012
% 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 comentario
Jan
Jan el 4 de Mzo. de 2012
Please use a meaningful subject line and tags.

Iniciar sesión para comentar.

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 4 de Mzo. de 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

Más respuestas (1)

Jan
Jan el 4 de Mzo. de 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 comentarios
Nasir Qazi
Nasir Qazi el 5 de Mzo. de 2012
it works with '&' instead of '&&'
Walter Roberson
Walter Roberson el 5 de Mzo. de 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"

Iniciar sesión para comentar.

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by