28.1 Вычисление значений многочленов
Значение многочлена, представленного вектором c, можно очень легко вычислить в точке x, как показано в следующем примере:
N = length (c) - 1; val = dot (x.^(N:-1:0), c);
Хотя в приведённом выше примере показано, насколько легко вычислить значение многочлена, этот алгоритм не является наиболее устойчивым. Для многочленов большей степени следует использовать более эффективные алгоритмы, например метод Горнера, который реализован в функции 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) -
Вычислить значения многочлена p для указанных значений x.
Если x — вектор или матрица, многочлен вычисляется для каждого элемента x.
Если задано mu, вычислить многочлен для (x - mu(1)) / mu(2).
Помимо вычисления многочлена, второй выходной аргумент задаёт интервал прогноза y +/- dy, который содержит не менее 50% будущих прогнозируемых значений. Для вычисления интервала прогноза необходимо передать структурированную переменную s, полученную из
polyfit.См. также: polyvalm, polyaffine, polyfit, roots, poly.
-
:
y =polyvalm(c, x) -
Вычислить многочлен в матричном смысле.
polyvalm (c, x)вычисляет многочлен в матричном смысле, то есть вместо поэлементного умножения, используемого вpolyval, применяется матричное умножение.Аргумент x должен быть квадратной матрицей.
© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Evaluating-Polynomials.html