Parametric solution to non-linear equation

14 visualizzazioni (ultimi 30 giorni)
FEDERICO GIACCI
FEDERICO GIACCI il 23 Ago 2016
Risposto: Walter Roberson il 23 Ago 2016
Hi all! I have a (very long) non-linear equation with unknown x1,...,x8. I tried to use "solve(eqn,x1)" to get the parametric solution x1=f(x2,...,x8), but I get "Cannot find explicit solution". In the equation I have terms like x1^2, x1^3, x1^4,... The simplest reason for that could be that the formula is more than 25000 characters :D The final purpose is to solve an 8-equations system, with x1,...,x8 unknown.
Can anybody help me?
Thank you so much for your help
Federico

Risposte (1)

Walter Roberson
Walter Roberson il 23 Ago 2016
If your equations contains any trig functions, you probably will not be able to find a closed form solution. Also if your equations contain the sum of exponentials with more than two exponentials then you will probably not be able to find a closed form solution (and even two exponentials cannot usually be found as a closed form solution.) If your equation contains fractional powers then typically you would not be able to find a closed form solution.
If your equations are multinomials (that is, polynomials in several variables) then you might be able to find a solution for up to four of the variables (possibly), but if the maximum total degree of your terms exceeds 4 then you probably will not be able to get an explicit expression, and even total degree 4 typically ends up with something too complex to be usable. You indicated that you have x1^4: there are closed form solutions for quartics, but they are silly long and essentially useless for practical purposes.
You might be able to help it along by using the MaxDegree option to solve()
You should probably use fsolve() instead, especially in combination with any bounds that you know (for example, if you know that x1 is real and positive and less than 10000? If so then that can help a lot in finding solutions.)

Community Treasure Hunt

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

Start Hunting!

Translated by