poly

Полином с заданными корнями или характеристический полином

Синтаксис

Описание

пример

p = poly(r), где r вектор, возвращает коэффициенты полинома, корни которого являются элементами r.

пример

p = poly(A), где A n- n матрица, возвращает n+1 коэффициенты характеристического полинома матрицы, det(λIA).

Примеры

свернуть все

Вычислите собственные значения матрицы, A.

A = [1 8 -10; -4 2 4; -5 2 8]
A = 3×3

     1     8   -10
    -4     2     4
    -5     2     8

e = eig(A)
e = 3×1 complex

  11.6219 + 0.0000i
  -0.3110 + 2.6704i
  -0.3110 - 2.6704i

Начиная с собственных значений в e корни характеристического полинома A, используйте poly определить характеристический полином из значений в e.

p = poly(e)
p = 1×4

    1.0000  -11.0000   -0.0000  -84.0000

Используйте poly вычислить характеристический полином матрицы, A.

A = [1 2 3; 4 5 6; 7 8 0]
A = 3×3

     1     2     3
     4     5     6
     7     8     0

p = poly(A)
p = 1×4

    1.0000   -6.0000  -72.0000  -27.0000

Вычислите корни p использование roots. Корни характеристического полинома являются собственными значениями матричного A.

r = roots(p)
r = 3×1

   12.1229
   -5.7345
   -0.3884

Входные параметры

свернуть все

Полиномиальные корни в виде вектора.

Пример: poly([2 -3])

Пример: poly([2 -2 3 -3])

Пример: poly(roots(k))

Пример: poly(eig(A))

Типы данных: single | double
Поддержка комплексного числа: Да

Введите матрицу.

Пример: poly([0 -1; 1 0])

Типы данных: single | double
Поддержка комплексного числа: Да

Выходные аргументы

свернуть все

Полиномиальные коэффициенты, возвращенные как вектор-строка.

  • Если вход является квадратом n- n матрица, A, затем p содержит коэффициенты для характеристического полинома A.

  • Если вход является вектором из корней, r, затем p содержит коэффициенты для полинома, корни которого находятся в r.

В каждом случае, n+1 коэффициенты в p определите многочлен

p1xn+p2xn1+...+pnx+pn+1.

Советы

  • Для векторов, r = roots(p) и p = poly(r) обратные функции друг друга, до ошибки округления, упорядоченного расположения и масштабирования.

Алгоритмы

Алгоритмы используются для poly и roots проиллюстрируйте интересный аспект современного подхода к расчету собственного значения. poly(A) генерирует характеристический полином A, и roots(poly(A)) находит корни того полинома, которые являются собственными значениями A. Но оба poly и roots используйте eig, который основан на преобразованиях подобия. Классический подход, который характеризует собственные значения как корни характеристического полинома, на самом деле инвертируется.

Если A n- n матрица, poly(A) производит коэффициенты p(1) через p(n+1), с p(1) =1 \in

det(λIA)=p1λn++pnλ+pn+1.

Алгоритм

z = eig(A);
p = zeros(n+1,1); 
p(1) = 1;
for j = 1:n
    p(2:j+1) = p(2:j+1)-z(j)*p(1:j);
end

Эта рекурсия выведена путем расширения продукта,

(λλ1)(λλ2)(λλn).

Возможно доказать тот poly(A) производит коэффициенты в характеристическом полиноме матрицы в ошибке округления A. Это верно даже если собственные значения A плохо обусловливаются. Традиционные алгоритмы для получения характеристического полинома не используют собственные значения и не имеют таких удовлетворительных числовых свойств.

Расширенные возможности

Представлено до R2006a