Solving multiple-root polynomials

Find roots and multiplicities of given polynomials using this short compact routine.
913 Downloads
Aktualisiert 7. Jan 2011

Lizenz anzeigen

The MATLAB script file M_polyroots.m is to compute all the roots with multiplicities of any given polynomials.

Let a given polynomial p(x) be expressed as

p(x) = x^9 +7x^8 +12x^7 -12x^6 -42x^5 -6x^4 +44x^3 +20x^2 -15x -9

= (x +3)^2 * (x +1)^4 * (x -1)^3

= (x^2 +2x -3)^2 * (x +1)^3 * (x^2 -1)

It does give, respectively,

c = [ +1 +7 +12 -12 -42 -6 +44 +20 -15 -9 ]

r = [ -3 -3 -1 -1 -1 -1 +1 +1 +1 ]

A = [ 2 -3 +2 +1; 3 +1 +1 +0; 1 -1 +0 +1 ]

Then the polynomial coefficient vector p may be created by either

(1) p = c

(2) p = poly(r)

(3) p = polyget(A)

The desired roots/mults Z are therefore computed from p by

Z = polyroots(p)


********************************************************************************************

For detail description and typical examples, please see attached file: SolvingMultipleRootsPolynomials.pdf

The stand-alone file M_polyroots.exe has also been created to be run in DOS without MATLAB.

Request for 'M_polyroots.exe' may be made by e-mail to: fcchang007@yahoo.com.

Ref: IEEE Antennas & Propagation Magazine, vol. 51, no. 6, pp.151-155, Dec 2009

*****************************************************************************************

Zitieren als

Feng Cheng Chang (2026). Solving multiple-root polynomials (https://de.mathworks.com/matlabcentral/fileexchange/28377-solving-multiple-root-polynomials), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R13
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Polynomials finden Sie in Help Center und MATLAB Answers
Version Veröffentlicht Versionshinweise
1.2.0.0

Update the files. Include, for example, solving a polynomial expanded: p(x) = (x +98.7654321+123.456789i)^123.

1.0.0.0