Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Raíces de polinomios

Este ejemplo muestra varios métodos diferentes para calcular las raíces de un polinomio.

Raíces numéricas

La función calcula las raíces de un polinomio de una sola variable representado por un vector de coeficientes.roots

Por ejemplo, cree un vector para representar el polinomio x2x6, a continuación, calcular las raíces.

p = [1 -1 -6]; r = roots(p) 
r =       3     -2

Por Convención, devuelve las raíces en un vector de columna.MATLAB®

La función convierte las raíces de nuevo en coeficientes polinómicos.poly Cuando se operan en vectores, y son funciones inversas, tales que devuelve (hasta el error de redondeo, orden y escalado).polyrootspoly(roots(p))p

p2 = poly(r) 
p2 =       1    -1    -6

Cuando se opera en una matriz, la función calcula el polinomio característico de la matriz.poly Las raíces del polinomio característico son los valores propios de la matriz. Por lo tanto, y devuelva la misma respuesta (hasta el error de redondeo, orden y escalado).roots(poly(A))eig(A)

Raíces mediante sustitución

Puede resolver ecuaciones polinómicas que implican funciones trigonométricas simplificando la ecuación usando una sustitución. El polinomio resultante de una variable ya no contiene ninguna función trigonométrica.

Por ejemplo, busque los valores de θ que resuelven la ecuación

3cos2(θ)-sin(θ)+3=0.

Utilice el hecho de que cos2(θ)=1-sin2(θ) para expresar la ecuación enteramente en términos de funciones sinusoidales:

-3sin2(θ)-sin(θ)+6=0.

Utilice la sustitución x=sin(θ) para expresar la ecuación como una simple ecuación polinómica:

-3x2-x+6=0.

Cree un vector para representar el polinomio.

p = [-3 -1 6];

Encuentra las raíces del polinomio.

r = roots(p)
r = 2×1

   -1.5907
    1.2573

Para deshacer la sustitución, utilice θ=sin-1(x). La función calcula el seno inverso.asin

theta = asin(r)
theta = 2×1 complex

  -1.5708 + 1.0395i
   1.5708 - 0.7028i

Compruebe que los elementos en son los valores detheta θ que resuelven la ecuación original (dentro del error de redondeo).

f = @(Z) 3*cos(Z).^2 - sin(Z) + 3; f(theta)
ans = 2×1 complex
10-14 ×

  -0.0888 + 0.0647i
   0.2665 + 0.0399i

Las raíces en un intervalo específico

Utilice la función para encontrar las raíces de un polinomio en un intervalo específico.fzero Entre otros usos, este método es adecuado si se traza el polinomio y desea conocer el valor de una raíz en particular.

Por ejemplo, cree un identificador de función para representar el polinomio 3x7+4x6+2x5+4x4+x3+5x2.

p = @(x) 3*x.^7 + 4*x.^6 + 2*x.^5 + 4*x.^4 + x.^3 + 5*x.^2;

Trace la función sobre el intervalo [-2,1].

x = -2:0.1:1; plot(x,p(x)) ylim([-100 50]) grid on hold on

Desde la trama, el polinomio tiene una raíz trivial y otra cerca.0-1.5 Se usa para calcular y trazar la raíz que está cerca.fzero-1.5

Z = fzero(p, -1.5)
Z = -1.6056 
plot(Z,p(Z),'r*')

Raíces simbólicas

Si lo tiene, entonces hay opciones adicionales para evaluar los polinomios simbólicamente.Symbolic Math Toolbox™ Una forma es utilizar la función.solve

syms x s = solve(x^2-x-6) 
s =    -2   3

Otra forma es utilizar la función para factorizar los términos polinómicos.factor

F = factor(x^2-x-6) 
F =   [ x + 2, x - 3]

Consulte para obtener más información.Solve Algebraic Equation (Symbolic Math Toolbox)

Consulte también

| |

Temas relacionados