The blank before var >0.5 cause error in R2016a

29 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2024-7-8,18:52
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)

更多回答(1 个)

Mathieu NOE
Mathieu NOE 2024-7-8,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

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by