Explicit solution using Syms tool box
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Star Strider
le 22 Mai 2020
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.
.
Réponses (1)
John D'Errico
le 22 Mai 2020
Modifié(e) : John D'Errico
le 22 Mai 2020
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 commentaires
Voir également
Catégories
En savoir plus sur Equation Solving dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!