Finding polynomial roots without normal form

4 visualizaciones (últimos 30 días)
Lindley French
Lindley French el 11 de Ag. de 2011
The roots(p) function finds polynomial roots given a vector of polynomial coefficients. However, I have encountered several problems where a polynomial of many variables is specified, but all of those variables except one is known and I need to solve for the roots in terms of the final variable. Rearranging all of the variables into coefficients of the remaining independent variable is tedious and sometimes error-prone.
Is there any way, without using the symbolic manipulation toolbox which I don't have, to identify the coefficients numerically after substitution of values for the known variables, and/or compute the roots of the function directly? Exact solutions preferred, but approximations would be nice to know about as well.

Respuesta aceptada

Lindley French
Lindley French el 12 de Ag. de 2011
The polynomial was g(t) = t*((a*t+b)^2+h^2(c*t+d)^2)^2 - (a*d - b*c)(1 + f^2*t^2)^2*(a*t + b)*(c*t+d). Solve for the coefficients of g(t).....
Needless to say, manual symbolic manipulation would not have been a good option. Fortunately, I discovered that I could represent each term as a polynomial after value substitution and multiply them out using the conv() function. So that solves my problem.

Más respuestas (2)

Paulo Silva
Paulo Silva el 11 de Ag. de 2011
Use the fzero function instead.

Walter Roberson
Walter Roberson el 11 de Ag. de 2011
What is your present representation for the polynomial, and how are you presently doing the substitution?

Categorías

Más información sobre Polynomials en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by