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 | ![]() |