Clase N°3 MNumérico

11
Universidad Cat´ olica del Maule etodos Num´ ericos Facultad de Ciencias B´asicas Clase N 6, 13 de Noviembre de 2014 Aproximaciones e Interpolaci´ on de funciones Interpolar una funci´ on f es encontrar otra funci´ on g (polinomio, racional, seno´ ıdal, etc.) con ciertas caracter´ ısticas que satisfaga: g(x i )= f (x i ), i =0, ..., n., donde el conjunto de puntos S = {x 0 ,x 1 , ..., x n } soporta la construcci´ on de g y son conocidos (datos de un registro). 1.jpg Lafunci´on g es conocida como la funci´ on interpolante o de interpolaci´ on de f y tiene por finalidad aproximar f (x) para un x/ S tal que: f (x) g(x) Def: Si x [x 0 ,x n ] diremos que estamos Interpolando sino estaremos Extrapolando. Ejemplo: Supongamos que conocemos los valores de f en x =1, 2, 3, esto es: i 0 1 2 x i 1 2 3 f (x i ) 1 3 7 1

description

metodos numericos

Transcript of Clase N°3 MNumérico

  • Universidad Catolica del Maule Metodos NumericosFacultad de Ciencias Basicas Clase N6, 13 de Noviembre de 2014

    Aproximaciones e Interpolacion de funciones

    Interpolar una funcion f es encontrar otra funcion g (polinomio, racional, senodal, etc.) conciertas caractersticas que satisfaga:

    g(xi) = f(xi), i = 0, ..., n.,

    donde el conjunto de puntos S = {x0, x1, ..., xn} soporta la construccion de g y son conocidos(datos de un registro).

    1.jpg

    La funcion g es conocida como la funcion interpolante o de interpolacion de f y tiene porfinalidad aproximar f(x) para un x / S tal que:

    f(x) g(x)

    Def: Si x [x0, xn] diremos que estamos Interpolando sino estaremos Extrapolando.Ejemplo: Supongamos que conocemos los valores de f en x = 1, 2, 3, esto es:

    i 0 1 2xi 1 2 3f(xi) 1 3 7

    1

  • y queremos construir el polinomio de grado dos g(x) = ax2 + bx+ c con a, b, c R. Entoncesf(xi) = g(xi)

    f(1) = 1 = a+ b+ cf(2) = 3 = 4a+ 2b+ cf(3) = 7 = 9a+ 3b+ c

    , resolviendo el sistema de ecuaciones lineales de solucion unica a = 1, b = 1 y c = 1,obtenemos g(x) = x2 x + 1, el polinomio interpolante. As, podremos interpolar, porejemplo

    g(1.5) = 1.75 f(1)o extrapolar

    g(3.5) = 9.75 f(3)

    Interpolacion PolinomialDada una funcion y = f(x) existe un unico polinomio interpolante de grado menor o iguala n, Pn(x) = anx

    n + an1xn1 + ... + a1x + a0 tal que Pn(xi) = f(xi) para todo xi S. Enefecto, se tendra que

    anxn0 + an1x

    n10 + ...+ a1x0 + a0 = f(x0)

    anxn1 + an1x

    n11 + ...+ a1x1 + a0 = f(x1)

    . .

    . .anx

    nn1 + an1x

    n1n1 + ...+ a1xn1 + a0 = f(xn1)

    anxnn + an1x

    n1n + ...+ a1xn + a0 = f(xn)

    o de forma equivalente el sistema matricial AX = Bxn0 x

    n10 ... x0 1

    xn1 xn11 ... x1 1

    . ... .

    . ... .xnn1 x

    n1n1 ... xn1 1

    xnn xn1n ... xn 1

    anan1..a1a0

    =

    f(x0)f(x1)..f(xn1)f(xn)

    donde A es un matriz con det(A) 6= 0 (conocida como matriz de Vandermonde) lo quejustifica que exista unica solucion.

    Error de Interpolacion polinomialUna pregunta logica es pensar en el error que se comete al aproximar f por un polinomioPn en algun x R, esto es:

    E(x) = |f(x) Pn(x)| ,luego, si f(x) es una funcion n+ 1 veces diferenciable entonces

    E(x) = |f(x) Pn(x)| =f (n+1) (c)(n+ 1)!

    |x x0| |x x1| ... |x xn|

    2

  • donde c es un punto dentro del intervalo definido por x, x0, x1, ..., xn. Es decir, podemosacotar el error E(x) si obtenemos informacion sobre la n + 1 derivada en un intervalo Ideterminado por x, x0, x1, ..., xn y la acotamos por algun K > 0. Entonces sif (n+1) (c) K.

    E(x) = |f(x) Pn(x)| = K(n+ 1)!

    |x x0| |x x1| ... |x xn| .Ejemplo: Supongamos que queremos aproximar el valor de sen(1) y para ello interpolamos

    la funcion f(x) = sen(x) por un polinomio en S ={

    0,pi

    4,pi

    2

    }. Luego construiremos un

    polinomio de grado dos P2(x) = a2x2 + a1x+ a0 tal que

    a2x20 + a1x0 + a0 = f(x0)

    a2x21 + a1x1 + a0 = f(x1)

    a2x22 + a1x2 + a0 = f(x2)

    o de forma equivalente el sistema matricial AX = B x20 x0 1x21 x1 1x22 x2 1

    a2a1a0

    = f(x0)f(x1)

    f(x2)

    Luego det

    x20 x0 1x21 x1 1x22 x2 1

    = (x1 x2) (x0 x2) (x0 x1) 6= 0. Entonces tiene solucion unica

    0 0 1(pi4

    )2 pi4

    1(pi2

    )2 pi2

    1

    a2a1

    a0

    =

    sen(0)

    sen(pi

    4)

    sen(pi

    2)

    .

    Matriz aumentada

    0 0 1(pi

    4

    )2 pi4

    1(pi2

    )2 pi2

    1

    sin(0)

    sin(pi

    4)

    sin(pi

    2)

    y solucion a2 = 0.335 75, a1 = 1. 164 ya0 = 0 entonces

    P2(x) = 0.335 75x2 + 1. 164xEntonces sen(1) P2(1) = 0.828 25. Considerando quef (x) = | cos(x)| = 1 = Kel error

    E(1) = |f(1) Pn(1)| = 16|1 0|

    1 pi4

    1 pi2

    = 2. 041 6 102 < 101,es decir, hemos obtenido sen(1) con una cifra decimal exacta. Recordar que sen(1) =0.841 47.

    3

  • Obs: Hemos visto que se puede plantear un sistema de n+ 1 ecuaciones y n+ 1 incognitaspara determinar Pn(x), pero existen otras formas de buscarlo sin un costo de calculos tanalto.

    Interpolacion de Lagrange

    Dada una funcion de valores reales f(x) y (n+ 1) valores distintos S = {x0, x1, ..., xn} existeexactamente un unico polinomio P (x) tal que:

    1. Gr(P (x)) n2. P (xi) = f(xi), i = 0, 1, ..., n.

    En efecto, para garantizar la existencia de P (x), consideremos la funcion:

    gk (x) =n

    i = 0i 6= k

    (x xi) = (x x0) (x x1) (x xk1) (x xk+1) (x xn)

    entonces se puede ver que:

    i) Gr(gk (x)) = n ii) gk (xi) = 0 iii) gk (xk) 6= 0

    por lo tanto podemos definir los polinomios

    lk (x) =gk (x)

    gk (xk)=

    ni = 0i 6= k

    (x xi)(xk xi)

    y con ellos construir

    P (x) =n

    k=0

    f(xk)lk (x) =n

    k=0

    f(xk)

    n

    i = 0i 6= k

    (x xi)(xk xi)

    que claramente satisface las condiciones pedidas. (Tarea). Para probar la unicidad deP (x),basta considerar el supuesto de la existencia de otro, llamemoslo Q(x) tal que

    H(x) = P (x)Q(x)

    entonces claramente el Gr(H) n y

    H(xj) = P (xj)Q(xj) = f(xj) f(xj) = 0

    para todo j = 1, ..., n

    4

  • Obs: Polinomio de Lagrange soportado por S :

    P (x) =n

    k=0

    f(xk)lk (x) =n

    k=0

    f(xk)

    n

    i = 0i 6= k

    (x xi)(xk xi)

    Ejercicios:

    1. Considere n = 1 y n = 2, construya el polinomio interpolante de lagrange en cadacaso.

    2. Construya el polinimio interpolante de la funcion f(x) = sen(pix) para S = {0, 1/6, 1/2}3. Estimar el error al calcular

    115 por medio de un polinomio interpolante en los nodos

    S = {100, 121, 144}

    Intepolacion de NewtonDados n+ 1 datos de un registro

    {(x0, f(x0)) , (x1, f(x1)) , ..., (xn, f(xn))}

    con xk , k = 0, ..., n distintos para alguna f en I = [a, b] el polinomio N(x) de Gr(N) nque interpola a f, tambien se puede definir por:

    N(x) = b0 + b1 (x x0) + b2 (x x0) (x x1) + ...+ bn (x x0) (x x1) ... (x xn1)

    donde bk son valores a determinar.Dado que se debe satifacer

    N(xk) = f(xk), k = 0, ..., n

    podemos deducir

    N(x0) = b0 = f(x0)

    N(x1) = b0 + b1 (x1 x0) = f(x1) = b1 = f(x1) f(x0)(x1 x0)

    N(x2) = b0 + b1 (x2 x0) + b2 (x2 x0) (x2 x1) = f(x2)

    = b2 =f(x2) f(x0) f(x1) f(x0)

    (x1 x0) (x2 x0)(x2 x0) (x2 x1)

    5

  • y as sucesivamente para b3, ..., bn. Pero cabe hacer notar que introduciendo ceros convenientesy sumando, tenemos

    b2 =

    f(x2) f(x1) + f(x1) f(x0) f(x1) f(x0)(x1 x0) (x2 x0)

    (x2 x0) (x2 x1)

    b2 =

    f(x2) f(x1)(x2 x1) +

    f(x1) f(x0)(x2 x1)

    f(x1) f(x0)(x1 x0)

    (x2 x0)(x2 x1)

    (x2 x0)

    b2 =

    f(x2) f(x1)(x2 x1)

    f(x1) f(x0)(x1 x0)

    ((x2 x0)(x2 x1)

    (x1 x0)(x2 x1)

    )(x2 x0)

    b2 =

    f(x2) f(x1)(x2 x1)

    f(x1) f(x0)(x1 x0)

    (x2 x0)Obs: Lo anterior nos induce a determinar una escrita recursiva de los coeficientes bk esta esla notacion de diferencias divididas progresivas introducida por Newton:

    1. D.dividida de orden cero de f con respecto a xk :

    f [xk] = f (xk) ,k = 0, ..., n.

    2. D.dividida de orden uno de f con respecto a xk, xk+1 :

    f [xk, xk+1] =f [xk+1] f [xk]

    (xk+1 xk) ,k = 0, ..., n 1.

    3. D.dividida de orden dos de f con respecto a xk, xk+1, xk+1 :

    f [xk, xk+1, xk+2] =f [xk+1, xk+2] f [xk, xk+1]

    (xk+2 xk) ,k = 0, ..., n 2.

    4. D.dividida de orden i-esimo de f con respecto a xk, xk+1, ..., xk+i :

    f [xk, xk+1, ..., xk+i] =f [xk+1, ..., xk+i] f [xk, ..., xk+i1]

    (xk+i xk) ,k = 0, ..., n i.

    por lo tanto tenemos que

    N(x) = f [x0] + f [x0, x1] (x x0) + f [x0, x1, x2] (x x0) (x x1) +...+ f [x0, .., xn] (x x0) ... (x xn1)

    como la formula progresiva de Newton del polinomio interpolante.

    6

  • Obs: La formula anterior se usa para interpolar un x mas cercano a x0 que a xn.Sinose puede usar la formula regresiva

    N(x) = f [xn] + f [xn1, xn] (x xn) + f [xn2, xn1, xn] (x xn) (x xn1) +...+ f [x0, .., xn] (x xn) (x xn1) ... (x x1) .

    Claramente estas dos formulas ofrecen ventajas repecto a Lagrange por su calculonumerico de coeficientes pero se necesita un orden y proligidad en su manejo.

    Tarea: Demuestre que la formula progresiva de Newton para n+ 1 nodos satisface:

    N(x) = Pi (x) = Pi1 (x) + f [x0, x1, .., xi] (x x0) (x x1) ... (x xi1)

    con i = 2, 3, ..., n, donde los Pi (x) son polinomios interpolantes en construccion.

    Tabla para calcular los coeficientes bk en N(x) (Prog. o Reg)

    k xk d.d.0 d.d.1 d.d.2 . . d.d.n0 x0 f [x0] = b0 f [x0, x1] = b1 f [x0, x1, x2] = b2 . . f [x0, x1, ..., xn] = bn1 x1 f [x1] f [x1, x2] f [x1, x2, x3] . .2 x2 f [x2] f [x2, x3] f [x2, x3, x4] . .3 x3 f [x3] f [x3, x4] . .. . . . . . . .. . . . . . .n 1 xn1 f [xn1] f [xn1, xn]n xn f [xn]

    Error de interpolacion de Newton

    Como introduccion, sabemos que si f C1 ([x0, x1]) entonces el T.V.M asegura laexistencia de un (x0, x1) tal que

    f () =f(x1) f (x0)

    x1 x0 = f [x0, x1]

    , luego su generalizacion para f Cn ([a, b]) y S = {x0, x1, ..., xn} [a, b] asegura laexistencia de un (a, b) tal que

    f (n)() = f [x0, x1, ..., xn] .

    Del error de Lagrange

    E(x) = |f(x) P (x)| =f (n+1) ( (x))(n+ 1)!

    |x x0| |x x1| ... |x xn|pero ahora P (x) = N(x) entonces

    f(x) = N(x) +

    f (n+1) ( (x))(n+ 1)! |x x0| |x x1| ... |x xn|

    7

  • con (x) [a, b] . Ademas si usamos Newton con n+ 2 datos, esto es S {x}, tenemos

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

    por lo tanto el error por newton es

    E(x) = |f(x) P (x)| = f [x0, x1, ..., xn, x] (x x0) (x x1) ... (x xn)

    Ejercicio: Dados los datos

    x 2.0 2.2 2.4 2.6 2.8f(x) 0.5103757 0.5207843 0.5104147 0.4813306 0.4359160

    aproximar f(2.1) y f(2.7) usando todos los datos por Newton y eligiendo la formulamas conveniente.

    SOL:

    Tabla para calcular los coeficientes bk en N(x) (Prog. o Reg)

    k xk d.d.0 d.d.1 d.d.20 x0 = 2.0 f [x0] = 0.5103757 f [x0, x1] = 5. 204 3 102 f [x0, x1, x2] = 0.259 731 x1 = 2.2 f [x1] = 0.5207843 f [x1, x2] = 5. 184 8 102 f [x1, x2, x3] = 0.233 932 x2 = 2.4 f [x2] = 0.5104147 f [x2, x3] = 0.145 42 f [x2, x3, x4] = 0.204 133 x3 = 2.6 f [x3] = 0.4813306 f [x3, x4] = 0.227 074 x4 = 2.8 f [x4] = 0.4359160

    d.d.3 d.d.4f [x0, ., x3] = 0.043 f [x0, ..,x4] = 8. 333 8 103f [x1, ., x4] = 4. 966 7 102

    Entonces como x = 2.1 esta mas cerca de x0 usamos la formula progresiva:

    N(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)

    N(x) = (0.5103757) + (5. 204 3 102) (x 2.0) + (0.259 73) (x 2.0) (x 2.2)+ (0.043) (x 2.0) (x 2.2) (x 2.4) + (8. 333 8 103) (x 2.0) (x 2.2) (x 2.4) (x 2.6)

    y al evaluar obtenemos N(2.1) = 0.518 29 f(2.1). Para determinar N(2.7) f(2.7)se debe usar la formula regresiva.

    Ejercicio: Repita el ejercicio anterior anadiendo el punto (3.0, 0.4212145) .

    Ejercicio: Sea

    (x) =22pi

    x0

    et2

    dt

    y la tabla

    8

  • x 1.0 1.1 1.2 1.3 1.4 1.5f(x) 0.8427 0.8802 0.9103 0.9340 0.9523 0.9661

    .

    Contruya por Newton y determine el valor aproximado de (1.43).

    Mnimos Cuadrados

    Dado n+ 1 puntosS = {(x0, y0) , (x1, y1) , ..., (xn, yn)}

    con xi distintos, para i = 0, ..., n el Ajuste de Minmos Cuadrados o simplemente MinmosCuadrado, consiste en determinar una funcion:

    f(x) =mj=0

    ajfj (x) ,

    que mejor ajuste a S, esto es reducir la suma total de errores cuadraticos, en cada observacion

    Ek = f(xk) ykes decir,

    nk=0

    E2k =n

    k=0

    (f(xk) yk)2

    se minmo. De forma equivalente esto se pude mirar como minimizar una funcion de variasvariables, esto es:

    M(a0, a1, ..., am) =n

    k=0

    (mj=0

    ajfj (xk) yk)2

    entonces para queM alcance su minmo en un punto, es necesario que cada derivadaM

    aj= 0,

    para j = 0, ...,m. Lo que equivale a

    nk=0

    (mj=0

    ajfj (xk) yk)fj (xk) = 0, j = 0, ...,m.

    Si estamos en el caso que

    f(x) = Pm(x) = a0 + a1x+ ...+ amxm,

    con m < n, entoncesEk = Pm(xk) yk

    es decir,n

    k=0

    E2k =n

    k=0

    (Pm(xk) yk)2

    9

  • se minmo. De forma equivalente esto se pude mirar como minimizar una funcion de variasvariables, esto es:

    M(a0, a1, ..., am) =n

    k=0

    (a0 + a1xk + ...+ amxmk yk)2 =

    nk=0

    (mj=0

    ajxj yk

    )2

    entonces para queM alcance su minmo en un punto, es necesario que cada derivadaM

    aj= 0,

    para j = 0, ...,m. Lo que equivale a

    nk=0

    (mj=0

    ajxjk yk

    )xj = 0, j = 0, ..., n.

    Ejemplo: Supongamos que tenemos n+ 1 puntosS = {(x0, y0) , (x1, y1) , ..., (xn, yn)}

    y queremos determinarf(x) = P2(x) = a0 + a1x+ a2x

    2,

    que mejor ajuste a S, entonces debemos determinar a0, a1, a2. Formando

    M(a0, a1, a2) =n

    k=0

    (a0 + a1xk + a2x

    2k yk

    )2=

    nk=0

    (2

    j=0

    ajxj yk

    )2tenemos el sistema de ecuaciones lineales

    M

    a0= 2

    nk=0

    (a0 + a1xk + a2x2k yk) (1) = 0

    M

    a1= 2

    nk=0

    (a0 + a1xk + a2x2k yk) (xk) = 0

    M

    a2= 2

    nk=0

    (a0 + a1xk + a2x2k yk) (x2k) = 0

    esto es, un sistema de 3 3

    (n+ 1)a0 + a1n

    k=0

    xk + a2n

    k=0

    x2k =n

    k=0

    yk

    a0n

    k=0

    xk + a1n

    k=0

    x2k + a2n

    k=0

    x3k =n

    k=0

    yk (xk)

    a0n

    k=0

    x2k + a1n

    k=0

    x3k + a2n

    k=0

    x4k =n

    k=0

    yk (x2k)

    Ejercicio: Determinar f(x) cuadratico por M.C. para los puntos

    S = {(3, 3) , (0, 1) , (2, 1) , (4, 3)}

    10

  • Resp:Sistema

    353a2 + 45a1 + 29a0 = 7945a2 + 29a1 + 3a0 = 529a2 + 3a1 + 4a0 = 8

    353 45 29 7945 29 3 529 3 4 8

    , row echelon form:1 0 0 585

    3278

    0 1 0 6313278

    0 0 1 13941639

    Obs: Los minmos cuadrados se pueden usar tambien para aproximar S por funciones f(x)exponenciales y alometricas por medio de la linealizacion.

    11