Matlab is inconsistent when raising numbers to the zero'th power:
1 次查看(过去 30 天)
显示 更早的评论
In matlab R2015a
-1^0
returns
-1
but
a = -1 ; a^0
returns
1
wolfram alpha agrees that -1^0 = -1, but I believe that everybody else says that x^0 = 1, for all x not equal to 0.
The -1^0 = -1 appears to be a bug? But it's hard to believe that Mathematica has exactly the same bug!
0 个评论
采纳的回答
John D'Errico
2016-3-8
What you apparently misunderstand is the idea of operator precedence.
There is a difference between these two operations:
-1^0
ans =
-1
and
(-1)^0
ans =
1
What you need to recognize is that ^ operates before the unary minus operator. Once you recognize that, you recognize it is not a bug, but a design question, and one that makes some sense.
You are not the first person to trip over it though. I've seen this question asked before. :)
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!