Solving multiple-root polynomials
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 (2024). Solving multiple-root polynomials (https://www.mathworks.com/matlabcentral/fileexchange/28377-solving-multiple-root-polynomials), MATLAB Central File Exchange. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- MATLAB > Mathematics > Elementary Math > Polynomials >
Tags
Quellenangaben
Inspiriert von: Polynomial coefficient vector derived from sub-polynomial factors, Polynomials with multiple roots solved
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
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 |