| MATLAB Function Reference | ![]() |
表示
r = roots(c)
詳細
は、要素が多項式 r = roots(c)
c の根である列ベクトルを出力します。
行ベクトル c は、多項式の係数を降べき順に並べたものです。c が n+1 個の成分をもつ場合、それを表わす多項式は、つぎのようになります。

注意
この関数と要素が多項式の係数である行ベクトルを出力する関数 p = poly(r) との関係に注意してください。ベクトルに対して、roots と poly は順序、スケーリング、丸め誤差に至るまで、互いに逆関数です。
例題
p = [1 -6 -72 -27]
つぎのコマンドで、この多項式の根は列ベクトルで出力されます。
r = roots(p)
r =
12.1229
-5.7345
-0.3884
アルゴリズム
このアルゴリズムは、コンパニオン行列の固有値を計算しているだけです。
A = diag(ones(n-2,1),-1); A(1,:) = -c(2:n-1)./c(1); eig(A)
計算結果は、コンパニオン行列 A の丸め誤差範囲内での行列の正確な固有値として与えられます。しかし、この計算結果が、丸め誤差範囲内での c の多項式の正確な根であるということではありません。
参考
| Root Properties | rose | ![]() |