The blank before var >0.5 cause error in R2016a
29 views (last 30 days)
Show older comments
raym
on 8 Jul 2024 at 15:53
Answered: Walter Roberson
on 8 Jul 2024 at 18:52
I found a strange behavior in R2016a command line. The additional blank before > cause problem:
>> aAreaVec = rand(5,1)
aAreaVec =
0.8147
0.9058
0.1270
0.9134
0.6324
>> aAreaVec>0.5
ans =
1
1
0
1
1
>> aAreaVec >0.5
Error: "aAreaVec" was previously used as a variable, conflicting with its use here as the name of a function or command.
See "How MATLAB Recognizes Command Syntax" in the MATLAB documentation for details.
0 Comments
Accepted Answer
Walter Roberson
on 8 Jul 2024 at 18:52
You are running into Command Function Equivalence https://www.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html
aAreaVec>0.5
is parsed as a relational operator comparing aAreaVec and 0.5
aAreaVec >0.5
is parsed as a call to a function named aAreaVec with parameter '>0.5'
which fails because aAreaVec is known as a variable and so cannot also be a function call.
The correction is to either use
aAreaVec>0.5
or
aAreaVec > 0.5
or to not have the code as the first expression; for example it would work to use
disp(aAreaVec >0.5)
0 Comments
More Answers (1)
Mathieu NOE
on 8 Jul 2024 at 16:03
I don't think it has to do with a specific release
I have the same result with R2020a
now either you put no space or at least one space before and after the <
in your case ( 1 space beore , none after) will throw an error
0 Comments
See Also
Categories
Find more on String Parsing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!