Finding polynomial roots without normal form

4 ビュー (過去 30 日間)
Lindley French
Lindley French 2011 年 8 月 11 日
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 日
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 日
Use the fzero function instead.

Walter Roberson
Walter Roberson 2011 年 8 月 11 日
What is your present representation for the polynomial, and how are you presently doing the substitution?

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by