Azzera filtri
Azzera filtri

using "&" with logical array

3 visualizzazioni (ultimi 30 giorni)
Luca Re
Luca Re il 13 Feb 2024
Modificato: Stephen23 il 13 Feb 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'

Risposta accettata

Stephen23
Stephen23 il 13 Feb 2024
Modificato: Stephen23 il 13 Feb 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 Commenti
Stephen23
Stephen23 il 13 Feb 2024
Modificato: Stephen23 il 13 Feb 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 il 13 Feb 2024
ok thank..i understand

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by