Explicit solution using Syms tool box
1 回表示 (過去 30 日間)
古いコメントを表示
I am trying to run the following code but MATLAB is not showing explicit solution. Any idea how can I retrive it? I tried using MaxDegree but still it wont show the answer.
I know expected answer is very long. But any idea on retiving it ?
Here is code:
clear all
clear
syms TE TS LLL LL
eqn = (TE-TS)^4 == ((LL*(TS^4))+(LLL*TS))^3
solx = solve(eqn, TS,'MaxDegree',12)
2 件のコメント
Star Strider
2020 年 5 月 22 日
It does show the answer, actually.
In the degree polynomial, there are three remaining variables, ‘TE’, ‘LL’, and ‘LLL’, so it gives the expressions in terms of those variables.
solx = isolate(expand(eqn), TS)
gives:
solx =
TS == root(LL^3*z^12 + 3*LL^2*LLL*z^9 + 3*LL*LLL^2*z^6 - z^4 + 4*TE*z^3 + LLL^3*z^3 - 6*TE^2*z^2 + 4*TE^3*z - TE^4, z, 1)
An analytic expression for each of those roots is likelly not possible.
.
回答 (1 件)
John D'Errico
2020 年 5 月 22 日
編集済み: John D'Errico
2020 年 5 月 22 日
You WANT to find a solution to a general 12'th degree polynomial. There are things I want, but cannot have either.
In this case, you have formulated a 12th degree polynomial. Abel-Ruffini showed long ago that there is no analytical solution to such the general problem, since the polynomial degree is at least 5. And since 12 >= 5, you are out of luck. Just specifying MaxDegree as 12 will get you nowhere. It is not just that the expected answer is very long. The expected answer is non-existent, except for rare special cases of the parameters TE, LL, and LLL.
If you can set specific values of LL, LLL, and TE, then you can solve for the roots, but solve will still only be able to formulate them in numerical form almost always. Don't expect an algebraic solution.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Equation Solving についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!