why this message error
1 view (last 30 days)
I do not know what means this message error:
Operands to the logical AND (&&) and OR (||) operators must be convertible to logical scalar values. Use the ANY or ALL
functions to reduce operands to logical scalar values.
Error in EXAMPLE_GA_TOUR1 (line 35)
while cond<500 && gg<100
Can anybody help
Walter Roberson on 17 Aug 2022
The && operator is the "short circuit and" operator. A && B evaluates A, and if A is non-zero, then it evaluates B -- but if A is zero then it does not evaluate B because it knows the test will fail.
The && operator is restricted to working on scalar values.
Looking at the error message, we can predict that either cond is not a scalar, or else gg is not a scalar. You need to think more about what you want to have happen. Do you want to exit the while loop as soon as even one cond value is >= 500? Or do you want to continue the while loop until all cond values are >= 500 ?
You should be using any() or all() to reflect what you want to happen when the variables are non-scalar. Or possibly you should be reviewing your logic to figure out how cond or gg accidentally became non-scalar.