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.

0 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