File Exchange

image thumbnail

Solving multiple-root polynomials

version 1.2 (51.9 KB) by

Find roots and multiplicities of given polynomials using this short compact routine.

2 Downloads

Updated

View License

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

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

 

Comments and Ratings (0)

Updates

1.2

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

MATLAB Release
MATLAB 6.5 (R13)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video