'Solve' 10th order polynomial symbolically; answer comes in the form of 'z' although defining MaxDegree!

5 次查看(过去 30 天)
Hello,
I am trying to solve a 10th order polynomial symbolically using 'solve' command. I am using Matlab R2019a academic version. I am using the following the code:
syms zita lamda omega r Fe positive
DT=((2*zita*omega).^2)*r^2+((1-(1+lamda*r^2/2+lamda*r^4/4).*omega.^2).^2)*r^2-(Fe^2)==0;
E=expand(DT);
R=solve(E,r,'MaxDegree',10)
What I'm getting for answer is root (..) in terms of 'z'. Previously I've ran into such problem but when I provided the MaxDegree, Matlab was able to provide the solution. In those cases, maximum degree was 6. I was hoping if anyone could suggest a different approach to solving this problem. I'd really appreciate it.
Anika

采纳的回答

Walter Roberson
Walter Roberson 2020-3-10
You have a quintic (degree 5). There are no general closed form solutions for degree 5 or higher.
The 'MaxDegree' option is only useful if the polynomial can be factored into expressions that are degree 4 or less. MaxDegree is not magic: it just tells MATLAB how aggressive to be in substituting in long closed form formulas when they are available . And degree 4 is the highest degree that you can be sure that the long formulas are available.
  2 个评论
Anika Tabassum Sarkar
Thank you Walter! This explains it. I was wondering if you know of any other tool that is capable of solving higher degree closed form equation.
Walter Roberson
Walter Roberson 2020-3-10
It has been proven theoretically that there are quintics (degree 5) that have no "algebraic root" . So for degree 5 or higher, finding a symbolic root is a matter of managing to factor the expression through various techniques such as "completing the square" in order to reduce it to the product of terms that are of lower degree. The standard symbolic packages are typically not bad at that -- though not fool-proof.
As best I can tell, the equation you show us does not have closed form roots in r.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by