28.1 多項式の評価
ベクトルcで表される多項式の値は、次の例に示すように、 点xで非常に簡単に評価できます。
N = length (c) - 1; val = dot (x.^(N:-1:0), c);
上記の例は多項式の値を計算するのがいかに簡単かを示していますが、これは最も安定したアルゴリズムではありません。より大きな多項式の場合は、Horner 法などのより洗練されたアルゴリズムを使用する必要があります。これはまさに Octave 関数がpolyval行うことです。
xが正方行列の場合でも、 cで与えられる多項式は 明確に定義されます。x がスカラーの場合と同様に、明らかな実装は Octave で簡単に表現できますが、この場合も、より洗練されたアルゴリズムの方がパフォーマンスは優れています。polyvalm関数はそのようなアルゴリズムを提供します。
: y = polyval (p, x)
: y = polyval (p, x, [], mu)
: [y, dy] = polyval (p, x, s)
: [y, dy] = polyval (p, x, s, mu)
指定されたxの値で多項式pを評価します。
xがベクトルまたは行列の場合、多項式はxの各要素に対して評価されます。
muが存在する場合、( x - mu (1))/ mu (2)の多項式を評価します。
多項式を評価することに加えて、2 番目の出力は予測区間y +/- dyを表します。これには将来の予測の少なくとも 50% が含まれます。予測区間を計算するには、から生成された構造化変数spolyfitを指定する必要があります。
See also: polyvalm, polyaffine, polyfit, roots, poly.
: y = polyvalm (c, x)
行列の意味で多項式を評価します。
polyvalm (c, x)polyvalは、多項式を行列の意味で評価します。 つまり、で使用される要素ごとの乗算の代わりに、行列の乗算が使用されます。
引数x は正方行列でなければなりません。
See also: polyval, roots, poly.