- 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
using "&" with logical array
1 回表示 (過去 30 日間)
古いコメントを表示
採用された回答
Stephen23
2024 年 2 月 13 日
編集済み: Stephen23
2024 年 2 月 13 日
"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:
If you want to ignore this recommendation then right-click and select one of the "ignore" options.
3 件のコメント
Stephen23
2024 年 2 月 13 日
編集済み: Stephen23
2024 年 2 月 13 日
"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?
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multidimensional Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!