matlab20

Raíces de Funciones

roots

Hay muchas funciones de MATLAB que permiten operar sobre los arreglos como si sus entradas fueran coeficientes o raíces de ecuaciones polinomiales. Por ejemplo, introduce

>> c = [ 1  -15   59   -81  36 ]

Y después

>> r = roots( c)

Con ello, las raíces del polinomio x4 –15x3 +  59x2 – 81x + 36 se imprimirán y además se almacenaran en el vector r.  De acuerdo al polinomio anterior las raíces del polinomio c son:

r =
    9.7720
    3.0000
    1.2280
    1.0000

Una vez encontradas las raíces del polinomio MATLAB dice que estas raíces son vectores columna.

Siguiente ejemplo. Sea el polinomio   x4 –16x3  + 22x + 116, hallar sus raíces.

En este caso se deben introducir en MATLAB también los términos nulos ya que MATLAB no tiene forma de saber cuáles son a menos que se indiquen, por lo tanto el polinomio se introduce como:

>> p = [ 1 –16  0  22  116 ]


>> r = roots ( p )

r =
    15.8839

     2.2995

    -1.0917  + 1.4086i

    -1.0917  - 1.4086i

Dos de las raíces son complejas, y  MATLAB trabaja indistintamente con números reales y complejos. Prueba multiplicar  r(3)*r(4) y el resultado debe ser un número real (3.1759).

fzero

Otra función que se utiliza para hallar la raíz de una función no lineal es fzero

x = fzero(fun,x0)
>> f1=inline('x.^4-15*x.^3+59*x.^2-81*x+36')

>> z = fzero(f1,2)

z =
1.2280


>> z = fzero(f1,5)

z =
3.0000


>> z = fzero(f1,0)

z =
3.0000


>> z = fzero(f1,10)

z =
9.7720

Con distintos valores iniciales se exploran o buscan las distintas raíces reales de la función.