using "&" with logical array

8 visualizaciones (últimos 30 días)
Luca Re
Luca Re el 13 de Feb. de 2024
Editada: Stephen23 el 13 de Feb. de 2024
oN is a array Logical
col is array Logical
why is not correct using &?
K>> class(oN)
ans =
'logical'
K>> class(col)
ans =
'logical'

Respuesta aceptada

Stephen23
Stephen23 el 13 de Feb. de 2024
Editada: Stephen23 el 13 de Feb. de 2024
"why is not correct using &?"
Who says that it is not "correct" ? What you show is not a code error (underlined in red), it is a recommendation (underlined in orange)
Benefits:
  • For scalar values && is (in general) faster than & because it only evaluates the right argument if the left argument is TRUE.
  • Defensive programming: by using && you assert that its arguments are scalar. If later they are erroneously not scalar then && will stop with an error (rarher than continuing in some unknown state).
  • Clarity to the reader
If you want to ignore this recommendation then right-click and select one of the "ignore" options.
  3 comentarios
Stephen23
Stephen23 el 13 de Feb. de 2024
Editada: Stephen23 el 13 de Feb. de 2024
"The array is a logical type so the correct use of the operator is to use the "&" for logical operations.
You just invented that rule yourself: there is no rule saying that scalar values must use &.
In contrast the static code parser is written by the people who actually develop MATLAB.
""&&" if they are scalars but this is not the data type in question"
MATLAB does not have a "scalar" data type, they are all arrays:
Most likely the data in question is scalar: assuming that k is a scalar subscript then both of the arguments to && will be scalar, and the recommendation is completely appropriate. That is most likely what the static parser has detected. Your invention of non-existent data types and non-existent rules does not help you.
Question: what size do oN(k) and col(k) have?
Luca Re
Luca Re el 13 de Feb. de 2024
ok thank..i understand

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by