Why does the SOLVE function in the Symbolic Math Toolbox return an incorrect result when solving an equation with a decimal power of x?

1 view (last 30 days)
I am trying to solve the equation x^0.12-1=0 with the Symbolic Math Toolbox. When I execute the following code:
solve('x^0.12-1')
I receive the following result
ans =
1.
-0.500+.8660*i
-0.500-.8660*i
However, if I plug the imaginary results back into the original equation, the equality is not satisfied.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
This is due to the way that Maple solves the equation with decimal exponents by first having the decimal interpreted as its simplified fractional equivalent.
For example, x^z with z=a/b and a/b is the simplified fraction, will be interpreted as (x^a)^(1/b). The result returned is then found by taking the integer roots. In the instance where there are multiple integer roots, MATLAB and the DSOLVE function in Maple return just one of the roots.
For instance, the above equation
x^.12 = 1
is interpreted as
x^(3/25)=(x^3)^(1/25) = 1
x^3=1^25
Hence we obtain three roots each of which would satisfy
x^3 = 1

More Answers (0)

Products


Release

R14SP2

Community Treasure Hunt

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

Start Hunting!