Getting odd output, want to understand the meaning of it

1 view (last 30 days)
i have input as given below and i can not understand the output of it.
syms Ed m V L En
Eqn = (Ed-m-(1/2)*(V))*(2/L)^(2/(0.1+2))*(m+Ed)^(0.1/(0.1+2)) - m*En*(m*L)^(-2/(0.1+2)) == 0
S = simplify(solve(Eqn,Ed))

Answers (1)

John D'Errico
John D'Errico on 9 Apr 2022
Edited: John D'Errico on 9 Apr 2022
syms Ed m V L En
Eqn = (Ed-m-(1/2)*(V))*(2/L)^(2/(0.1+2))*(m+Ed)^(0.1/(0.1+2)) - m*En*(m*L)^(-2/(0.1+2)) == 0
Eqn = 
S = simplify(solve(Eqn,Ed))
Warning: Possibly spurious solutions.
S = 
size(S)
ans = 1×2
22 1
Does an analytical solution exist? The problem seems to be equivalent to finding the roots of an 22nd degree polynomial in Ed. You can see that, since there are fractional powers of Ed in there. so if we were to raise things to the 21th power, then we could effectively clear those fractional powers.
Does an algebraic solution exist for a polynomial problem, of degree 5 or higher, with symbolic coefficients? In general, Abel-Ruffini showed that to be impossible, long before we were all born.
So MATLAB tells you that IF a solution existed, this is what it would require, but that it cannot go any further. It even gave you the degree 22 polynomial in z it would need to solve (look at sigma1).
If you wanted to know the actual roots, then you could substitute actual numbers for all of the other parameters, so m, V, L, En. Then MATLAB would be able to convert the problem into finding the roots of a high degree polynomial, with now constant coefficients. It can do that. Then you would still want to verify if the roots now found were true solutions of the original problem.
One final comment is the warning about possible spurious solutions. Sometimes in the manipulation of an eqiuation, things must be done to solve it, that can cause solutions to creep in that are not really solutions. So MATLAB telll you that possible spurious solutions may exist. Not all of those roots need be a solution to the original problem. But since MATLAB cannot know what those roots are, it cannot know which would be spurious.

Community Treasure Hunt

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

Start Hunting!