How to get rid of Warning"Unexpected use of '[' in a scalar context."

46 vues (au cours des 30 derniers jours)
Crystal Lee
Crystal Lee le 13 Août 2018
Modifié(e) : Stephen23 le 17 Sep 2020
a part of the function has:
if the input A (a vector) matches what is stated, the statement runs.
if A == [1,3,3]
% statement
end
and it gives me this error: 'Unexpected use of '[' in a scalar context. How can I fix this?
  3 commentaires
Stephen23
Stephen23 le 13 Août 2018
Modifié(e) : Stephen23 le 13 Août 2018
@Crystal Lee: please show us the complete error message. This means all of the red text.
Crystal Lee
Crystal Lee le 13 Août 2018
There is no red text, I was just wondering if I could get rid of the orange warning.

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 13 Août 2018
Modifié(e) : Stephen23 le 13 Août 2018
Use all or any, like this:
if all(A==[1,3,3])
Or right-click the pop-up warning box and follow the instructions to suppress it.
  3 commentaires
Thiago  Rodrigues
Thiago Rodrigues le 17 Sep 2020
What the explanation for the "all" fix the warning?
Stephen23
Stephen23 le 17 Sep 2020
Modifié(e) : Stephen23 le 17 Sep 2020
"What the explanation for the "all" fix the warning?"
Given a vector input the output from all is scalar. A scalar condition is easier to understand, which is why it is recommended by that warning.

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 13 Août 2018
When you use A == [1 3 3] ;
With this operator ==, MATLAB expects a scalar value, but the way used here, it gives array as output. So the warning pops out. The way you use, won't work out. YOu need to use the operator == with a scalar value, so the if condition works fine.
  5 commentaires
KSSV
KSSV le 13 Août 2018
Yes....it is not a error..it is a warning....I am using 2015b.
Crystal Lee
Crystal Lee le 13 Août 2018
Sorry, I confused warning with error.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Scope Variables and Generate Names dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by