Teoría de Aproximación e Interpolación I. Sistemas de ecuaciones (matrices) II. Diferencias Divididas (polinomio de Interpolación): p n ( x ) b 0 b 1 ( x x 0 ) b 2 ( x x 0 )( x x 1 ) ... b n ( x x 0 )( x x 1 )...( x x n 1 ) * (*Nota que se puede añadir un punto nuevo n a la lista sin alterar los valores de los coeficientes bk anteriores, pues xn aparece únicamente en el último término. También aumenta el grado del polinomio de interpolación) Donde por sustitución en x de los valores (x0,y0), (x1,y1), (x2,y2), …,(xn-1,yn-1), para obtener los valores exactos (interpolación): pn (x0 )= y0 = b0 𝑦 −𝑦 pn (x1 )= y1 cuando 𝑏1 = 𝑥1 −𝑥0 = f[x0, x1] 1 0 Usando esta notación de “diferencias divididas” : f[x0, x1, …, xn-1] Para conseguir que todo p(x0) = y0 = f0 se desarrolla la siguiente tabla de “diferencias divididas” . Notación: p n ( x0 ) b0 y 0 y1 y 0 p n ( x1 ) y1 cuando b1 f [ x 0 , x 1 ] pn (x2 ) y2 cuando b 2 f [ x 0 , x1 , x 2 ] cuando b k f [ x 0 , x1 , , x k ] x1 x 0 f [ x1 , x 2 ] f [ x 0 , x1 ] x2 x0 pn (xk ) yk f [ x 1 , x 2 , , x k ] f [ x 0 , x 1 , , x k 1 ] xk x0 A la diferencia x1 – x0 en cálculo se le conoce también como h1. Ejercicio: Completa la siguiente tabla y halla el polinomio de grado 3 i 0 xi 3.2 fi = yi 22 f[xi,xi+1] 17.8−22 b1 = f[x0,x1]= 2.7−3.2 = 8.4 f[xi, x i+1, x i+2] f[xi, x i+1, x i+2, x i+3] 1 2.7 17.8 a1 = f[x1,x2] = 14.2−17.8 = 2.117 1.0−2.7 b2 = f[x0,x1,x2]= 𝑎1 −𝑏1 = 2.856 1.0−3.2 b3 = f[x0,x1,x2, x3]= 𝑐1 − 𝑏2 = −0.5275 4.8 − 3.2 2 1.0 14.2 a2 = f[x2,x3] = = 6.342 c1 = f[x1,x2,x3] = 𝑎2 −𝑎1 = 4.8−2.7 2.01195 a3 = f[x3,x4] = c2 = f[x2,x3,x4] = 38.3−14.2 4.8−1.0 3 4.8 38.3 51.7−38.3 𝑎3 −𝑎2 5.6−1.0 5.6−4.8 4 5.6 51.7 + Polinomio: __22 + 8.4(x– 3.2) + 2.856(x – 3.2)(x – 2.7) – 0.5275(x – 3.2)(x – 2.7) (x – 1.0) __________________________________________ III. Polinomio de Lagrange Las diferencias divididas y el polinomio de Lagrage son dos formas del mismo polinomio. Por ejemplo esto es similar a un polinomio cuadrático que se puede escribir en varias formas: p2(x)= ax2 + bx + c forma p2(x)= 3x2 – 6 x – 24 desarrollada p2(x)= a(x-h)2 + k forma canónica p2(x)= 3( x – 1)2 – 27 (estándar) p2(x)= a(x- x0)( x – x1) forma p2(x)= 3(x + 2)( x – 4) factorizada p2(x)= (ax – b) x + c forma anidada p2(x)= (3x – 6) x – 24 (nested) El polinomio pn (x) de Lagrange (con grado n) y n + 1 puntos es la suma de n+1 términos (k = 0,…, n) que tienen la forma: ∑𝑛𝑘=0 𝐿𝑘 (𝑥)𝑓(𝑥𝑘 ) ,usando la notación (𝑥−𝑥𝑗) 𝐿𝑘 (𝑥) = ∏𝑛𝑗=0,𝑗≠𝑘 (𝑥𝑘 −𝑥𝑗) (𝑥−𝑥0 )(𝑥−𝑥1 )(𝑥−𝑥3 )⋯(𝑥−𝑥𝑛 ) Por ejemplo: L2(x) = , donde se omite el factor que (𝑥2 −𝑥0 )(𝑥2 −𝑥1 )(𝑥2 −𝑥3 )⋯(𝑥2 −𝑥𝑛 ) contiene x2. Nota que esta forma garantiza que para el los puntos (valores) dados (xk,yk) todo término es cero excepto el que contiene yk. Ejercicio: x0 = 2 y0 = 0.5 𝐿0 (𝑥) = x1 = 2.5 y1 = 0.4 𝐿1 (𝑥) = (2.5−2)(2.5−4) = x2 = 4 y3 = 0.25 𝐿2 (𝑥) = (𝑥−2.5)(𝑥−4) (2−2.5)(2−4) (𝑥−2)(𝑥−4) (𝑥−2)(𝑥−2.5) (4−2)(4−2.5) = x2 – 6.5x +10 = −4𝑥 2 +24𝑥−32 3 𝑥 2 −4.5𝑥+5 3 −4𝑥 2 +24𝑥−32 P(x) = ∑2𝑘=0 𝐿𝑘 (𝑥)𝑦𝑘 = [x2 – 6.5x +10] 0.5+[ = (0.05x – 0.425)x + 1.15 = 0.05x2 – 0.425x+1.15 IV. 3 ] 0.4 + [ 𝑥 2 −4.5𝑥+5 3 ]0.25 “Cubic Spline” Si(x) = ai (x – xi)3 + bi (x – xi) 2 + ci (x – xi) + di Es un polinomio de interpolación cúbico definido por partes. El “Cubic Spline” S(x) une n +1 puntos por medio de n curvas que tienen la misma pendiente (g’(x)) y curvatura (g’’(x)). Se define una curva cúbica entre cada dos puntos (datos, nodos). Definimos entonces el Cubic Spline en los intervalos S(x) = Si(x) en [xi,xi+1], para i= 0,1, .., n – 1. Cada cúbica Si (x) tiene 4 coeficientes para hallar: ai, bi, ci, di. Además tenemos 4 condiciones que debe satisfacer cada cúbica: 1. Todo punto coincide con los valores datos (xi,yi), i = 0, 1, …, n, 𝑆𝑖 (𝑥𝑖 ) = 𝑦𝑖 , 𝑆𝑛−1 (𝑥𝑛 ) = 𝑦𝑛 i = 1, …, n – 1 , 2. Cúbicas sucesivas deben estar conectadas (contínuas) 𝑆𝑖 (𝑥𝑖+1 ) = 𝑆𝑖+1 (𝑥𝑖+1 ) para i = 0,1, …, n – 2 3. Cúbicas sucesivas deben tener la misma pendiente (1era derivada igual) para ser curvas suaves (continuamente diferenciable) 𝑆′𝑖 (𝑥𝑖+1 ) = 𝑆′𝑖+1 (𝑥𝑖+1 ) para i = 0,1, …, n – 2 4. Cúbicas sucesivas deben tener la misma curvatura (2da derivada igual) para hacerlas con igual “concavidad” en todo punto. 𝑆′′𝑖 (𝑥𝑖+1 ) = 𝑆′′𝑖+1 (𝑥𝑖+1 ) para i = 0,1, …, n – 2 Como la Segunda derivada de una cúbica es una función lineal, usamos estas cuatro condiciones para obtener un sistema de ecuaciones en término de la Segunda derivada: gi = Si’’(xi), i = 0,1,…, n-1 , y g n = S’’n – 1 (xn). Definiciones h i = x i+1 – x i (el ancho del intervalo i). Nota que 0 ≤ i ≤ n f [ x 0 , x1 ] f[x i, x i+1] son las diferencias divididas : y1 y 0 x1 x 0 gi : la Segunda derivada de la curva cúbica S i (entre x i, x i+1) evaluada en el valor x i. S’’i (xi) = 6ai (xi – xi) +2bi = gi por lo tanto 2bi = gi * fórmula para bi S’’i (xi+1) = 6ai (xi+1 – xi) +2bi , por lo tanto 6ai hi +2bi = gi+1 ** (Usamos * y ** para hallar fórmula para ai) Condición Natural (1) a los extremos: Hay varias condiciones para el primer punto y el último. Se asignan valores de cero a la segunda derivada: g0 = gn = 0, que se interpreta como que la primera y última función cúbica es aproximadamente lineal en los extremos. Usando la condición “natural” (condición 1) tenemos Este es el sistema de ecuaciones que se produce bajo la condición 1 y la Ecuación [3]: una mariz tri-diagonal de coeficientes. (Se completa añadiendo las 2 ecuaciones de la condición 1 para tener dimensión (n +1) (n +1)) h0 2 ( h 0 h1 ) h1 h1 2 ( h1 h 2 ) h2 hi 2 ( h i h i 1 ) h i 1 hn2 2 ( h n 2 h n 1 ) g0 g 1 : h n 1 g n f [ x1 , x 2 ] f [ x 0 , x1 ] f [ x 2 , x 3 ] f [ x1 , x 2 ] 6 : f [ x n 1 , x n ] f [ x n 2 , x n 1 ] [1] Al resolver el sistema de ecuaciones bajo la condición 1, se halla g i , para i [1, n] porque no hay que buscar g0, gn = 0. Estos valores g i que satisfacen el sistema de ecuaciones se usan para hallar los coeficientes de cada cúbica: ai, bi, ci, di. con las siguientes ecuaciones (que se obtuvieron de las 4 condiciones y derivadas). ai bi ci g i 1 g i 6 hi gi [2] 2 y i 1 y i 2 h i g i h i g i 1 hi 6 d i yi Ejercicio 1: Escribe el sistema de ecuaciones en [1] para n = 3, dada la tabla: i xi f(x i ) = y h i = (x i+1 – x i) f [ xi , x i+1 ] i 0 1 2 0.0 1.0 1.5 2 4.4366 6.7134 3 2.25 13.910 h 1 = (1 –0) = 1 h 2 = (1.5 –1) = 0.5 h 3 = (2.25 –1.5) = 0.75 (4.4366 – 2) (6.7134–4.4366) (13.910– 6.7134) De la continuidad de la primera derivada se obtiene al evaluar x = xi: 𝑆 ′ 𝑖 (𝑥𝑖 ) = (𝑦𝑖 )′ = 3𝑎𝑖 (𝑥𝑖 − 𝑥𝑖 )2 + 2𝑏𝑖 (𝑥𝑖 − 𝑥𝑖 ) + 𝑐𝑖 = 𝑐𝑖 , que debe ser igual a la pendiente de la cúbica anterior 𝑆 ′ 𝑖−1 (𝑥𝑖 ) = (𝑦𝑖 )′ = 3𝑎𝑖−1 (𝑥𝑖 − 𝑥𝑖−1 )2 + 2𝑏𝑖−1 (𝑥𝑖 − 𝑥𝑖−1 ) + 𝑐𝑖−1. 2 𝑐𝑖 = 3𝑎𝑖−1 ℎ𝑖−1 + 2𝑏𝑖−1 ℎ𝑖−1 + 𝑐𝑖−1 . Es decir: Sustituyendo las constantes por sus ecuaciones para ai, bi, ci, di, dadas en [2] se obtiene el Sistema de ecuaciones de la matriz [1] en términos de y, g que tienen la forma de la Ecuación [3] : h i 1 g i 1 ( 2 h i 1 2 h i ) g i h i g i 1 6 f x i , x i 1 f x i 1 , x i [3] Ejercicio 2: Escribe la Ecuación [3] para i = 2. Ejercicio 3: La solución del sistema da g1 = 2.2920, g2 = 11.6518, con g0 = g3 = 0. Halla los coeficientes ai, bi, ci, di, de cada una de las i funciones cúbicas usando las fórmulas en [2] correspondientes. Ejercicio 4: Halla la cúbica g i para cada intervalo y completa la tabla: i 0 1 2 V. Intervalo [0,0, 1.0] [1.0, 1.5 ] [1.5, 2.25] gi .3820 (x – 0)3 + 0 (x – 0) 2 + 2/0546 (x – 0) + 2.000 -2.5893 (x – 1.5)3 + 5.8259 (x – 1.5) 2 + 6.6866 (x – 1.5) + 6.7134 Curvas de Bezier Usadas en las gráficas de computadoras, construcción de carroceria de automóviles entre otros. Son curvas que no necesariamente pasan por todos los puntos pero estan contenidos dentro de un polígono cerrado. Son curvas paramétricas definidas de la siguiente manera: Polinomio general de Bezier: n P (t ) i0 n ni i (1 t ) t pi i donde n n! i ! ( n i )! i pi (xi , yi ) Para n = 3 (cúbica) obtenemos las curvas paramétricas: x ( t ) (1 t ) x 0 3 (1 t ) tx 1 3 (1 t ) t x 2 t x 3 3 2 2 3 y ( t ) (1 t ) y 0 3 (1 t ) ty 1 3 (1 t ) t y 2 t y 3 3 2 2 3 NOTA: Cada curva consiste de 4 puntos (x0, y0 ),( x1, y2 ) (x2 y2),( x3, y3) donde los nodos son el primero y el último. Ejercicio: Halla la curva de Bezier que pasa por los siguientes puntos y usa la calculadora para generar la curva paramétrica. (0,2), (1, 4.4366), (1.5,6.7134), (2.25, 13.9130). cubic bezier curve VI. Suma de Cuadrado Mínimo (Least Squares) Minimiza la suma de la distancia cuadrada entre los puntos (y) y una recta (ax + b) o una cuadrática (ax2 + bx + c) que los aproxima. A. Usando Ecuación Lineal n Minimizar [Y S i ( ax i b )] 2 , donde Yi son datos, pero yi = axi + b obtenido de i 1 la ecuación. Esto equivale a buscar puntos crítico usando derivadas parciales para cada coeficiente a, b. S Ejercicio 1: Halla las derivadas parciales: S a S N 0 2 ( Y i ax i b )( x i ) , S b . N 0 b i 1 a , 2 ( Y i ax i b )( 1 ) i 1 Al despejar las derivadas parciales para nuestras variables a, b, se obtiene el sistema de ecuaciones Normales. a xi b xi 2 a x i bN Y x iY i i B. Usando Ecuación Cuadrática n Minimizar S [Y i ( ax 2 i bx i c )] 2 i 1 Usando el mismo argumento de minimizar con derivadas parciales se obtiene el sistema de Ecuaciones Normales: cn b x i a x i 2 Y c xi b xi a xi 2 3 c xi b xi a xi 2 3 4 i x iY i 2 xi Yi La solución nos da la recta: y = ax + b Ejercicio 2: 1. Para los datos de la siguiente tabla obtenemos las sumatorias: Temperatura Resistencia 20.5 765 32.7 826 51 873 73.2 942 95.7 1032 N = 5, xi = 273.1, (xi)2 = 18,607.27, yi = 4438, (xi yi)=254,932.5. Obten las ecuaciones forma normal, y resuelve para hallar la ecuación lineal. (Usa la calculadora y la función [Simult] si prefieres). 2. Compara con LINREG