Parametric solution to non-linear equation

조회 수: 14 (최근 30일)
FEDERICO GIACCI
FEDERICO GIACCI 2016년 8월 23일
답변: Walter Roberson 2016년 8월 23일
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

답변 (1개)

Walter Roberson
Walter Roberson 2016년 8월 23일
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.)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by