MATLAB Answers

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

5 views (last 30 days)
In matlab R2015a
a = -1 ; a^0
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:
ans =
ans =
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. :)

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!