Parte_6

16
 Parte 6. Interpolaci´ on Gustavo Montero Escuela ecnica Super ior de Ingenier os Industrial es Universidad de Las Palmas de Gran Canaria Curso 2006-2007

description

Parte_6

Transcript of Parte_6

  • Parte 6. Interpolacion

    Gustavo Montero

    Escuela Tecnica Superior de Ingenieros IndustrialesUniversidad de Las Palmas de Gran Canaria

    Curso 2006-2007

  • El problema de la interpolacion

    Planteamiento del problemaEncontrar una funcion facil de construir y de evaluar que coincida con una funcion dada en una serie de datosconocidos.

    Interpolacion polinomialLa existencia del polinomio depende que el determinante de Vandermonde no se anule,

    n =

    1 x0 x

    20 xn0

    1 x1 x21 xn1

    1 xn x2n xnn

    = nY

    i=1j

  • Formula de Lagrange

    Obtencion de la formula de LagrangeEntonces un polinomio que tome los valores z0, z1, . . . , zn en x0, x1, . . . , xn , respectivamente, sera de la forma

    p(x) =nX

    k=0

    zk lk (x) = z0 l0(x) + z1 l1(x) + + zn ln(x)

    y si zk es el valor de una determinada funcion en xk ,

    p(x) =nX

    k=0

    f (xk )lk (x) = f (x0)l0(x) + f (x1)l1(x) + + f (xn)ln(x)

  • Formula de Lagrange para soporte equidistante

    Formula de Lagrange para soporte equidistanteSi tomamos los xk equiespaciados a una distancia h,

    xk = x0 + k h k = 0, 1, ..., n

    podemos realizar el cambio de variable x = x0 + s h,

    l(x) = lk (x0 + s h) =nY

    j=0j 6=k

    s jk j

    ya quex xj = (s j)hxk xj = (k j)h

    definiendo entonces,uk (s) =

    nYj=0j 6=k

    s jk j

    La formula de Lagrange resulta,

    p(x) = p(x0 + s h) = q(s) =nX

    k=0

    zkuk (s)

  • Diferencias divididas

    Calculo de diferencias divididas1 0

    0.69312 0.6931 0.1438

    0.4055 0.02833 1.0986 0.0589 0.0485

    0.2877 0.0089 :4 1.3863 0.0323 : :

    0.2231 : : :5 1.6094 : : : :: : : : : :

    Propiedades

    I f [x0, x1, . . . , xk ] = Pki=0 f (xi )(xi x0) (xi xi1)(xi xi+1) (xi xn)

    I f [x0, x1, . . . , xk ] = f [xj0 , xj1 , . . . , xjk ], siendo j0, j1, . . . , jk cualquier permutacion de 0, 1, . . . , kI f [x0, x1, . . . , xk ] = f [x0, . . . , xk1] f [x1, . . . , xk ]

    (x0 xk )

  • Formula de Newton

    Polinomio de Interpolacion de NewtonUtilizando diferencias divididas, la formula de Newton resulta,

    pn(x) =nX

    i=0

    24f [x0, x1, . . . , xi ] i1Yj=0

    (x xj )35

    Ventajas frente a la formula de LagrangeI En el paso a un polinomio de grado n + 1 todos los calculos realizados para el de grado n son

    aprovechables y solo es necesario andir un sumando mas. Esto no es posible con la formula de Lagrange,donde todos los calculos deben volver a realizarse sin poder aprovechar los anteriores.

    I Se pueden disponer los calculos de forma mas eficiente que en el caso de Lagrange,

    b0 = an ; k = 0

    bk = ank + (x xnk )bk1; k 1

    siendo ai = f [x0, . . . , xi ] y bn el valor de pn(x) para un valor de x dado.

  • Diferencias finitas

    Diferencias finitas progresivasCosideraremos un soporte equidistante xj = x0 + j h

    f (xk ) = f (xk + h) f (xk ) = f (xk+1) f (xk )

    fk = fk+1 fk

    2fk = (fk ) = fk+1 fk...

    .

    .

    .

    .

    .

    .

    n+1fk = n(fk ) =

    nfk+1 nfk

    x0 f0f0

    x1 f1 2f0

    f1 3f0

    x2 f2 2f1

    4f0f2

    3f1 :

    x3 f3 2f2 : :

    f3 : : :x4 f4 : : : :: : : : : :

  • Diferencias finitas

    Diferencias finitas regresivas

    fk = fk fk1

    n+1fk = nfk nfk1

    Propiedades de las diferencias finitasI fk = fk1, . . . , nfk = nfknI nfk = n!hnf [xk , xk+1, . . . , xk+n ]I nfk = Pni=0(1)ni ni fk+i

  • Diferencias finitas

    Polinomio de interpolacion usando diferencias finitasConsiderando un soporte equidistante y utilizando la segunda propiedad en la expresion del polinomio de Newtoncon diferencias divididas resulta la formula de Newton progresiva,

    p(x) = p(x0 + th) =nX

    i=0

    24i f0i!

    i1Yj=0

    (t j)35 = nX

    i=0

    ti

    i f0

    Si partimos de esta otra expresion de la formula de Newton,

    p(x) =nX

    i=0

    24f [xn, xn1, . . . , xni ] i1Yj=0

    (x xnj )35

    obtenemos la formula de Newton regresiva,

    p(x) = p(x0 + th) =nX

    i=0

    24i fni!hi

    i1Yj=0

    (x xnj )35 = nX

    i=0

    t+i1

    i

    i fn

  • Estudio del error de interpolacion

    Expresion del error de interpolacionDefinimos el error de interpolacion como

    E(x) = f (x) pn(x) = f [x0, x1, . . . , xn, x]nY

    i=0

    (x xi )

    Si f Cn [a, b] (a, b) tal que f [x0, . . . , xn ] =f (n()

    n!

    Esto se puede demostrar aplicando sucesivamente el teorema de Rolle.Por tanto,

    E(x) = f (x) pn(x) =f (n+1()

    (n + 1)!

    nYi=0

    (x xi )

    Si M = maxatb

    f (n+1(t)

    |E(x)| M

    (n + 1)!max

    atb

    nYi=0

    (x xi )

    CorolarioEs enganoso creer que aumentar el numero de puntos de interpolacion (relacionado con el grado del polinomio deinterpolacion) va a hacer que el correspondiente polinomio de interpolacion se aproxime mas a f (x). De hecho, conel aumento del grado del polinomio las oscilaciones de la funcion interpoladora aumentan tambien.

  • Interpolacion de Lagrange a trozos

    Problemas del polinomio unico de interpolacionI Naturaleza oscilatoria de los polinomiosI Una pequena variacion en los datos de una zona determinada del intervalo de calculo puede producir

    grandes fluctuaciones en todo el intervaloAlternativa: interpolacion polinomial a trozosSe trata de dividir el intervalo en varios subintervalos y construir un polinomio de interpolacion diferente en cadauno de ellos preservando algunas propiedades en los puntos del soporte como continuidad, derivabilidad, ...

    Interpolacion a trozos massimpleEl caso mas simple interpolacion a trozos consiste entrazar la poligonal (lneas rectas) entre los puntos dados(datos) de la funcion a interpolar,

    Interpolacion de Lagrange atrozosEl caso anterior se puede considerar como una interpolacion deLagrange con polinomios de grado 1 (interpolacion lineal).Podemos generalizar esta tecnica tomando mas de dos puntospor intervalo, lo que permite utilizar polinomios de Lagrange deorden mayor a 1.

  • Funciones splines

    Funcion spline de grado mEs una funcion s(x) definida en [a, b] con nodos en a = t1, t2, . . . , tn1, tn = b, tal queI La restriccion de s(x) a cada intervalo [ti , ti+1], con i = 1, 2, . . . , n 1, es un polinomio de grado no

    mayor que m.

    I La funcion s(x) y sus derivadas hasta orden m 1 inclusive son continuas en [a, b].

    PropiedadesI Las splines de grado impar son mas suaves.I La exigencia de continuidad de las derivadas no conduce a elegir splines de grado superior a 1.I Sin embargo, la eleccion de un grado muy elevado complicara en exceso el problema.

    Estas tres razones parecen senalar a la spline cubica como la opcion mas factible en general (m = 3).Se trata, por tanto, de una funcion continua con primera y segunda derivadas continuas.

  • Interpolacion mediante splines cubicas

    Continuidad de la funcion spline cubicaSupongamos t1 < t2 < < tn ; fi = f (ti ), hi = ti+1 ti , i = 1, 2, . . . , n 1.Sea si (x) la restriccion de s(x) a [ti , ti+1]. Si si (x) es cubico entonces s

    i es lineal, tal que si s

    i (ti ) = zi y

    si (ti+1) = zi+1, podemos escribir,

    si (x) = zi+1x tihi

    + ziti+1 x

    hi

    Integrando dos veces,

    si (x) =zi+1

    6hi(x ti )3 +

    zi

    6hi(ti+1 x)3 + Ci (x ti ) + Di (ti+1 x)

    Sabiendo que si (ti ) = fi y si (ti+1) = fi+1, obtenemos Ci y Di ,

    si (x) =zi+1

    6hi(x ti )3 +

    zi

    6hi(ti+1 x)3 +

    "fi+1

    hi zi+1hi

    6

    #(x ti ) +

    "fi

    hi zi hi

    6

    #(ti+1 x)

    Esto garantiza que s(x) es continua y coincide con f en todos los puntos ti , i = 1, 2, . . . , n.

  • Interpolacion mediante splines cubicas

    Continuidad de la primera derivadaPara que la primera derivada sea continua se debe cumplir si1(ti ) = s

    i (ti ), i = 2, 3, . . . , n 1,

    si (ti ) = hi

    3zi

    hi

    6zi+1 +

    fi+1 fihi

    si1(ti ) =hi16

    zi1 +hi13

    zi +fi fi1hi1

    Igualando, resulta

    hi1zi1 + 2(hi1 + hi )zi + hi zi+1 =6

    hi(fi+1 fi )

    6

    hi1(fi fi1)

    Lo que supone n 2 ecuaciones para la continuidad de la primera derivada.

    Continuidad de la segunda derivadaLa continuidad de la segunda derivada se asegura con la propia definicion de si , ya que s

    i1(ti ) = s

    i (ti )

  • Interpolacion mediante splines cubicas

    Sistema final de ecuaciones tridiagonalDefinamos,

    bi =6

    hi(fi+1 fi )

    6

    hi1(fi fi1)

    u2 = 2(h1 + h2), ui = 2(hi1 + hi )h2i1ui1

    , i = 3, . . . , n 1

    v2 = b2 hi zi , vi = bi hi1ui1

    vi1, i = 3, . . . , n 2, vn1 = bn1 hn1zn hn2un2

    vn2

    el sistema a resolver es,u2z2 +h2z3 = v2

    u3z3 +h3z4 = v3

    . . .. . .

    .

    .

    .un1zn1 = vn1

    I Para z1 = zn = 0 Spline Cubico NaturalI Otra posibilidad es tomar en los extremos un valor determinado de la pendiente de la curva,

    s1(t1) = f(t1)

    sn1(tn) = f(tn)

  • Resumen

    I La formula de interpolacion de Newton tiene mejores prestacionescomputacionales que la de Lagrange.

    I Cuando se tiene que optar por polinomios de grado elevado en la interpolacionestandar, es preferible utilizar la interpolacion a trozos.

    I La interpolacion a trozos basada en funciones splines cubicas proporcionafunciones suaves con continuidad en las dos primeras derivadas.