Métodos Numéricos: Resumen y ejemplos Tema 2:...

download Métodos Numéricos: Resumen y ejemplos Tema 2: …epsem.upc.edu/~fpq/numerico/resum/aprox-interp.pdf · Supongamos que deseamos calcular √ 27, la fórmula de recurrencia, en nues-tro

If you can't read please download the document

Transcript of Métodos Numéricos: Resumen y ejemplos Tema 2:...

  • Mtodos Numricos: Resumen y ejemplosTema 2: Aproximacin e interpolacin

    Francisco PalaciosEscuela Politcnica Superior de Ingeniera de Manresa

    Universidad Politcnica de Catalua

    Febrero 2008, Version 1.4

    Contenido

    1. Objetivo de los mtodos numricos

    2. Errores

    3. Dgitos significativos y decimales exactos

    4. Polinomios de Taylor

    5. Resto del polinomio de Taylor

    6. Polinomio interpolador de Lagrange

    7. Forma de Lagrange para el polinomio interpolador

    8. Error de interpolacin

    9. Forma de Newton para el polinomio interpolador

    10. Polinomio interpolador de Hermite

    1 Objetivo de los mtodos numricos

    El objetivo de los mtodos numricos es aproximar el valor numrico deobjetos matemticos usando un nmero finito de operaciones aritmticas.Algunos ejemplos tpicos del tipo de problema que abordan los mtodosnumricos son los siguientes:

    1. Evaluar5, 628, sin(0.361), (0.853)0.71 .

    2. Aproximar un valor de x que cumpla sinx+ ex = 0.

    3. Aproximar el valor de Z 10

    sinx

    xdx.

    1

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 2

    4. Conocidos los valores de la tabla

    x 0 0.1 0.2

    f(x) 0.5 1.7 2.3

    aproximar el valor de f(0.07),R 0.20 f(x) dx, f

    0(0.07).

    5. Si y = y(x) cumple y0 = x cos yy(0) = 0

    aproximar y(0.1), y(0.2), y(0.3).

    1.1 Mtodo iterativo

    Una forma bastante habitual de generar aproximaciones xj de un valor

    x0, x1, x2, . . . , xn, . . .

    consiste en el uso de una frmula recurrentexn+1 = g(xn),x0 = valor inicial.

    Ejemplo 1.1 Mtodo iterativo parac.

    La siguiente frmula recurrente

    xn+1 =1

    2

    xn +

    c

    xn

    ,

    nos proporciona un mtodo iterativo para aproximar el valor dec. Para

    iniciar el mtodo, necesitamos una primera estimacin x0.Supongamos que deseamos calcular

    27, la frmula de recurrencia, en nues-

    tro caso, es

    xn+1 =1

    2

    xn +

    27

    xn

    .

    Podemos tomar como estimacin inicial x0 = 5, entonces

    x0 = 5,

    x1 =1

    2

    5 +

    27

    5

    = 5. 2,

    x2 =1

    2

    5.2 +

    27

    5.2

    = 5. 19615 3846,

    x3 =1

    2

    5. 19615 3846 +

    27

    5. 19615 3846

    = 5. 19615 2423,

    x4 =1

    2

    5. 19615 2423 +

    27

    5. 19615 2423

    = 5. 19615 2423.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 3

    Observamos que x4 = x3 (con 9 decimales), el mtodo ha convergido al valor

    = 5. 19615 2423.

    El valor obtenido es correcto hasta el noveno decimal27 = 5. 19615 24227 06631.

    En el tema dedicado a la resolucin numrica de ecuaciones, veremos queeste mtodo se obtiene al aplicar elmtodo de Newton-Raphson a la ecuacinx2 c = 0.

    2 Errores

    Sea un valor exacto y (xj) una sucesin de aproximaciones de

    x0, x1, x2, . . . , xj , . . . ,

    definimos:

    Error absolutoej = xj .

    Error relativorj =

    xj

    =ej.

    Error relativo aproximado

    rj = xjxj

    .

    Normalmente usamos los valores absolutos de los errores

    |ej | = | xj | , |rj | = xj

    , |rj | =

    xjxj

    .

    Fuentesde error

    En la determinacindel modelo.

    En la resolucinnumrica.

    Simplificacin del problema.(no rozaminento, etc...)

    Errores en la medida de datosy parmetros.

    Errores accidentales.(de clculo, de programacin, etc...)

    Truncamiento de procesoso infinitos.

    Redondeo.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 4

    Ejemplo 2.1 Ejemplo de error de truncamiento.

    Queremos aproximar

    =Xn=1

    1

    n2= 1 +

    1

    4+1

    9+1

    16+

    para ello calculamos la suma finita

    S6 =6Xn=1

    1

    n2= 1 +

    1

    4+1

    9+1

    16+1

    25+1

    36= 1. 491389.

    Puede demostrarse que el valor exacto de es

    =Xn=1

    1

    n2=

    2

    6,

    por lo tanto, el error absoluto de truncamiento es

    e6 =2

    6 1. 491389 = 0. 15354 5.

    Para el error relativo, obtenemos

    r6 =e6=0. 15354 5

    (2/6)= 0.09 33 = 9.33%.

    Obviamente, al realizar los clculos, tambin se han producido errores de re-dondeo, sin embargo, en este caso, los errores de redondeo son muy inferioresal error de truncamiento.

    3 Dgitos significativos y decimales exactos

    Decimos que x aproxima con t decimales exactos si

    |ex| = | x| 0.5 10t.

    Decimos que x aproxima con t dgitos significativos si

    |rx| =| x||| 5 10

    t.

    Ejemplo 3.1 Aproximamos = 49.99 mediante x = 50.00.(a) Cuntos decimales exactos tiene x?(b) Cuntos dgitos significativos?(c) Cuantos decimales son iguales?

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 5

    (a) El error absoluto es

    |ex| = | x| = |49.99 50.00| = 0. 01 = 0.1 101,

    como |ex| < 0.5 101, x aproxima con un decimal exacto.(b) El error relativo es

    |rx| =| x||| =

    0.01

    49.99= 2. 0004 104,

    como |rx| < 5 104, x aproxima con 4 dgitos significativos.(c) y x no tienen dgitos iguales.

    4 Polinomio de Taylor

    Sea f(x) una funcin derivable hasta orden n en x = c.

    El polinomio de Taylor de f(x) en x = c es

    Pn(x) = f(c) +f 0(c)

    1!(x c) + f

    00(c)

    2!(x c)2 + + f

    (n)(c)

    n!(x c)n .

    Cuando c = 0, resulta el polinomio de McLaurin

    Pn(x) = f(0) +f 0(0)

    1!x+

    f 00(0)

    2!x2 + + f

    (n)(0)

    n!xn.

    PropiedadSi Pn(x) es el polinomio de Taylor de orden n de f(x) en x = c, entoncesse cumple

    Pn(c) = f(c), P0n(c) = f

    0(c), P 00n (c) = f00(c), . . . , P (n)n (c) = f

    (n)(c).

    AplicacinLos polinomios de Taylor permiten aproximar el valor de una funcin f(x)para x prximos a c. Observa que para construir el polinomio de Taylorusamos nicamente valores de f y sus derivadas (consecutivas) en x = c.

    Ejemplo 4.1 Consideramos f(x) = ex.(a) Determina al polinomio de McLaurin de orden 5 para f.(b) Aproxima el valor de e0.5.(c) Cuntos decimales exactos tiene la aproximacin?

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 6

    (a) Polinomio de McLaurin. Se cumple

    f(x) = ex, f 0(x) = ex, f 00(x) = ex, . . . , f (5)(x) = ex.

    Sustituyendo en x = 0, resulta

    f(0) = f 0(0) = f 00(0) = = f (5)(0) = 1,

    por lo tanto

    P5(x) = 1 + x+x2

    2+x3

    6+x4

    24+x5

    120.

    (b) Valor aproximado. Sustituyendo x = 0.5 en el polinomio, resulta

    P5(0.5) = 1. 648698.

    (c) Error. El valor de e0.5, calculado con 6 decimales es

    e0.5 = 1. 64872 1,

    el valor absoluto del error absoluto es

    |e5| =e0.5 P5(0.5)

    = 0.000023 = 0.2 3 104.

    Por lo tanto, la aproximacin P5(0.5) tiene 4 decimales exactos.

    Ejemplo 4.2 Consideramos f(x) = sinx.(a) Determina al polinomio de McLaurin de orden 5 para f.(b) Aproxima el valor1 de sin(0.2).(c) Cuntos decimales exactos tiene la aproximacin?

    (a) Polinomio de McLaurin. Se cumple:

    f(x) = sinx,f 0(x) = cosx,f 00(x) = sinx,f (3)(x) = cosx,f (4)(x) = sinx,

    f (5)(x) = cosx,

    f(0) = 0,f 0(0) = 1,f 00(0) = 0,f (3)(0) = 1,f (4)(0) = 0,

    f (5)(0) = 1,

    por lo tanto

    P5(x) = xx3

    6+x5

    120.

    1El argumento de sin(x) est en radianes. Debes tener en cuenta que las reglas usualesde derivacin de funciones trigonomtricas, como

    d

    dxsin (x) = cos (x) ,

    d

    dxcos (x) = sin(x),

    slo son vlidas si el ngulo est en radianes.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 7

    (b) Valor aproximado. Sustituyendo x = 0.2 en el polinomio, resulta

    P5(0.2) = 0.19866 93333.

    (c) Error. El valor de sin(0.2), calculado con 10 decimales es

    sin(0.2) = 0.19866 93308.

    El valor absoluto del error absoluto es

    |e5| = |sin(0.2) P5(0.2)| = 0.2 5 108.

    Por lo tanto, la aproximacin P5(0.2) tiene 8 decimales exactos.

    5 Resto del polinomio de Taylor

    Sea

    I = [a, b] y c un punto interior, esto es a < c < b.

    f(x) una funcin de clase2 Cn+1[a, b].

    Para cada x [a, b] se cumple

    f(x) = Pn(x) +Rn(x),

    donde:

    Pn(x) = f(c) +f 0(c)

    1!(x c) + f

    00(c)

    2!(x c)2 + + f

    (n)(c)

    n!(x c)n ,

    Rn(x) =f (n+1)(t)

    (n+ 1)!(x c)n+1, t est entre c y x.

    Cota de errorSi representamos por Mn+1 una cota superior de f (n+1)(t), esto es

    maxt[a,b]

    f (n+1)(t)

    Mn+1,

    entonces tenemos la siguiente acotacin para el error absoluto que se producecuando aproximamos f(x) mediante Pn(x)

    |en(x)| = |f(x) Pn(x)| = |Rn(x)| Mn+1(n+ 1)!

    |x c|n+1 .

    2Una funcin es de clase Cn+1[a, b] si tiene derivadas contnuas hasta orden (n+1) en[a, b]

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 8

    Ejemplo 5.1 Aproxima sin(0.2) usando un polinomio de McLaurin de gra-do 3. Determina una cota superior de error y verifica los resultados.

    (a) Valor de la aproximacin. En principio, tomaramos

    P3(x) = xx3

    6,

    ahora bien, observamos que en este caso se cumple

    f (4)(x) = sin(x) f (4)(0) = 0,

    por lo tanto, el polinomio de orden 4 coincide con el de orden 3.

    P4(x) = xx3

    6.

    Tomamos P4(x) porque nos proporciona una cota de error ms ajustada.El valor de la aproximacin, con 10 decimales es

    P4(0.2) = 0. 19866 66667.

    (b) Cota de error. Comof (5)(x) = cosx,

    tenemos

    |e4(x)| =cos t

    5!x5, t entre 0 y x.

    Podemos tomar M5 = 1, entonces

    |e4(0.2)| (0.2)5

    5!= 0.2 6667 105. (1)

    Por lo tanto, la aproximacin P4(0.2) tiene al menos 5 decimales exactos,podemos tomar el valor

    sin (0.2) = 0.19867.

    (c) Verificacin de resultados. El valor de sin(0.2) calculado con 10 decimaleses

    sin(0.2) = 0.1986693307,

    por lo tanto, el error absoluto es

    |e4(0.2)| = |sin (0.2) P4(0.2)| = 0.2664 105.

    Vemos que, en efecto, el error real es inferior a la cota superior de errorcalculada en (1).

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 9

    6 Polinomio interpolador de Lagrange

    6.1 Planteamiento

    Dada la tabla de valores

    x x0 x1 xny y0 y1 yn

    (2)

    donde

    x0, x1, . . . , xn son n+ 1 abscisas distintas.

    y0, y1, . . . , yn son n+ 1 valores arbitrarios.

    Queremos determinar un polinomio de grado n

    Pn(x) = a0 + a1x+ + anxn,

    que verifique las n+ 1 condiciones

    Pn(xj) = yj , para j = 0, 1, . . . , n. (3)

    Propiedad Si las abscisas x0, x1, . . . , xn son distintas, existe un nico po-linomio Pn(x) de grado n que cumple las condiciones

    Pn(xj) = yj , para j = 0, 1, . . . , n.

    Decimos que Pn(x) es el polinomio interpolador de la tabla

    x x0 x1 xny y0 y1 yn

    Cuando los valores yj se generan empleando una funcin

    yj = f(xj), para j = 0, 1, . . . , n,

    entonces decimos que Pn(x) es el polinomio interpolador de la funcinf(x) en las abscisas o nodos xj .

    Ejemplo 6.1 Calcula el polinomio interpolador de la funcin f(x) =1

    xen

    los nodos x0 = 1, x1 = 2, x2 = 3.

    La tabla de valores esx 1 2 3

    y 1 1/2 1/3

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 10

    Como tenemos 3 puntos, debemos determinar un polinomio de grado 2

    P2(x) = a0 + a1x+ a2x2. (4)

    Las condiciones de interpolacin (3) se traducen enP2(1) = 1,P2(2) = 1/2,P2(3) = 1/3.

    (5)

    Sustituyendo en (4), obtenemosa0 + a1 + a2 = 1a0 + 2a1 + 4a2 = 1/2a0 + 3a1 + 9a2 = 1/3

    Se trata de un sistema de 3 ecuaciones lineales con 3 incgnitas. Resolvemospor reduccin

    (2a 1a)(3a 2a)

    a0 + a1 + a2 = 1

    a1 + 3a2 = 1/2a1 + 5a2 = 1/6

    (3a 2a)

    a0 + a1 + a2 = 1

    a1 + 3a2 = 1/22a2 = 1/3

    de donde resultaa2 =

    1

    6, a1 = 1, a0 =

    11

    6.

    El polinomio interpolador, es por lo tanto

    P2(x) =11

    6 x+ x

    2

    6.

    Es inmediato verificar que, efectivamente, el polinomio obtenido cumple lascondiciones de interpolacin (5).

    6.2 Intervalo de interpolacin

    El intervalo de interpolacin es el menor intervalo que contiene los nodosxj , lo representamos por

    hx0, x1, . . . , xni = [minxj ,maxxj ].

    Si los nodos estn ordenados de forma creciente

    x0 < x1 < < xn,

    entonces el intervalo de interpolacin es [x0, xn].

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 11

    El siguiente grfico muestra la representacin conjunta de la funcin

    f(x) = 1/x

    y el polinomio interpolador calculado en el Ejemplo 6.1

    P2(x) =11

    6 x+ x

    2

    6.

    f(x)=1/xf(x)=11/6-x+x^2

    -1 -0.5 0.5 1 1.5 2 2.5 3 3.5 4 4.5

    -3

    -2

    -1

    1

    2

    3

    4

    x

    y

    funcininterpolador

    Intervalo de interpolacin

    Observamos que:

    El polinomio interpolador coincide con la funcin en los puntos deinterpolacin (xj , f(xj)).

    El polinomio interpolador es un buen aproximante de la funcin cuan-do x pertenece al intervalo de interpolacin.

    Fuera del intervalo de interpolacin, el error |en(x)| = |f(x) Pn(x)|aumenta rpidamente.

    7 Forma de Lagrange para el polinomio interpola-dor

    Consideremos la tabla

    x x0 x1 xny y0 y1 yn

    donde los nodos xj son distintos. Sabemos que existe un nico polinomioPn(x) de grado n que interpola la tabla. Hemos visto que podemos deter-minar Pn(x) resolviendo un sistema de ecuaciones. Podemos obtener el poli-nomio interpolador de forma directa (sin resolver un sistema de ecuaciones)expresndolo en una forma especial, conocida como la forma de Lagrange

    Pn(x) = l0(x) y0 + l1(x) y1 + + ln(x) yn.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 12

    Los polinomios lj(x) se denominan polinomios componentes y se caracterizanpor las propiedades

    lj(xk) = jk =

    1 si j = k,

    0 si j 6= k.

    Es decir, el polinomio componente lj(x) vale 1 en su nodo xj y se anula enlos restantes.Como lj(x) se anula para

    x0, x1, . . . , xj1, xj+1, . . . , xn,

    y es de grado n, debe ser de la forma

    lj(x) = C (x x0) (x x1) (x xj1) (x xj+1) (x xn) .

    Para cumplir lj(xj) = 1, debe ser

    C =1

    (xj x0) (xj x1) (xj xj1) (xj xj+1) (xj xn),

    por lo tanto

    lj(x) =(x x0) (x x1) (x xj1) (x xj+1) (x xn)(xj x0) (xj x1) (xj xj1) (xj xj+1) (xj xn)

    .

    Ejemplo 7.1 Polinomio interpolador para 3 nodos.

    Consideremos la tablax x0 x1 x2y y0 y1 y2

    Los polinomios componentes son

    x0 x1 x2

    l0(x) =(x x1) (x x2)(x0 x1) (x0 x2)

    .

    x0 x1 x2

    l1(x) =(x x0) (x x2)(x1 x0) (x1 x2)

    .

    x0 x1 x2

    l2(x) =(x x0) (x x1)(x2 x0) (x2 x1)

    .

    Observamos que, efectivamente, los polinomios componentes cumplenl0(x0) = 1l0(x1) = 0l0(x2) = 0

    ,

    l1(x0) = 0l1(x1) = 1l1(x2) = 0

    ,

    l2(x0) = 0l2(x1) = 0l2(x2) = 1

    .

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 13

    El polinomio interpolador es, entonces

    P2(x) = l0(x) y0 + l1(x) y1 + l2(x) y2.

    Vemos que P2(x) es de grado 2, adems toma los valores adecuados

    P2(x0) = l0(x0) y0 + l1(x0) y1 + l2(x0) y2 = y0,

    P2(x1) = l0(x1) y0 + l1(x1) y1 + l2(x1) y2 = y1,

    P2(x2) = l0(x2) y0 + l1(x2) y1 + l2(x2) y2 = y2,

    Ejemplo 7.2 Determina el polinomio interpolador de la tabla

    x 1 2 3

    y 1 1/2 1/3.

    Los polinomios componentes son

    x0 = 1 x1 = 2 x2 = 3

    l0(x) =(x 2) (x 3)(1 2) (1 3) =

    1

    2(x 2) (x 3) .

    x0 = 1 x1 = 2 x2 = 3

    l1(x) =(x 1) (x 3)(2 1) (2 3) = (x 1) (x 3) .

    x0 = 1 x1 = 2 x2 = 3

    l2(x) =(x 1) (x 2)(3 1) (3 2) =

    1

    2(x 1) (x 2) .

    El polinomio interpolador es

    P2(x) = l0(x) 1 + l1(x) 1

    2+ l2(x)

    1

    3.

    P2(x) =1

    2(x 2) (x 3) 1

    2(x 1) (x 3) + 1

    6(x 1) (x 2) . (6)

    La tabla de valores es la misma que la del Ejemplo 6.1, si operamos en (6),resulta

    P2(x) =1

    6x2 x+ 11

    6,

    que coincide con el obtenido mediante la resolucin de un sistema de ecua-ciones.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 14

    8 Error de interpolacin

    Para el polinomio interpolador de una funcin, es posible obtener una ex-presin del error que es muy parecida a la frmula de error para el polinomiode Taylor.Sean

    (n+ 1) nodos distintos x0, x1, . . . , xn.

    [a, b] = hx0, x1, . . . , xni (el menor intervalo que contiene los nodos)

    f(x) funcin de clase Cn+1[a, b].

    Pn(x) el polinomio interpolador de f(x) en los nodos x0, x1, . . . , xn.

    Para cada x [a, b], el error de interpolacin admite la siguiente expresin

    en(x) = f(x) Pn(x) =f (n+1)(t)

    (n+ 1)!(x x0) (x xn), t [a, b].

    Si Mn+1 es una cota superior paraf (n+1)(t)

    , esto es

    maxt[a,b]

    f (n+1)(t)

    Mn+1,

    obtenemos la siguiente cota superior para el error de interpolacin

    |en(x)| = |f(x) Pn(x)| Mn+1(n+ 1)!

    |(x x0) (x xn)| .

    Ejemplo 8.1 A partir de los datos

    e0 = 1,

    e0.1 = 1.105171,

    e0.2 = 1.221403.

    (a) Aproxima el valor de e0.14.(b) Determina una cota superior del error de interpolacin.(c) Compara con el valor de la calculadora.

    (a) Clculo de la aproximacin. Los polinomios componentes son

    x0 = 0 x1 = 0.1 x2 = 0.2

    l0(x) =(x 0.1) (x 0.2)(0 0.1) (0 0.2) .

    l0(x) =1

    0.02(x 0.1) (x 0.2) .

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 15

    x0 = 0 x1 = 0.1 x2 = 0.2

    l1(x) =(x) (x 0.2)

    (0.1 0) (0.1 0.2)

    l1(x) =10.01

    x (x 0.2)

    x0 = 0 x1 = 0.1 x2 = 0.2

    l2(x) =(x) (x 0.1)

    (0.2 0) (0.2 0.1) .

    l2(x) =1

    0.02x (x 0.1) .

    Polinomio interpolador

    P2(x) = l0(x) y0 + l1(x) y1 + l2(x) y2.

    Para calcular P2(1.14), sustituimos en los polinomios componentes

    l0(0.14) =1

    0.02(0.14 0.1) (0.14 0.2) = (0.04) (0.06)

    0.02= 0.12,

    l1(0.14) =10.01

    (0.14) (0.14 0.2) = (0.14) (0.06)0.01

    = 0.84,

    l2(0.14) =1

    0.02(0.14) (0.14 0.1) = (0.14) (0.04)

    0.02= 0.28,

    finalmente

    P2(0.14) = l0(0.14) y0 + l1(0.14) y1 + l2(0.14) y2

    = (0.12) 1 + 0.84 1.105171 + 0.28 1.221403= 1. 150336.

    (b) Cota superior de error. En nuestro caso, el intervalo de interpolacin es[0, 0.2], tenemos

    |e2(x)| M33!|(x x0) (x x1) (x x2)| ,

    conM3 max

    t[0,0.2]

    f (3)(t)

    = maxt[0,0.2]

    et= e0.2 = 1.221403,

    por lo tanto

    e2(0.14) 1.221403

    3!|(0.14 0) (0.14 0.1) (0.14 0.2)|

    0.6 83986 104 = 0.06 83986 103.

    Vemos que la aproximacin tiene al menos 3 decimales exactos, el resultadoes

    e0.14 = 1. 150 .

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 16

    (c) Comparacin con el valor de la calculadora. El error exacto (con 6decimales) es

    |e2(0.14)| =e0.14 P2(0.14)

    = |1. 150273 1. 150336|

    = 0. 63 104

    vemos que, efectivamente, el error real es inferior a la cota de error calculada.

    9 Forma de Newton para el polinomio interpola-dor

    En esta seccin se presenta otra forma para calcular el polinomio interpola-dor, conocida como la forma de Newton. Esta forma es especialmente ade-cuada para realizar los clculos manualmente. Adems, permite incorporarnuevos puntos de interpolacin sin tener que rehacer todos los clculos.

    9.1 Diferencias divididas

    Dada la tabla de valores

    x x0 x1 x2 x3 x4y y0 y1 y2 y3 y4

    formamos la tabla de diferencias divididas

    x0 f [x0]x1 f [x1] f [x0, x1]x2 f [x2] f [x1, x2] f [x0, x1, x2]x3 f [x3] f [x2, x3] f [x1, x2, x3] f [x0, x1, x2, x3]

    x4 f [x4] f [x3, x4] f [x2, x3, x4] f [x1, x2, x3, x4] f [x0, x1, x2, x3, x4]

    Las diferencias divididas se calculan de forma recurrente

    f [xj ] = f(xj) = yj ,

    f [xi, xi+1, , xj1, xj ] =f [xi+1, , xj1, xj ] f [xi, xi+1, , xj1]

    xj xi,

    Ejemplo 9.1 Diferencias divididas.

    f [x0, x1] =f [x1] f [x0]x1 x0

    ,

    f [x1, x2] =f [x2] f [x1]x2 x1

    ,

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 17

    f [x0, x1, x2] =f [x1, x2] f [x0, x1]

    x2 x0,

    f [x1, x2, x3, x4] =f [x2, x3, x4] f [x1, x2, x3]

    x4 x1.

    Ejemplo 9.2 Diferencias divididas para la tabla

    x 0 1 3

    y 1 3 1 .

    x0 = 0 f [x0]= 1

    x1 = 1 f [x1] = 3 f [x0, x1]=311 = 2

    x2 = 3 f [x2] = 1 f [x1, x2]= 1331 = 2 f [x0, x1, x2]=2230 =

    43

    9.2 Interpolador de Newton

    Dada la tabla de valores

    x x0 x1 x2 x3 x4y y0 y1 y2 y3 y4

    tenemos los siguientes polinomios interpoladores

    Un nodox x0y y0

    P0(x) = f [x0].

    Dos nodosx x0 x1y y0 y1

    P1(x) = f [x0] + f [x0, x1] (x x0).

    Tres nodosx x0 x1 x2y y0 y1 y2

    P2(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0)(x x1).

    Cuatro nodosx x0 x1 x2 x3y y0 y1 y2 y3

    P3(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0)(x x1)+f [x0, x1, x2, x3] (x x0)(x x1)(x x2).

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 18

    Cinco nodosx x0 x1 x2 x3 x4y y0 y1 y2 y3 y4

    P4(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0)(x x1)+f [x0, x1, x2, x3] (x x0)(x x1)(x x2)+f [x0, x1, x2, x3, x4] (x x0)(x x1)(x x2)(x x3).

    Ejemplo 9.3 Calcula el polinomio interpolador de la tabla

    x 0 1 3

    y 1 3 1 .

    Hemos obtenido la tabla de diferencias divididas

    x0 = 0 f [x0]= 1

    x1 = 1 f [x1]= 3 f [x0, x1] = 2

    x2 = 3 f [x2]= 1 f [x1, x2] = 2 f [x0, x1, x2] = 43El interpolador es

    P2(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0)(x x1).

    En nuestro casoP2(x) = 1 + 2x+

    43x (x 1).

    El polinomio P2(x) es de grado 2. En los nodos xj toma los valores

    P2(0) = 1,

    P2(1) = 1 + 2 = 3,

    P2(3) = 1 + 64

    3 6 = 7 8 = 1.

    Se trata, por lo tanto, del polinomio interpolador.

    Ejemplo 9.4 Calcula el polinomio interpolador de la tabla

    x 0 1 1y 0 0 2

    .

    Hemos obtenido la tabla de diferencias divididas

    x0 = 0 f [x0] = 0x1 = 1 f [x1] = 0 f [x0, x1] = 0

    x2 = 1 f [x2] = 2 f [x1, x2] = 1 f [x0, x1, x2] = 1El interpolador es

    P2(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0)(x x1),

    en nuestro casoP2(x) = x (x 1).

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 19

    10 Interpolacin de Hermite

    10.1 Presentacin del problema

    Dada la tabla de datos

    x x0 x1 xny y0 y1 yny0 y00 y

    01 y0n

    se pretende determinar un polinomio de grado 2n+ 1

    H2n+1(x) = a0 + a1x+ + a2n+1x2n+1,

    que cumpla las 2n+ 2 condicionesH2n+1(xj) = yjH 02n+1(xj) = y

    0j

    para j = 0, 1, . . . , n.

    Propiedad. Si los nodos x0, x1, . . . , xn, son distintos, entonces el polinomiointerpolador de Hermite H2n+1(x) existe y es nico, para cualquier eleccinde los valores yj y y0j .

    Ejemplo 10.1 Calcula el polinomio interpolador de Hermite para la tabla

    x 0 1

    y 1 3

    y0 1 1.

    Se trata de un polinomio de grado 3

    H3(x) = a0 + a1x+ a2x2 + a3x

    3. (7)

    Las condiciones de interpolacin sonH3(0) = 1,H 03(0) = 1,H3(1) = 3,H 03(1) = 1.

    (8)

    Calculamos H 03(x)H 03(x) = a1 + 2a2x+ 3a3x

    2, (9)

    sustituyendo en (7) y (9), resultaa0 = 1a1 = 1a0 + a1 + a2 + a3 = 3a1 + 2a2 + 3a3 = 1

    a0 = 1a1 = 1a2 + a3 = 12a2 + 3a3 = 2

    a0 = 1a1 = 1a2 = 5a3 = 4

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 20

    El polinomio interpolador es, por lo tanto,

    H3(x) = 1 + x+ 5x2 4x3.

    Vemos que H3(x) cumple

    H3(0) = 1, H3(1) = 3,

    si calculamos la derivada

    H 03(x) = 1 + 10x 12x2

    y sustituimos en x0 = 0 y x1 = 1, resulta

    H 03(0) = 1, H03(1) = 1.

    por lo tanto, H3(x) cumple las condiciones (8).

    10.2 Clculo del polinomio de Hermite usando diferenciasdivididas

    Podemos calcular el polinomio de Hermite usando un procedimiento muyparecido al empleado para construir la forma de Newton del polinomio in-terpolador de Lagrange.

    x0 f [x0]x0 f [x0] f [x0, x0]x1 f [x1] f [x0, x1] f [x0, x0, x1]x1 f [x1] f [x1, x1] f [x0, x1, x1] f [x0, x0, x1, x1]x2 f [x2] f [x1, x2] f [x1, x1, x2] f [x0, x1, x1, x2] f [x0, x0, x1, x1, x2]x2 f [x2] f [x2, x2] f [x1, x2, x2] f [x1, x1, x2, x2] f [x0, x1, x1, x2, x2]

    La diferencia es que ahora hay nodos xj repetidos, las diferencias f [xj , xj ]se definen como

    f [xj , xj ] = f0(xj) = y

    0j .

    Los polinomios de Hermite H1(x), H2(x), H2(x), tienen la siguiente forma:

    Un nodo. Tabla de datosx x0y y0y0 y00

    Tabla de diferencias

    x0 f [x0]x0 f [x0] f [x0, x0]

    InterpoladorH1(x) = f [x0] + f [x0, x0] (x x0).

    Observa que en este caso, se obtiene la recta tangente en x = x0.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 21

    Dos nodos. Tabla de datosx x0 x1y y0 y1y0 y00 y

    01

    Tabla de diferencias

    x0 f [x0]x0 f [x0] f [x0, x0]x1 f [x1] f [x0, x1] f [x0, x0, x1]x1 f [x1] f [x1, x1] f [x0, x1, x1] f [x0, x0, x1, x1]

    Interpolador

    H3(x) = f [x0] + f [x0, x0] (x x0) + f [x0, x0, x1] (x x0)2 ++f [x0, x0, x1, x1] (x x0)2 (x x1) .

    Tres nodos. Los datos sonx x0 x1 x2y y0 y1 y2y0 y00 y

    01 y

    02

    y el polinomio interpolador tiene la forma

    H5(x) = f [x0] + f [x0, x0] (x x0) + f [x0, x0, x1] (x x0)2 ++f [x0, x0, x1, x1] (x x0)2 (x x1) +

    +f [x0, x0, x1, x1, x2] (x x0)2 (x x1)2 ++f [x0, x0, x1, x1, x2, x2] (x x0)2 (x x1)2 (x x2).

    Ejemplo 10.2 Calcula el polinomio interpolador de la tabla

    x 0 1

    y 1 3

    y0 1 1.

    Los datos iniciales en la tabla de diferencias divididas son

    x0 = 0 f [x0] = 1x0 = 0 f [x0] = 1 f [x0, x0] = 1x1 = 1 f [x1] = 3 f [x0, x1] f [x0, x0, x1]x1 = 1 f [x1] = 3 f [x1, x1] = 1 f [x0, x1, x1] f [x0, x0, x1, x1]

    A partir de ah, obtenemos

    x0 = 0 f [x0] = 1x0 = 0 f [x0] = 1 f [x0, x0] = 1x1 = 1 f [x1] = 3 f [x0, x1] = 2 f [x0, x0, x1] = 1x1 = 1 f [x1] = 3 f [x1, x1] = 1 f [x0, x1, x1] = 3 f [x0, x0, x1, x1] = 4

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 22

    Por lo tanto, el interpolador es

    H3(x) = f [x0] + f [x0, x0] (x x0) + f [x0, x0, x1] (x x0)2 ++f [x0, x0, x1, x1] (x x0)2 (x x1) .

    H3(x) = 1 + x+ x2 4x2 (x 1) .

    Si operamos, resulta

    H3(x) = 1 + x+ 5x2 4x3.

    que coincide con el obtenido en el Ejemplo 10.1

    10.3 Error del polinomio de Hermite

    Sean

    (n+ 1) nodos distintos x0, x1, . . . , xn.

    [a, b] = hx0, x1, . . . , xni (el menor intervalo que contiene los nodos).

    f(x) funcin de clase C2n+2[a, b].

    H2n+1(x) el polinomio interpolador de Hermite para f(x) en los nodosx0, x1, . . . , xn.

    Para cada x [a, b], el error de interpolacin admite la siguiente expresin

    |e2n+1(x)| = |f(x)H2n+1(x)| =f (2n+2)(t)(2n+ 2)! (x x0)2 (x xn)2

    , t [a, b].

    Si M2n+2 es una cota superior paraf (2n+2)(t)

    , esto es

    maxt[a,b]

    f (2n+2)(t)

    M2n+2,

    obtenemos la siguiente cota superior para el error de interpolacin

    |e2n+1(x)| = |f(x)H2n+1(x)| M2n+2(2n+ 2)!

    (x x0)2 (x xn)2.

    Ejemplo 10.3 Calcula el polinomio de Hermite que interpola la funcinsin(x) en x0 = 0 y x1 = /4. Aproxima el valor de sin(0.5), calcula una cotasuperior de error.

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 23

    Tenemosf(x) = sin(x), f 0(x) = cos(x),

    f(0) = 0, f 0(0) = 1,

    f(

    4) =

    12= 0. 70710 678, f 0(

    4) = 0.70710 678.

    La tabla de datos es

    x x0 = 0 x1 = 0. 78539 816

    y 0 0.70710 678

    y0 1 0.70710 678

    la tabla de diferencias inicial es

    x0 = 0 f [x0] = 0x0 = 0 f [x0] = 0 f [x0, x0] = 1.

    x1 = 0. 78539 816 f [x1] = 0.70710 678 f [x0, x1]x1 = 0. 78539 816 f [x1] = 0.70710 678 f [x1, x1] = 0.70710 678

    de donde obtenemos

    f [x0, x0] = 1.f [x0, x1] = 0. 90031 632 f [x0, x0, x1] = 0. 12692 12f [x1, x1] = 0.70710 678 f [x0, x1, x1] = 0. 24600 203 f [x0, x0, x1, x1] = 0. 15161 842

    El clculo detallado de algunas diferencias divididas es como sigue

    f [x0, x1] =f [x1] f [x0]x1 x0

    =0.70710 678

    0. 78539 816= 0. 90031 632,

    f [x0, x0, x1] =f [x0, x1] f [x0, x0]

    x1 x0=0. 90031 632 1.0. 78539 816

    = 0. 12692 12,

    f [x0, x1, x1] =f [x1, x1] f [x0, x1]

    x1 x0=0.70710 678 0. 90031 632

    0. 78539 816= 0. 24600 203.

    Los valores relevantes para construir H3(x) son

    f [x0] = 0, f [x0, x0] = 1,

    f [x0, x0, x1] = 0. 12692 12, f [x0, x0, x1, x1] = 0. 15161 842.

    El polinomio interpolador tiene la forma

    H3(x) = f [x0] + f [x0, x0] (x x0) + f [x0, x0, x1] (x x0)2 ++f [x0, x0, x1, x1] (x x0)2 (x x1) ,

  • Resumen y ejemplos Tema 2: Aproximacin e Interpolacin. 24

    es, por lo tanto

    H3(x) = x 0. 12692 12x2 0. 15161 842x2(x 0. 78539 816).

    El valor aproximado para x = 0.5 es

    H3(0.5) = 0.47908 76. (10)

    Cota de error. Tenemos

    |e3(x)| = |f(x)H3(x)| M44!(x x0)2(x x1)2.

    El intervalo de interpolacin es [0,/4]. En nuestro caso f (4)(x) = sin(x)por lo tanto

    M4 = maxt[0,/4]

    f (4)(t)

    = sin(/4) =

    12,

    de donde resulta la cota de error

    |e3(0.5)|

    12

    24

    (0.5)2 (0.5 /4)2 = 0.59995 103.

    A la vista de la cota de error, slo podemos asegurar 2 decimales exactosen la aproximacin, el valor que debemos tomar como resultado se obtieneredondeando (10) a 2 decimales

    sin(0.5) = 0.48.

    Error exacto. El valor de sin(0.5) es

    sin(0.5) = 0. 47942 554,

    el error real es

    |e3(0.5)| = |sin(0.5)H3(0.5)| = 0.33794 103.