Polynomials with multiple roots solved
A given polynomial having multiple roots is solved by the routine
Z = poly_roots(p)
where
Input p: polynomial coefficient vector
Output Z: root-multiplicity pairs
The MATLAB source code is very simple and compact (fewer then 50 lines) and amazingly gives the expected results for any test polynomials of very high degree and multiplicities.
In this simple routine 'poly_roots.m', except for a MATLAB built-in function 'roots.m', all the required computations involve only simple elementary arithematic operations (such
as additions, subtractions, multiplications, divisions, and integer exponations), without applying any high mathematics. The only routine 'roots.m' is used here mainly to solve a simple roots polynomial (not any multiple roots polynomials).
Most of the calculations in this routine involve elementary arithematic operations, therefore, it is fairly easy to improve the expected results from the existing double precision to vpi' multiple precision.
For detail description, please refer to
F.C. Chang, "Solving multple-root polynomials" IEEE Antennas and Propagation Magazine, Vol.51, No.6, pp. 151-155, Dec. 2009.
Citar como
Feng Cheng Chang (2024). Polynomials with multiple roots solved (https://www.mathworks.com/matlabcentral/fileexchange/25375-polynomials-with-multiple-roots-solved), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxCategorías
- MATLAB > Mathematics > Elementary Math > Polynomials >
Etiquetas
Agradecimientos
Inspirado por: poly_gcd(p,q), Multiple-root polynomial solved by partial fraction expansion, Polynomial coefficient vector derived from sub-polynomial factors
Inspiración para: Solving multiple-root polynomials
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
1.9.0.0 | Correct a tiny bug, pinpointed by a reader. |
||
1.8.0.0 | Minor correction to poly_roots.m |
||
1.7.0.0 | Update the original source code. It involves only simple elementary operations, except 'roots.m'. It may easily convert into multiple precision later. |
||
1.6.0.0 | add some examples |
||
1.5.0.0 | Update the m-file to speed up operations. Also present 17 typical examples for test polynomials in MATLAB script file. |
||
1.2.0.0 | Update m-file -- improve help description |
||
1.1.0.0 | Update the m-file, the very small roots can thus be solved. |
||
1.0.0.0 |