Main Content

poly

Polinomio con raíces especificadas o polinomio característico

Descripción

ejemplo

p = poly(r), donde r es un vector, devuelve los coeficientes del polinomio cuyas raíces son los elementos de r.

ejemplo

p = poly(A), donde A es una matriz de n por n, devuelve los coeficientes n+1 del polinomio característico de la matriz, det(λIA).

Ejemplos

contraer todo

Calcule los valores propios de una matriz, 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

Dado que los valores propios en e son las raíces del polinomio característico de A, use poly para determinar el polinomio característico de los valores en e.

p = poly(e)
p = 1×4

    1.0000  -11.0000   -0.0000  -84.0000

Use poly para calcular el polinomio característico de una matriz, 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

Calcule las raíces de p mediante roots. Las raíces del polinomio característico son los valores propios de la matriz A.

r = roots(p)
r = 3×1

   12.1229
   -5.7345
   -0.3884

Argumentos de entrada

contraer todo

Raíces de polinomios, especificadas como vector.

Ejemplo: poly([2 -3])

Ejemplo: poly([2 -2 3 -3])

Ejemplo: poly(roots(k))

Ejemplo: poly(eig(A))

Tipos de datos: single | double
Soporte de números complejos:

Matriz de entrada.

Ejemplo: poly([0 -1; 1 0])

Tipos de datos: single | double
Soporte de números complejos:

Argumentos de salida

contraer todo

Coeficientes de polinomios, devueltos como vector fila.

  • Si la entrada es una matriz cuadrada de n por n, A, p contiene los coeficientes del polinomio característico de A.

  • Si la entrada es un vector de raíces, r, p contiene los coeficientes del polinomio cuyas raíces están en r.

En cada caso, los coeficientes n+1 en p describen el polinomio

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

Sugerencias

  • Para vectores, r = roots(p) y p = poly(r) son funciones inversas entre sí, hasta un error de redondeo, orden y escalado.

Algoritmos

Los algoritmos empleados para poly y roots ilustran un aspecto interesante de la aproximación moderna al cálculo de valores propios. poly(A) genera el polinomio característico de A y roots(poly(A)) busca las raíces de ese polinomio, que son los valores propios de A. Pero tanto poly como roots usan eig, que se basa en transformaciones de similitud. La aproximación clásica, que caracteriza los valores propios como raíces del polinomio característico, de hecho se ha invertido.

Si A es una matriz de n por n, poly(A) produce los coeficientes p(1) a través de p(n+1), con p(1) = 1, en

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

El algoritmo es

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

Esta recursividad se deriva expandiendo el producto,

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

Es posible demostrar que poly(A) produce los coeficientes en el polinomio característico de una matriz dentro de un error de redondeo de A. Esto es cierto incluso si los errores propios de A están mal condicionados. Los algoritmos tradicionales para obtener el polinomio característico no usan los valores propios y no tienen tales propiedades numéricas satisfactorias.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a