Programación Numérica

Slides:



Advertisements
Presentaciones similares
Funciones/Funciones Elementales/Polinomios.
Advertisements

Cociente de polinomios
Valores y Vectores Propios
Integrales indefinidas. Teoremas 2º Bachillerato
2.1 – Expresiones algebraicas
Instituto Tecnológico de Costa Rica Escuela Ingeniería en Electrónica Curso: Métodos Numéricos Método de Bairstow Profesor: Ing. Marvin Hernández.
Instituto Tecnológico de Costa Rica Escuela Ingeniería en Electrónica Curso: Métodos Numéricos Método de Bairstow Profesor: Ing. Marvin Hernández.
Solución de ecuaciones no lineales
RAICES DE POLINOMIOS 4El teorema fundamental del Algebra 4Evaluación 4 Aproximación y recuento de raíces.
TEMA 6: DIVISIÓN DE POLINOMIOS
MÉTODOS NUMÉRICOS Raíces de ecuaciones
Métodos de Análisis Ingenieril
EXPONENTES Y RADICALES
Operaciones con Polinomios
Polinomios Álgebra Superior.
1. EXPRESIONES ALGEBRÁICAS Y POLINOMIOS. internet
SISTEMAS DE ECUACIONES
Interpolación y aproximación polinomial
Descomposición Factorial Unidad 5
Programación Numérica
Función cuadrática y Ecuación de segundo grado
3° Medio Común Unidad: Función cuadrática y Ecuación de segundo grado.
Tópicos Especiales en Computación Numérica
Al hallar la raíz cuadrada de un número puede suceder que:
CEROS DE UNA FUNCIÓN POLINOMIAL
Funciones Potencias, exponenciales y logarítmicas.
M. en C. José Andrés Vázquez Flores
Interpolación y aproximación polinomial
Raíces de ecuaciones No Lineales Lucia Lucio Cesar Vázquez Sánchez.
Clasificación de funciones
REGLA DE RUFFINI DÍA 11 * 1º BAD CS
POLINOMIOS p(x) = p0 + p1x + p2x2 + p3x3 + … + pnxn pn ≠ 0
Ecuaciones cuadráticas
Juan Manuel Rodríguez Prieto I.M., M.Sc., Ph.D.
Integración de fracciones parciales
EXPRESIONES ALGEBRAICAS
Teorema del Residuo y Teorema del Factor
@ Angel Prieto BenitoMatemáticas 1º Bachillerato CT1 Tema 2 ECUACIONES Y SISTEMAS.
Matemáticas Maestría en Politicas Publicas Dr. Favio Murillo García.
FACTORIZACION.
@ Angel Prieto BenitoMatemáticas Aplicadas CS I1 TEMA 3 EXPRESIONES ALGEBRAICAS.
FUNCIONES LINEÁLES Y CUÁDRATICAS
POLINOMIOS TEMA 2 * 4º ESO Opc Angel Prieto Benito
Modelo matemático de las funciones poli nominales
QUE SON FUNCIONES MATEMATICAS CONCEPTOS BASICOS
CALCULO INTEGRAL (ARQ)
@ Angel Prieto BenitoMatemáticas 4º ESO Opc B1 TEMA 2 * 4º ESO Opc B POLINOMIOS.
Clase: Ecuación de segundo grado
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
3 Polinomios y fracciones algebraicas
Tema 6: INTEGRACIÓN Integrales indefinidas
MATEMÁTICAS EN SECUNDARIA: LAS UNIDADES DIDÁCTICAS EN INTERNET
QUINTA CONFERENCIA Lugar: Oficinas Generales Fecha: 15 de Diciembre de 2007 Conferencista: Prof. Carlos Betancourt Monroy Centro de Estudios Científicos.
@ Angel Prieto BenitoMatemáticas 4º ESO Opc B1 TEMA 2 * 4º ESO Opc B POLINOMIOS.
INSTITUCION EDUCATIVA LA INMACULADA. TIERRALTA - CORDOBA
Lic. JOSEPH V, RUITON RICRA. Sean los siguientes polinomios en “x”: P(x) = 5x + 2, x  {-1; 0; 1; 3; 4; 9} Q(x) = x 2 + 3x - 1, x  {-2; -1; 0; 3; 9}
@ Angel Prieto BenitoMatemáticas Aplicadas CS I1 U.D. 3 EXPRESIONES ALGEBRAICAS.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
@ Angel Prieto BenitoApuntes de Matemáticas 3º ESO1 U.D. 4 * 3º ESO E.AC. Polinomios.
Funciones Cuadráticas.
Damas chinas (Mzelle Laure)
Ing. Haydeli del Rosario Roa Lopez
Álgebra, ecuaciones y sistemas
TEMA 2 INTEGRAL DE RIEMANN.
TEMA 3:ÁLGEBRA Mª Ángeles Meneses Chaus. ÍNDICE 1.- Factorización de polinomios 2.- Fracciones algebraicas 3.- Resolución de ecuaciones: Ecuaciones de.
MATEMÁTICAS IV BLOQUE 5 M.E. VERÓNICA LEYVA GUTIÉRREZ OBJETOS DE APRENDIZAJE CEROS Y RAÍCES DE LA FUNCIÓN Teoremas del factor y del residuo División sintética.
FACTORIZACIÓN POR: Moisés Inostroza C..
OPERACIÒNES ALGEBRAICAS.  Una expresión algebraica es un conjunto de cantidades numéricas y literales relacionadas entre sí­ por los signos de las operaciones.
 Una ecuación de segundo grado [1] [2] o ecuación cuadrática de una variable es una ecuación que tiene la forma de una suma algebraica de términos cuyo.
Transcripción de la presentación:

Programación Numérica Raíces de polinomios Programación Numérica

P(x) = anxn + an-1xn-1 + ... +a1x + a0 Definición Un polinomio de grado n es una expresión de la forma: P(x) = anxn + an-1xn-1 + ... +a1x + a0 Donde an <> 0 Teorema (teorema fundamental del álgebra): Si P(x) es un polinomio de grado n >= 1, entonces P(x) = 0 tiene al menos una raíz (posiblemente compleja).

Corolario Si P(x) es un polinomio de grado n >= 1, entonces existen constantes únicas x1, x2, ... xk, posiblemente complejas, y enteros positivos m1, m2, ..., mk, tales que: y

Método de Horner Sea P(x) = anxn + an-1xn-1 + ... +a1x + a0 Si bn = an y bk = ak + bk+1x0 para k = n – 1, n – 2, ..., 1, 0 Por tanto b0 = P(x0). Más aún, si Q(x) = bnxn–1 + bn-1xn-2 + ... +b2x + b1 Entonces P(x) = (x – x0) Q(x) + b0

Ejercicios Evaluar: P(x) = 2x4 – 3x2 + 3x – 4 en x0 = –2 P(x) = 7x5 + 6x4 – 6x3 + 3x – 4 en x0 = 3 P(x) = – 5x6 + 3x4 + 2x2 – 4x en x0 = –1

Método de Horner en C double horner(double p[],int n, double x){ double y = p[0]; int i; for(i = 1; i<n; i++){ y = x*y + p[i]; } return y; double eval(double p[],int n, double x){ double s = 0; for(i = 0; i<n; i++){ s = s + p[i]*pow(x,n-i-1); return s;

Evaluación de la derivada Dado que: P(x) = (x – x0) Q(x) + b0 donde Q(x) = bnxn–1 + bn-1xn-2 + ... +b2x + b1 Derivando P’(x) = Q(x)+(x – x0)Q’(x) En x = x0, P’(x0) = Q(x0)

Evaluación de la derivada en C void hornerDer(double p[],int n, double x,double &y,double &z){ y = p[0]; z = p[0]; int i; for(i = 1; i<n-1; i++){ y = x*y + p[i]; z = x*z + y; } y = x*y + p[n-1];

Método horner Entrada: grado n, a0, a1, ..., an, x0 Salida: y =P(x0), z = P’(x0) 1. y = an //calcule bn para P 2. z = an //calcule bn-1 para Q 3. Para j = n –1, n – 2, .... , 1 4. y = x0*y + aj 5. z = x0*z + y 6. y = x0*y + a0 7. regresar y, z

Método de Horner en Matlab function [y,z]=Horner(x,x0) %x es un vector con los coeficientes %de P(x) %regresa en y el polinomio y en z %la derivada evaluados en x0 [muda n] = size(x); y = x(1); %calcule bn para P. z = x(1); %calcule bn-1 para Q for j = 2:n-1, y = x0*y + x(j); z = x0*z + y; end y = x0*y + x(n);

Método de Newton para polinomios Se puede aplicar el método de Newton para polinomios evaluando el polinomio y su derivada mediante el método de Horner. El esquema sería

Newton para polinomios en C double NewtonPol(double p[],int n,double x0,double ee, int ni){ int i=0; double f,df,x = x0,error; while(i<ni){ hornerDer(p,n,x,f,df); x = x0 - f/df; error = fabs((x-x0)/x); if(error<=ee) return x; i++; x0 = x; } std::cout << "No solución en " << i << " pasos\n";

Método de Müller Se aproxima el siguiente valor utilizando una parábola en lugar de una recta como en el método de la secante. f(x) f(x) parábola Línea recta Raíz estimada Raíz estimada x x1 x0 x x2 x1 x0 raíz

Método de Müller Utiliza tres aproximaciones: x0, x1, x2. Determina la siguiente aproximación x3 encontrando la intersección con el eje x de la parábola definida por los puntos (x0,f(x0)), (x1,f(x1)), (x2,f(x2)). f x0 x1 x2 x3

Método de Müller Se considera el polinomio P(x) = a(x – x2)2 + b(x – x2) + c Se puede encontrar a, b y c resolviendo f(x0) = a(x0 – x2)2 + b(x0 – x2) + c f(x1) = a(x1 – x2)2 + b(x1 – x2) + c f(x2) = a(x2 – x2)2 + b(x2 – x2) + c

Método de Müller Se llega a

Método de Müller Los cálculos pueden simplificarse usando

Método de Müller Para minimizar el error al resolver la cuadrática P(x) = 0, se calcula x3 con El proceso se reinicia tomando ahora x1, x2, y x3.

Müller en MatLab function y = muller(p,x0,x1,x2,ee,ni) i = 3; while i<=ni h1 = x1-x0; h2 = x2-x1; [fx0 muda] = horner(p,x0); [fx1 muda] = horner(p,x1); [fx2 muda] = horner(p,x2); d1 = (fx1-fx0)/h1; d2 = (fx2-fx1)/h2; a = (d2-d1)/(h2+h1); b = d2+h2*d1; c = fx2; D = sqrt(b*b-4.0*a*c); if(abs(b-D)<abs(b+D)) E = b+D; else E = b-D; end h = -2.0*c/E; x3 = x2+h; if(abs(h)<ee) break; x0 = x1; x1 = x2; x2 = x3; i=i+1; y = x3;

Ejemplo P(x) = 16x4 – 40x3 + 5x2 + 20x + 6 x0 = 0.5 x1 = -0.5 x2 = 0.0 i xi P(xi) 3 -0.555556 + ( -0.598352)i -29.400701 + ( 3.898725)i 4 -0.435450 + ( -0.102101)i 1.332225 + ( 1.193097)i 5 -0.390631 + ( -0.141852)i 0.375058 + ( 0.670168)i 6 -0.357698 + ( -0.169926)i -0.146750 + ( 0.007446)i 7 -0.356051 + ( -0.162856)i -0.001840 + ( -0.000538)i 8 -0.356062 + ( -0.162758)i 0.000002 + ( -0.000001)i

Ejemplo x0 = 2.5 x1 = 2.0 x2 = 2.3 i xi P(xi) 3 1.960592 + ( 0.000000)i -0.611310 + ( 0.000000)i 4 1.970564 + ( 0.000000)i 0.007455 + ( 0.000000)i 5 1.970447 + ( 0.000000)i 0.000029 + ( 0.000000)i x0 = 0.5 x1 = 1.0 x2 = 1.5 3 1.287855 + ( 0.000000)i -1.376275 + ( 0.000000)i 4 1.237459 + ( 0.000000)i 0.126945 + ( 0.000000)i 5 1.241605 + ( 0.000000)i 0.002193 + ( 0.000000)i 6 1.241677 + ( 0.000000)i -0.000001 + ( 0.000000)i

Actividad Encontrar las raíces reales y complejas del siguiente polinomio por el método de Müller en MatLab. P(x) = x4 – 2x3 + 6x2 – 8x + 8

Raíces de no lineales en Matlab fzero(FUN, x0) – encuentra la raíz de FUN cerca al punto x0. Ejemplos: FUN puede especificarse usando @: X = fzero(@sin,3) regresa pi. X = fzero(@sin,3,optimset('disp','iter')) regresa pi, usa la tolerancia por omisión y despliega información de las iteraciones. FUN puede ser una función en línea: X = fzero(inline('sin(3*x)'),2);

Polinomios con Matlab polyval(P, x) – evalua el polinomio P en el punto x. El polinomio se especifica como un vector donde P(1) es el coeficiente de la potencia más alta y P(length(P)) es el término independiente. polyder(P) – obtiene la derivada delpolinomio P. con(A, B) – multiplica el polinomio A por el polinomio B. [Q R] = deconv(A, B) – divide los dos polinomios A y B y almacena el cociente en Q y el residuo en R. roots(P) – encuentra todas las raices reales y complejas del polinomio P.

Método de Bairstow El enfoque de Bairstow es el de utilizar el Método de Newton para ajustar los coeficientes r y s en la cuadrática x2 – rx + s hasta que sus raíces sean también raíces del polinomio que se quiere resolver. Con estos coeficientes se determina la cuadrática correspondiente que se utiliza para simplificar la expresión, eliminando estas raíces del conjunto buscado. El proceso se repite hasta que el polinomio se convierta en uno cuadrático o lineal, momento en que todas las raíces quedan determinadas.

La División Larga de un polinomio por x2 – rx – s resulta en un cociente de la forma y un residuo b1(x – r) + b0 tal que

Se utiliza la división sintética para obtener la división entre el factor cuadrático: bn = an bn–1 = an–1 + rbn bi = ai + rbi+1 + sbi+2 (i = n – 2,…, 0) El método se reduce a determinar los valores de r y s que hacen que el factor cuadrático sea un divisor exacto. Se utiliza el método de Newton-Raphson. Se calculan incrementos Dr y Ds para acercarse a la solución. Las derivadas parciales se calculan por un proceso de división sintética similar al utilizado para calcular las b’s.

cn = bn cn–1 = bn–1 + rcn ci = bi + rci+1 + sci+2 (i = n – 2,…, 1) Donde: Se resuelven las ecuaciones para Dr y Ds y se emplean para mejorar r y s.

Ejemplo Encontrar las raíces del siguiente polinomio en Excel P( x) = x5 – 3.5x4 + 2.75x3 + 2.125x2 – 3.88x +1.25 Comience en r = -1 y s = -1

Hoja de Excel de Bairstow Haga doble clic sobre la hoja para ver las fórmulas. Los valores en amarillo son los valores que se obtuvieron paso a paso. Los valores en naranja son los coeficientes del polinomio de grado n–2 que hay que resolver aplicando el mismo método. Note que los coeficientes b0 y b1 son casi cero.