Top Banner
METODOS DE INTERPOLACIÓN
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • METODOS DE INTERPOLACIN

  • Introduccin:Se trata de obtener un polinomio (polinomio de interpolacin) que cumpla: f(x ) p(x).en una serie de n puntos x0, x1, , xn .

  • Dos casos tpicos: 1) Los datos x0, x1, , xn , se han obtenido experimentalmente. 2) Una funcin complicada f(x) la aproximamos a un polinomio.

    En ambos casos hallamos el polinomio de interpolacin p(x) . Mtodos de hallar el polinomio de interpolacin p(x):

    * Mtodo de Lagrange * Mtodo de Newton

  • G1. Polinomio de interpolacin de LagrangeSea una funcin f(x), de tal manera que conozcamos su valor en cada uno de n+1 puntos: f(x0), f(x1), , f(xn). 1. Obtenemos los multiplicadores o coeficientes de Lagrange):Son n+1 coeficientes: con k=0, 1, 2, , n .i = 0, 1, 2, , n k = 0, 1, 2, , n

  • Propiedad de los coeficientes Lk(x): El coeficiente Lk(x) se anula en cada punto xi, excepto en el xk que tiene el valor 1 (valor mximo).Ejemplo: Supongamos como soporte los seis puntos siguientes, x0 = 1, x1 = 3, x2 = 4, x3 = 6, x4 = 8, x5 = 9.

  • El polinomio de interpolacin deLagrange se obtiene:

  • EJEMPLO: Sea la funcin f(x)=ex. Supongamos conocido el valor que toma esta funcin en los cuatro puntos: x0=2, x1=2.5, x2=3, x3=4, es decir:f(x0) = 7.3890, f(x1) = 12.1825, f(x2) = 20.0855, f(x3) = 54.5980Hallemos el polinomio de interpolacin de Lagrange:

  • El polinomio de interpolacin de Lagrange es: p(x) = f(x0) L0(x) + f(x1) L1(x) + f(x2) L2(x) + f(x3) L3(x) p(x) = 3.12601 x3 17.2259 x2 + 39.432 x 27.5792

  • G2. Polinomio de interpolacin de Newton.La frmula de interpolacin de Newton viene dada por:Siendo las llamadas diferencias divididas de f para los x0, x1, , xn . En el caso de 4 puntos

  • Algunos ejemplos:**

  • El polinomio de interpolacin de Newton:

  • Ejemplo: Vamos a obtener el polinomio de interpolacin para la funcin f(x) = ex, en los puntos {2, 2.5, 3, 4}, pero en esta ocasin por el mtodo de Newton. p(x) = 7.38906 + 9.58688 (x 2) + 6.21912 (x 2) (x 2.5) + + 3.1260 (x 2) (x 2.5) (x 3) p(x) = 3.126 x3 17.2259 x2 + 39.4318 x 27.5791

  • G2. Mtodo de los Mnimos Cuadrados (Cuadratura Gaussiana)Supongamos que al realizar una serie de mediciones de dos variables (x, y) , se ha obtenido una distribucin de pares de valores o puntos: (x1, y1) , (x2, y2) , , (xi, yi) , , (xn, yn) . El mtodo de los mnimos cuadrados busca una curva, como se indica en la grfica, de tal manera que se minimice la suma de los cuadrados de los errores, ei , cometidos al sustituir los puntos por la ordenada y(xi).y = axm + bxm-1+ + c

  • Matemticamente equivale a un problema de hallar un mnimo para una funcin de m+1 variables: f(a, b, , c)EJEMPLO: Apliquemos el mtodo para el caso de un polinomio de grado 2 (funcin polinmica), es decir, mediante una parbola: y = ax2 + bx+ cSi observamos la figura anterior, tenemos:

    ei = axi2 + bxi+ c yi ei2 = (axi2 + bxi+ c yi )2 .

    Por tanto la suma de los cuadrados de los errores es:

  • Se trata, pues, de minimizar esta funcin de tres variables, f(a, b, c).

    Las condiciones de extremo se dan all donde se anulan las derivadas primeras de f (x):Condiciones de mnimo:

  • Ejemplo: Hay que hallar un polinomio de interpolacin (de grado 2)para la tabla de datos: x1 = 1, x2 = 2, x3 = 3 . y1 = 3, y2 = 4, y3 = 6 .Solucin: O sea,Soluc.: a = 5, b= -18.5, c = 18Polinomio de intepolacin: p(x) = 5 x2 18.5 x + 18

  • Spline (Special Line) cbica Si como polinomio interpolatorio tomamos un polinomio de grado 3:P(x) = ax3 + bx2 + cx + d, recibe el nombre de Spline.

  • Interpolacin de datos 1-D con MATLAB.>> yi = interp1(x, y, xi, mtodo);>> plot(x, y, 'o', xi, yi);

    Sean conocidos una tabla de datos: x = [1, 1.2, 1.3, 1.5, ] y = [4.254, 3.097, 5.671, ] Mtodos . - nearest - linear (por defecto) - spline Cubic spline interpola. - cubic

  • Ejemplo 1:

    >> x = 0:10; >> y = exp(x); >> xi = 0:0.2:10; >> yi = interp1(x, y, xi); >> plot(x, y, 'o , xi, yi);

  • Ejemplo 2: Hay que interpolar mediante spline los datos de la tabla siguiente:

    x 2 2.1 2.6 3 3.2 3.7 4 4.3 y 5 5.3 5.6 5.4 4.9 4.5 3.8 3.3>> tab = [2 2.1 2.6 3 3.2 3.7 4 4.3; 5 5.3 5.6 5.4 4.9 4.5 3.8 3.3]>> x = tab(1, :); y = tab(2, :);>> xi = 2:0.25:4.5;>> yi = interp1(x, y, xi, 'spline');>> plot(x, y, 'o', xi, yi)

  • Ejemplo 3: Tenemos dos vectores con los censos (por decadas) en el siglo XX, en millones de personas: >> t = 1900:10:1990; >> p = [75.995 91.972 105.711 123.203 131.669...150.697 179.323 203.212 226.505 249.633];

    Por interpolacin podemos estimar la poblacin en cualquier ao:>> t = 1900:10:1990;>> p = [75.995 91.972 105.711 123.203 131.669... 150.697 179.323 203.212 226.505 249.633];>> interp1(t, p, 1975)

    ans = 214.8585

  • >> t = 1900:10:1990;>> p = [75.995 91.972 105.711 123.203 131.669... 150.697 179.323 203.212 226.505 249.633];

    >> x = 1900:1:2000;>> y = interp1(t, p, x, 'spline'); plot(t,p,'o',x,y)

    Podemos representar la poblacin anual: