Finding polynomial roots without normal form

4 views (last 30 days)
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.

Accepted Answer

Lindley French
Lindley French on 12 Aug 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.

More Answers (2)

Paulo Silva
Paulo Silva on 11 Aug 2011
Use the fzero function instead.

Walter Roberson
Walter Roberson on 11 Aug 2011
What is your present representation for the polynomial, and how are you presently doing the substitution?

Categories

Find more on Polynomials in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!