MATLAB: 8th degree polynomial numerical instability

MATLABnormalizationnumerical instabilitypolynomialroots

hi there, I have a piece of my code where I form an 8th degree polynomial and find its roots via the "root" command. The problem is that the roots are not always correct. Basically for some polynomials the roots are all very close to zero. However if I slightly perturb my input values that eventually form the polynomial i do get the solution. I feel like there is some kind of numerical instability in this polynomial. And looking at it numerically the coefficients are wildly different. Some in the order of 10^-20 and some 10^20. I know that's a recipe for numerical instability, but i dont know what to do about it! any suggestions would be appreciated.
thanks in advance ,
H

Best Answer

My suggestion is avoid any polynomial with degree greater than three or four. They are highly unstable and aren't actually modelling any physical process at this point. What are you trying to do? There is probably (i.e. definitely) a better fitting tool for whatever you are doing?
Related Question