RAIZ DE POLINOMIOS

Páginas: 7 (1638 palabras) Publicado: 30 de septiembre de 2014
Raíz de polinomios
 
Es esta sección se analizará los métodos para encontrar las raíces de ecuaciones polinomiales de la forma general
 
fn(x) = a0 + a1x+ a2x2 + ... + anxn.
 
Evaluación de polinomios
 
Consideremos como ejemplo el siguiente polinomio.
 
f3(x) = a0 + a1x+ a2x2 + a3x3.
 
En este caso los coeficientes del polinomio los podemos poner en un vector de datos dado como a =[a0, a1, a2, a3], y realizar la evaluación polinomial utilizando ciclos. Adicionalmente necesitamos de una función que nos permita calcular la potencias de x.
 
Manipulando el polinomio, podemos dar una forma eficiente de realizar la evaluación. Así el mismo polinomio, lo podemos representar como:
 
f3(x) = a0 + x(a1+ x(a2 + xa3))
 
Note que ahora ya no tenemos potencia de x y suimplementación resulta mas eficiente.
 
Ejemplo.
 
Consideremos el siguiente polinomio f3(x) = 1+2x+3x2, el cual deseamos evaluar en x = 20. Para implementarlo hacemos
 
n
p = p*x + a[i];
 
2
p = 0*20+3
p = 3
1
p = 3*20+2
p = 62
0
p = 62*20+1
p = 1241
 
Cálculo de derivadas.
 
Cuando se buscan los ceros de una función, como es el caso del método de Newton, es necesario no solo hacerla evaluación del polinomio sino calcular también su derivada. En este caso la derivada de cualquier polinomio la podemos calcular como:
 
fn(x) = anxn + an-1xn-1 + an-2xn-2 + … + a2x2+ a1x + a0
 
f’n(x) = nanxn-1 + (n-1)an-1xn-2 + (n-2)an-2xn-3 + … + 2a2x+ a1
 
Note que el polinomio f’n(x) es un polinomio de menor grado. Así por ejemplo considerando el polinomio f3(x) = 1+2x+3x2, tenemosque su derivada es:
 
n
df = df*x + a[i+1]*(i+1)
df
1
df = 0*20+3*2
6
0
pf = 6*20+2*1
122
 
Deflación polinomial.
 
Suponga que conoce, una de las raíces de un polinomio, podemos realizar la división de este polinomio para obtener un polinomio de grado menor. Así por ejemplo si tenemos
 
fn(x) = a0 + a1x+ a2x2 + ... + anxn.
 
Y una de sus raíces es s, entonces podemos escribir 
fn(x) =(x-s)*(a’0 + a’1x+ a’2x2 + ... + a’n-1xn-1).
 
En este caso el residuo de la división es cero y podemos calcular un polinomio de grado n-1. Para un polinomio de orden 3 tenemos que
 
 
a3x2
(a2-a3s) x
a1-(a2-a3s)s
 
x+s
a3x3
+a2x2
+ a1x
+a0
 
-a3x2
- a3 s x2
 
 
 
0
(a2-a3s) x2
+ a1x
+a0
 
 
-(a2-a3s) x2
-(a2-a3s)sx
 
 
 
0
(a1-(a2-a3s)s)x
+a0
 
 
 -(a1-(a2-a3s)s)x
-(a1-(a2-a3s)s)s
 
 
 
 
a0-(a1-(a2-a3s)s)s
 
La división sintética, es una manera de hacer lo mismo, pero de forma compacta. Así tenemos:
 
x+s
a3
a2
a1
a0
 
 
- a3 s
-(a2- a3 s)s
-(a1-(a2-s a3)s)s
 
a3
a2- a3 s
a1-(a2- a3 s)s
a0-(a1-(a2- a3 s)s)s
 
Ejemplo.
 
Dado el polinomio f5(x) = x5 - 7x4 – 3x3 + 79x2 – 46x –120 encontrar la división sintéticacon el monomio (x-4).
 
x-4
1
-7
-3
79
-46
-120
 
 
4
-12
-60
76
120
 
1
-3
-15
19
30
0
 
El polinomio resultante, en este caso, es f4(x) = x4 - 3x3 – 15x2 + 19x +30. Note que el residuo es cero.
 
Implementación en Java.
 
/**
* Title: Evaluacion polinomial
* Description: Realiza la evaluacion de polinomios asi como el calculo de
* derivadas y division sintetica* Copyright: Copyright (c) 2004
* Company: UMSNH
* @author Dr. Felix Calderon Solorio
* @version 1.0
*/
 
public class ej057 {
public static void main(String[] args) {
 
double a[] = {-120, -46, 79, -3, -7, 1};
double b[] = new double [a.length];
 
System.out.println(EvaluaPolinomio(a, 1));
System.out.println(EvaluaDerivada(a, 1));
DivisionSintetica(a, b,-4);
}
 
public static double EvaluaPolinomio(double a[], double x)
{
int n = a.length, i;
double p = 0;
 
for(i=n-1; i>=0; i--)
p = p*x + a[i];
 
return p;
}
public static double EvaluaDerivada(double a[], double x)
{
int n = a.length, i;
double df = 0;
 
for(i=n-2; i>=0; i--)
df = df*x + a[i+1]*(i+1);
 
return df;
}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • La raiz
  • raiz
  • Raíz
  • raiz
  • Raiz
  • LA RAÍZ
  • la raiz
  • Raiz

OTRAS TAREAS POPULARES

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS