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) 计算多项式。

除了多项式求值之外,第二个输出表示预测区间 y +/- dy,该区间包含至少 50% 的未来预测。要计算预测区间,必须提供源自 polyfit 的结构体变量 s

另请参阅: polyvalm, polyaffine, polyfit, roots, poly.

 
y = polyvalm (c, x)

在矩阵意义上对多项式求值。

polyvalm (c, x) 将在矩阵意义上对多项式求值,即使用矩阵乘法,而不是 polyval 中使用的逐元素乘法。

参数 x 必须是一个方阵。

另请参阅: polyval, roots, poly.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2