Полиномиальные корни
r = roots(p)
возвращает корни многочлена, представленного r = roots(p)
p
как вектор - столбец. Входной параметр p
является вектором, содержащим коэффициенты многочлена n+1
, начиная с коэффициента xn. Коэффициент 0
указывает на промежуточную степень, которая не присутствует в уравнении. Например, p = [3 2 -2]
представляет многочлен .
Функция roots
решает полиномиальные уравнения формы . Полиномиальные уравнения содержат единственную переменную с неотрицательными экспонентами.
Используйте функцию poly
, чтобы получить многочлен из его корней: p = poly(r)
. Функция poly
является инверсией функции roots
.
Используйте функцию fzero
, чтобы найти корни нелинейных уравнений. В то время как функция roots
работает только с многочленами, функция fzero
более широко применима к различным типам уравнений.
Функция roots
полагает, что p
вектор с элементами n+1
, представляющими n
th многочлен характеристики градуса n
-by-n
матрица, A
. Корни многочлена вычисляются путем вычисления собственных значений сопровождающей матрицы, A
.
A = diag(ones(n-1,1),-1); A(1,:) = -p(2:n+1)./p(1); r = eig(A)
Приведенными результатами являются точные собственные значения матрицы в ошибке округления сопровождающей матрицы, A
. Однако это не означает, что они - точные корни многочлена, коэффициенты которого в ошибке округления тех в p
.