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 de aproximación de Weierstrass) Suponga que f está definida y es continua en [a, b]. Para e > 0 existe un polinomio P definido en [a, b], con la propiedad de que |f(x) P(x)| < e, para toda x en [a, b]
Desarrollo en series de Taylor Sea f(x) = ex Desarrollando en serie de Taylor alrededor de x = 0 P0(x) = 1 P1(x) = 1 + x P2(x) = 1 + x + x2/2 P3(x) = 1 + x + x2/2 + x3/6 P4(x) = 1 + x + x2/2 + x3/6 + x4/24 P5(x) = 1 + x + x2/2 + x3/6 + x4/24 + x5/120
Valores de ex Valores de las aproximaciones de ex con polinomios de Taylor
Expansión de Taylor para 1/x
Interpolación polinomial de Newton Revisaremos solo algunos casos: lineal, de segundo grado y de tercer grado.
Interpolación lineal x0 x x1 f(x0) f1(x) f(x1) f(x) Utilizando triángulos semejantes Reordenando
Ejemplo Estimar ln 2 mediante interpolación lineal si ln1 = 0 y ln 6 = 1.791759 y ln 4 = 1.386294 Valor real ln 2 = 0.6931472 Error relativo porcentual = 33.3% f(x) = ln x f1(x) Estimaciones lineales Valor verdadero
Interpolación cuadrática Polinomio cuadrático f2(x) = b0 + b1(x x0) + b2(x x0)(x x1) (1) simplificado f2(x) = b0 + b1x b1x0 + b2x2 + b2x0 x1 b2xx0 b2xx1 Podemos escribirlo como f2(x) = a0 + a1x + a2x2 Donde a0 = b0 b1x0 + b2x0 x1, a1 = b1 b2x0 b2x1, a2=b2 Podemos evaluar b0, b1 y b2 sustituyendo x0, x1 y x2 en la ecuación (1), se obtiene b0 = f(x0)
ejemplo 2 Calculemos ln 2 con ln 4 y ln 6, los punto que se conocen son: x0 = 1 f(x0) = 0 x1 = 4 f(x0) = 1.386294 x0 = 6 f(x0) = 1.791759 Aplicando las ecs. anteriores b0 = 0 b1 = (1.386294 0)/(4 1) = 0.4620981 b2 = ((1.791759 1.386294) /(6 4) 0.4620981)/(6 1) = 0.0518731 El polinomio es f2(x) = 0.4620981(x 1) 0.0518731(x 1)(x 4)
f2(2) = 0.5658444 f(x) = ln x Estimación cuadrática Valor verdadero Estimación lineal Valor real ln 2 = 0.6931472 Error relativo porcentual = 18.4%
Forma general Polinomio general fn(x) = b0 + b1(x x0) +…+ bn(x x0)(x x1)… (x xn1) Los coeficientes se calculan con b0 = f(x0) b1 = f [x1, x0] b2 = f [x2, x1, x0]
bn = f [,xn, xn1, …, x1, x0] Donde los paréntesis cuadrados se denominan diferencias divididas finitas. La n-ésima diferencia dividida finita es:
Se conoce como polinomio de interpolación de Newton en diferencias divididas.
ejemplo 3 Calculemos ln 2 con ln 0, ln 4, ln 5 y ln 6, los punto que se conocen son: x0 = 1 f(x0) = 0 x1 = 4 f(x1) = 1.386294 x2 = 6 f(x3) = 1.791759 x3 = 5 f(x2) = 1.609438 primeras diferencias f [x1, x0] = (1.386294 0)/(4 1) = 0.4602981 f [x2, x1] = (1.791759 1.386294)/(6 4) = 0.2027326 f [x3, x2] = (1.609438 1.791759)/(5 6) = 0.1823216 Segundas diferencias f [x2, x1, x0] = (0.2027326 0.4602981)/(6 1) = 0.05187311 f [x3, x2, x1] = (0.1823216 0.2027326)/(5 4) = 0.02041100 tercera diferencia f [x3, x2, x1 , x0] = (0.02041100(0.05187311))/(5 1) = 0.007865529 Polinomio f3(x) = 0 + 0.4602981(x 1) 0.05187311(x 1) (x 4) + 0.007865529(x 1) (x 4) (x 6) Valor calculado con el polinomio f3(2) = 0.6287686
Ejemplo 3 (cont.) f(x) = ln x Valor verdadero Estimación cúbica f3(x)
Estimación del error Rn = f [,xn+1, xn, …, x1, x0](x x0) (x x1)… (x xn) Para estimar el error requerimos de un datos más (xn+1). La siguiente fórmula puede utilizarse para estimar el error.
Interpolación y polinomio de Lagrange Se trata de encontrar un polinomio de grado n que pase por los puntos (x0, f(x0)), (x1, f(x1)), … (xn, f(xn)), se construye un cociente Ln,k(xk) con la propiedad de que Ln,k(xi) = 0 cuando i ? k y Ln,k(xk) = 1 Se requiere entonces que el numerador contenga (x x0) (x x1)… (x xk1)(x xk+1)… (x xn) El denominador debe coincidir con el numerador cuando x = xk.
N-ésimo polinomio interpolante de Lagrange Teorema Si x0, x1, x2, … xn, son n+1 números distintos y si f es una función cuyos valores están dados en esos números, entonces existe un polinomio de grado a lo más n, con la propiedad de que f(xk) = P(xk) para cada k = 0, 1, 2, …n Este polinomio está dado por
donde
Aproximación a 1/x con interpolantes de Lagrange P(x) = 0.5*((x6.5)x+10)+0.4*((4x+24)x32)/3+ 0.25*((x + 4.5)x+5)/3 P(x) = (0.05x 0.425)x + 1.15 = 0.05×2 0.425x + 1.15 f(3) = P(3) = 0.325 Usaremos x0 = 2, x1 = 2.5 y x2 = 4, para obtener un polinomio de grado 2 para 1/x. f(x0) = 0.5, f(x1)= 0.4 y f(x2) = 0.25. Los polinomios de Lagrange son:
Aproximación a 1/x con interpolantes de Lagrange P(x) = (0.05x 0.425)x + 1.15 f(3) = P(3) = 0.325
El error en la interpolación de Lagrange El error en la interpolación de Lagrange puede calcularse con
Algoritmo en Matlab function fi = Lagran_(x, f, xi) fi=zeros(size(xi)); np1=length(f); for i=1:np1 z=ones(size(xi)); for j=1:np1 if i~=j, z = z.*(xi – x(j))/(x(i)-x(j));end end fi=fi+z*f(i); end return
Calcula coeficientes de P2(x) %Calcula el polinomio interpolante de Lagrange de grado 2 function [a,b,c] = Lagrange(x0,x1,x2,fx0,fx1,fx2) t0 = (x0 – x1)*(x0 – x2); t1 = (x1 – x0)*(x1 – x2); t2 = (x2 – x0)*(x2 – x1); a = fx0/t0 +fx1/t1 +fx2/t2; b = -fx0*(x1 + x2)/t0 – fx1*(x0 + x2)/t1 – fx2*(x0 + x1)/t2; c = fx0*x1*x2/t0 + fx1*x0*x2/t1 + fx2*x0*x1/t2;
Interpolación Inversa Tabla de valores de f (x) = 1/x. Se desea conocer el valor de x tal que f (x) = 0.3. El problema se resuelve definiendo un polinomio de interpolación de grado 2 con los puntos (2, 0.5), (3, 0.3333) y (4, 0.25) y resolviendo la ecuación: f (x) = 0.3 = 1.08333 0.375x + 0.041667×2 Lo que da x = 5.704158 y x = 3.295842, el valor real es 3.333.
Trazadores (Splines) Dados n +1 puntos podemos construir un polinomio de grado n para interpolar valores dentro del intervalo. También se pueden usar líneas rectas entre cada par de puntos para hacer interpolación lineal entre ellos o polinomios cuadráticos o cúbicos. Tales interpoladores se llaman trazadores lineales, cuadráticos y cúbicos, respectivamente. La ventaja de los trazadores es que no presentan el efecto de oscilación de los polinomios de alto grado.
f (x) x f (x) f (x) f (x)
Trazadores lineales Para los trazadores lineales se definen rectas entre cada intervalo para calcular los valores intermedios. f (x) = f (x0) + m0(x x0) x0