Solving multiple-root polynomials

Find roots and multiplicities of given polynomials using this short compact routine.
911 download
Aggiornato 7 gen 2011

Visualizza la licenza

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

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

Cita come

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

Compatibilità della release di MATLAB
Creato con R13
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Polynomials in Help Center e MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
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