'Solve' 10th order polynomial symbolically; answer comes in the form of 'z' although defining MaxDegree!
5 ビュー (過去 30 日間)
古いコメントを表示
Anika Tabassum Sarkar
2020 年 3 月 10 日
コメント済み: Walter Roberson
2020 年 3 月 10 日
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
0 件のコメント
採用された回答
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 件のコメント
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 Center および File Exchange で Assumptions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!