0
|
5539 Views
|
3 Replies
|
5 Total Likes
View groups...
Share
GROUPS:

# Why Mathematica cannot solve simple power eqation?:(

 Dear All, problem is as following: I have a simple equation that Mathematica cannot solve - I found problem when trying to calculate equation with real powers instead of integers or simple fraction (as in attached example with x^0.5 and x^0.5000001). I suspect that it's trivial but I couldn't find the solution:/ Any ideas? Regards, Darek Attachments:
3 Replies
Sort By:
Posted 10 years ago
 In[1]:= FindRoot[ 5.9 (x + 0.007)^0.565 + 0.00413*x^1.33 - 0.367 == 10, {x, 3}] Out[1]= {x -> 2.69776} 
Posted 10 years ago
 NSolve is for (numerically) solving polynomial equations (as seen from the first description returned by ?NSolve). The given (original) equation is not a polynomial. Therefore we must resort to explicitly finding the roots as Frank has done with FindRoot. FindRoot is not restricted to polynomials, therefore it returns an answer. Reading the posting again, I am not completely convinced of my answer above because NSolve[5.9x^0.5-x==1,x] returns a solution when the equality is not a polynomial per PolynomialQ[5.9x^0.5 - x]. Maybe someone else can explain better?
Posted 10 years ago
 NSolve will make a polynomial by adding auxiliary equations and variables to handle the radicals, e.g.newvar[1][^100==x^133(sonewvar[1]is an alias forx^1.33. Suffice it to say that high degree polynomials lead to more work.Here is an approximation that completes in 2-3 minutes. Ee[X_] := 5.9 (X + 0.007)^(1/2 + 2/15) + 0.00413 X^(4/3) - 0.367; NSolve[Ee[x] == 10, x, Reals] (* Out[12]= {{x -> 2.68986312775}} *) If we use 1/2+13/100` for that first exponent my guess is it will take considerably longer. I did not check to see whether specification of real solutions led to a significant change, either direction, in speed.