Полиномиальные корни
r = roots(p)
r = roots(
возвращает корни полинома, представленного p
)p
как вектор-столбец. Вход p
является вектором, содержащим коэффициенты полинома n+1
, начиная с коэффициента x n. Коэффициент 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
.