MATLAB Answers

Matlab is inconsistent when raising numbers to the zero'th power:

5 views (last 30 days)
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!

Accepted Answer

John D'Errico
John D'Errico on 8 Mar 2016
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. :)
  2 Comments

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!