Interpolación #2

Anuncio
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
hn2
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 ) 
i0
n
ni 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
Descargar