Descargar

Interpolación y aproximación polinomial

Enviado por Pablo Turmero


    edu.red

    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]

    edu.red

    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

    edu.red

    Valores de ex Valores de las aproximaciones de ex con polinomios de Taylor

    edu.red

    Expansión de Taylor para 1/x

    edu.red

    Interpolación polinomial de Newton Revisaremos solo algunos casos: lineal, de segundo grado y de tercer grado.

    edu.red

    Interpolación lineal x0 x x1 f(x0) f1(x) f(x1) f(x) Utilizando triángulos semejantes Reordenando

    edu.red

    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

    edu.red

    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)

    edu.red

    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%

    edu.red

    Forma general Polinomio general fn(x) = b0 + b1(x – x0) +…+ bn(x – x0)(x – x1)… (x – xn–1) Los coeficientes se calculan con b0 = f(x0) b1 = f [x1, x0] b2 = f [x2, x1, x0]

    bn = f [,xn, xn–1, …, 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.

    edu.red

    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

    edu.red

    Ejemplo 3 (cont.) f(x) = ln x Valor verdadero Estimación cúbica f3(x)

    edu.red

    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.

    edu.red

    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 – xk–1)(x – xk+1)… (x – xn) El denominador debe coincidir con el numerador cuando x = xk.

    edu.red

    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

    edu.red

    Aproximación a 1/x con interpolantes de Lagrange P(x) = 0.5*((x–6.5)x+10)+0.4*((–4x+24)x–32)/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:

    edu.red

    Aproximación a 1/x con interpolantes de Lagrange P(x) = (0.05x – 0.425)x + 1.15 f(3) = P(3) = 0.325

    edu.red

    El error en la interpolación de Lagrange El error en la interpolación de Lagrange puede calcularse con

    edu.red

    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

    edu.red

    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;

    edu.red

    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.

    edu.red

    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.

    edu.red

    f (x) x f (x) f (x) f (x)

    edu.red

    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