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
*****************************************************************************************
引用格式
Feng Cheng Chang (2024). Solving multiple-root polynomials (https://www.mathworks.com/matlabcentral/fileexchange/28377-solving-multiple-root-polynomials), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- MATLAB > Mathematics > Elementary Math > Polynomials >
标签
致谢
参考作品: 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!