Finding polynomial roots without normal form

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.

 채택된 답변

Lindley French
Lindley French 2011년 8월 12일

0 개 추천

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.

추가 답변 (2개)

Paulo Silva
Paulo Silva 2011년 8월 11일

0 개 추천

Use the fzero function instead.
Walter Roberson
Walter Roberson 2011년 8월 11일

0 개 추천

What is your present representation for the polynomial, and how are you presently doing the substitution?

카테고리

도움말 센터 및 File Exchange에서 Polynomials에 대해 자세히 알아보기

제품

태그

Community Treasure Hunt

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

Start Hunting!

Translated by