Aproximacion de Funciones

Download Report

Transcript Aproximacion de Funciones

Métodos Numéricos
Aproximación de Funciones
APROXIMACION DE FUNCIONES
• En este capítulo se estudiará la aproximación de
funciones disponibles en forma discreta (puntos
tabulados), con funciones analíticas sencillas, o bien de
aproximación de funciones cuya complicada naturaleza
exija su reemplazo por funciones más simples,
específicamente por polinomios.
• Una vez que se ha determinado un polinomio Pn(x) de
manera que aproxime satisfactoriamente una función
dada f(x) sobre un intervalo de interés, puede
esperarse que al diferenciar Pn(x) o integrarla, también
aproxime la derivada o integral correspondiente a f(x).
Aproximación polinómica
Se realiza cuando la función puede ser conocida en forma
explícita o mediante un conjunto de valores tabulados para
cada uno de los argumentos por donde pasa la función
(valores funcionales).
xi
x0
x1
...
xn
f(xi)
F0
f1
...
fn
Normalmente se acepta aproximar a la función tabulada en
puntos coincidentes mediante un polinomio de grado “n”
(condición de aproximación):
f(xi)  Pn(xi) ; para todo xi en [xo,xn]
Donde: Pn(x) = anxn + an-1xn-1+...+a1x+ao, con an0
Aproximación polinómica
Aproximación polinómica
Donde: E(x) = f(x) – Pn(x) ; Para todo x en [x0,xn]
Observaciones:
1) Los polinomios son funciones fáciles de derivar, integrar,
evaluar y de programar en un computador. Véase :
2) Los polinomios presentan propiedades analíticas
importantes que facilitan el cálculo de las raíces del
polinomio, así mismo nos permite identificar el tipo de raíz
(Real ó complejo).
Cálculos Analíticos
•
•
•
•
Interpolación : f(x)Pn(x), x en [xo, xn]
Extrapolación : f(x)Pn(x), x<x0 o x>xn
Diferenciación : f’(x)  P’n(x)
Integración : b f ( x ) dx  b P ( x ) dx

a

a
n
Cálculo de Polinomio Interpolante
Pn  x   a 0 x  a 1 x
n
f  x i   Pn  x i 
n 1
 a2 x
n2
   a n 1 x  a n
i  0 n
para
Sistema de Ecuaciones
Lineales
de Vandermond e
 x 0n
 n
 x1
xn
2

 
xn
 n
n 1

x0

x1
x2

x2




xn
x0
n 1
x1
n 1
n 1
xn
1  a 0   y 0 
   
y
1 a 1
   1
1  a 2    y 2 
   
      
1  a n   y n 
Este procedimiento en la practica no es muy usual debido a que la matriz
de Vandermonde es mal condicionada.
Propiedades de Aproximación
1) Siempre que se acepte aproximar la función f(x)
mediante un polinomio de grado n: Pn(x) que pase
por (n+1) puntos coincidentes, se puede construir
un polinomio que es único (propiedad de existencia
y unicidad).
2) El error de aproximación viene dado por:
E n  f ( x )  Pn ( x ) 
f
( n 1)
( )
( x  x 0 )( x  x1 )...( x  x n )
( n  1)!
Para a lg ún    x 0 , x n 
; x  [ x0 , xn ]
3) Cota superior de error (M):
E n ( x )  f ( x )  Pn ( x ) 
Donde :
M  máx
f
M
( n  1)!
( n 1 )
( x)

( x  x 0 )( x  x1 )  ( x  x n )
para x  [ x 0 , x n ]
INTERPOLACIÓN NUMÉRICA
•
Consiste en estimar el valor de la función f(x) para
cualquier argumento x, conociendo la función de
manera explícita o mediante un conjunto de valores
tabulados (xi, f(xi)).
Herramientas de Interpolación
• A continuación definiremos algunas herramientas
que nos permitirán más adelante construir un
polinomio de interpolación:
– Diferencias Finitas
– Diferencias Divididas
Diferencia Finita hacia adelante o
progresiva
• Diferencia finita de primer orden:
 f k  f k 1  f k
• Diferencia finita de segundo orden:
 f k   f k 1   f k
2
• Diferencia Finita de orden n:
 fk  
n
n 1
f k 1  
n 1
fk
Tabla de diferencias finitas hacia
adelante (h=constante)
Diferencia finita hacia atrás o regresiva:
 fk  
n
n 1
fk  
n 1
f k 1
Diferencia Finita Central:
 fk  
n
n 1
f k 1 / 2  
n 1
f k 1 / 2
Diferencias Divididas
Se define para puntos o argumentos
desigualmente espaciados:
• Diferencia dividida de Primer orden:
f [ xi , xi 1 ] 
f ( xi 1 )  f ( xi )
xi 1  xi
• Diferencia dividida de segundo orden:
f [ xi , xi 1 , xi  2 ] 
f [ xi 1 , xi  2 ]  f [ xi , xi 1 ]
xi  2  xi
• Diferencia dividida de orden “n”:
f [ x i , x i 1 ,..., x i  n 1 , x i  n ] 
f [ x i 1 ,..., x i  n ]  f [ x i ,..., x i  n 1 ]
xi n  xi
Polinomio de interpolación de Newton basado
en diferencias Divididas
• Sea la función f(x) tabulada para (n+1) puntos,
siempre es posible construir un polinomio de
grado “n” (o menor) que pase por dichos puntos
y se le puede dar la forma:
f ( x )  Pn ( x )  a 0  a1 ( x  x 0 )  a 2 ( x  x 0 )( x  x1 )  ....  a n ( x  x 0 )( x  x1 )...( x  x n 1 )
• Se trata ahora de determinar los coeficientes ak.
Si x=x0, Pn(x0)=a0f(x0)
Si x=x1, Pn(x1)=f(x0)+a1(x1-x0)f(x1)
a1=(f(x1)-f(x0))/(x1-x0)=f[x0,x1]
• Es estudiante puede demostrar que en general se
cumple:
a k  f  x 0 , x1 ,..., x k 
Por lo tanto:
Pn ( x )  f ( x 0 )  f [ x 0 x1 ]( x  x 0 )  f [ x 0 x1 x 2 ]( x  x 0 )( x  x1 )  f [ x 0 x1 ... x n ]( x  x 0 )( x  x1 )...( x  x n 1 )
n
n
i 1
k 1
i0
j0
Pn ( x )  f ( x 0 )   f [ x 0 ... x k ]( x  x 0 )...( x  x k 1 )  f ( x 0 )   f [ x 0 ... x i ] ( x  x j )
Error de Interpolación
en ( x ) 
f
( n 1 )
( )
( n  1)!
( x  x 0 )( x  x1 )...( x  x n ) 
f
( n 1 )
( )
( n  1)!
n
 (x  x )
i
  [ x0 , xn ]
i0
n
e n ( x )  f [ x 0 x1 ... x n x ] ( x  x i )
i0
Se suele aproximar el error considerando x=xn+1,
es decir, se requiere un punto adicional.
Ejemplo.- Obtener el polinomio interpolante
x
0
1
2
4
5
y
2
3
10
66
127
Estime y(2.5)
Tabla de diferencias divididas
x
y
0
º2
y[ , ]
º1
1
3
y[ , , ]
10
1º
7
28
4
66
5
127
º0
1
11
61
y[ , , , ,]
º3
7
2
y[ , , ,]
De la tabla anterior, obtenemos los coeficientes del polinomio interpolante:
P  x   y 0  y  x 0 , x1  x  x 0   y  x 0 , x1 , x 2  x  x 0  x  x1  
 y  x 0 , x1 , x 2 , x 3  x  x 0  x  x1  x  x 2  
 y  x 0 , x1 , x 2 , x 3 , x 4  x  x 0  x  x1  x  x 2  x  x 3 
P  x   2  1 x  0   4  x  0  x  1  
 1 x  0  x  1 x  2   0  x  0  x  1  x  2  x  4 
P x   x  2
3
y 2 .5   P 2 .5   2 .5  2
3
y  2 . 5   17 . 625
Polinomio de interpolación basado en
Diferencias Finitas Progresivas
• Se debe hallar una relación entre las
diferencias finitas y divididas; se deja como
ejercicio la demostración que:
 f0
k
f [ x 0 , x 1 , x 2 ,.... x k ] 
k!h
k
• Reemplazando en el polinomio basado en
diferencias divididas se tiene:
Pn ( x )  f 0 
f0
1! h
1
 f
( x  x0 ) 
2! h
2
 f0
n
2
( x  x 0 )( x  x1 )  ... 
n! h
n
( x  x 0 )...( x  x n 1 )
Polinomio de interpolación basado en
Diferencias Finitas Progresivas
• Teniendo en cuenta que los intervalos se tomarán igualmente
espaciados (h=cte) para x, y haciendo el cambio de variable,
se demuestra que:
s
x  x0
h
Pn ( s )  f 0  s  f 0 
n
Pn ( s ) 

i0
s ( s  1)
2!
 f 0  ... 
2
s ( s  1)...( s  n  1)
n!
 f0
n
s
s ( s  1) 2
s ( s  1)...( s  n  1) n
 f 0   Pn ( s )  f 0  s  f 0 
 f 0  ... 
 f 0 Pn ( s ) 
i
2
!
n
!
 
i
n

i0
s
i
 f 0  
i
• Esta última forma se conoce como polinomio de interpolación
de Newton Progresivo con cambio de escala.
• Queda para el estudiante como ejercicio la deducción de la
fórmula de error para el polinomio anterior.
Ejemplo
a) Aproximar la siguiente data usando un
polinomio basado en diferencias finitas:
X
2
3
4
Y
0
-1
0
b) Estime Y(2.5):
c) Calcule el error cometido, si esta data se
obtuvo de la función Y=sen(pi*X/2)
Solución
Tabla de diferencias finitas:
X
Y
2
0
Δ2Y
ΔY
-1
3
-1
2
1
4
0
X  2 .5
P  s   Y0  s  Y0 
P  s   0  s  1 
P s   s  2 s
2
s  s  1
2!
s  s  1
2!
s
 Y0

X 2
h
2
2 
X  X0
s
2 .5  2
1
 0 .5
1
P  s  0 . 5   0 . 5   2 0 . 5    0 . 75
2
 2 .5  
y  2 . 5   sen 
   0 . 7071
2


Error  0 . 0429
Polinomio de interpolación basado en Diferencias Finitas Regresivas
Pn ( s )  f n  s  f n 
s ( s  1)
2!
 fn 
2
en cuenta que : s 
Teniendo
s ( s  1)( s  2 )
 f n  ... 
3
3!
s ( s  1)( s  2 )  ...  ( s  n  1)
n!
x  xn
h
Polinomio de interpolación basado en Diferencias Finitas Centrales
Polinomio de Stirling
P2 m ( s )  f 0 
s  f  1 / 2   f  1 / 2 
1!
s (s  1 )
2
2
2
2
4!
4
f0 
2

f0 

s ( s  1 )  f 1 / 2   f 1 / 2
2
2
2!

2
3
3
3!
2
2
2
2
5
5
5!

2
s ( s  1 )( s  2 )  f  1 / 2   f  1 / 2
2


s
  ...
2
Queda para el estudiante demostrar que el polinomio anterior puede
representarse en la forma siguiente:
s
 s  2  s  1 3
 s  1 4
 1 / 2  
 0  ... 
P2 n ( s )  f 0    1 / 2    0  
1
2
3
4
 
 




n
P2 n ( s )  f 0 
 s  i  1  2 i 1  s  i  1  2 i
 1 / 2  
 0
2
i

1
2
i




 
i 1
s
 s  n  1  2 n 1  s  n  1  2 n

 1 / 2  
 0
2
n

1
2
n




x  x0
h
 fn
n
Polinomios de interpolación de
Lagrange
Para intervalos iguales o no.
n
Pn ( x ) 
 L ( x) f ( x )  L
i
i
0
( x ) f ( x 0 )  L1 ( x ) f ( x1 )  ...  L n ( x ) f ( x n )
i0
n
Li ( x ) 

j0
ji
 x  xj

x x
j
 i




E n  f ( x )  Pn ( x ) 
para algún:
f
( n 1)
( )
( n  1)!
( x  x 0 )( x  x1 )...( x  x n )
   x0 , x n 
; x  [ x0 , x n ]
Ejemplo
Obtener el Polinomio de Lagrange de la siguiente data:
X
Y
0
-2
2
2
5
6
 x  x 0  x  x 2 
 x  x 0  x  x1 
 x  x1  x  x 2 
f x0  
f  x1  
f x2 
 x 0  x1  x 0  x 2 
 x1  x 0  x1  x 2 
 x 2  x 0  x 2  x1 
 x  2  x  5 
 x  0  x  5 
 x  0  x  2 
 2  
2  
6 

0  2 0  5 
2  0 2  5 
5  0 5  2 
P2  x  
P2  x   
2
15
x 
2
34
15
x2
AJUSTE POR MINIMOS CUADRADOS
Dado un conjunto de pares ordenados (xi, yi), se
busca una función de aproximación g, tal que:
g(xi) se aproxime a yi para i=1, 2, ..., n
• De un modo general, una función aproximante
dependerá de varias constantes , es decir:
g ( x )  F ( x , c1 , c 2 ,..., c k )
• Para i=1, 2, ...., n, definimos las desviaciones como:
d i  y i  F  x i , c1 , c 2 ,..., c k 
• La función aproximada deberá ser escogida de forma que
tales desviaciones sean pequeñas en valor absoluto.
• Esta función puede ser elegida como una combinación
lineal de otras:
F ( x , c1 ,..., c k )  c1 1  ..... c k  k
• Por ejemplo, la aproximación mediante una recta será:
F ( x , c1 , c 2 )  c1 x  c 2
• El método de los mínimos cuadrados consiste
en obtener una función de aproximación, que
n
busca:
2
Minimizar
d
i
i 1
• Se busca entonces, minimizar la suma de los
cuadrados de las desviaciones:
n
e ( c1 ,..., c k ) 
d
i 1
n
2
i
2






   y i  c11 x i  ...  c k  k x i 
i 1
por lo tanto:
e  0
e
c j
 0,
j  1,..., k
Aproximación de una recta por mínimo
cuadrados:
g (x)  c x  c
1
n
2
n
n
c1  x i  c 2  x i 
x
2
i 1
n
i 1
n
c1  x i  c 2  1 
i 1
i 1
i 1
n

i 1
yi
i
yi
Forma Matricial del ajuste o regresión
por mínimos cuadrados
Sistema sobre-determinado para ajuste de una
recta
Escribiendo la ecuación c1x + c2 = y para todos
los puntos conocidos (xi , yi), i =1,..,n obtenemos
un sistema sobre-determinado:
 x1

x
 2
 

 xn
1
 y1 

 
1  c1 
y2






 c2    

 
1
 yn 
Forma Matricial del ajuste o regresión
por mínimos cuadrados
O:
Ac y
Donde:
 x1

x2
A
 

 xn
1

1



1
 y1 
 
y2
y  
  
 
 yn 
Ecuación normal para el ajuste
El cuadrado de la norma 2 de r = y – Ac es:
La minimización de  requiere que:
La minimización de  requiere que:
A esta ecuación se le denomina ECUACION
NORMAL.
Factor de regresión:
n
R
2

  yˆ
i
 ym

2
 ym

2
i 1
n
 y
i
i 1
yˆ i de la funcion
y i de la data
n
ym 

i 1
n
yi
de ajuste
Factor de regresión:
0  R 1
2
•
•
•
•
El factor de regresión mide la eficiencia del
ajuste,
Cuando R2 =1 la función de ajuste coincide con
la data.
Cuando R2 es cercano a 1 el ajuste se
considera aceptable.
Cuando R2 es cercano a 0 el ajuste se
considera pésimo o deficiente
Reducción a problemas de mínimos cuadrados
• Las funciones:
y  ax
b
y  ae
bx
• Se puede linealizar:
log( y )  log( a )  b log( x )
log( y )  log( a )  b x
Ejemplo
Ajustar los siguientes datos a una recta:
X
0.1
0.4
0.5
0.7
0.7
0.9
Y
0.61
0.92
0.99
1.52
1.47
2.03
Se ajustará a la recta: y=c1 x + c2
se plantea el siguiente sistema M*C=Y
 0 .1

0 .4

 0 .5

 0 .7
 0 .7

 0 . 9
1
 0 . 61 



1
0 . 92



1  c1   0 . 99 
   

1  c 2  1 . 52 
1 . 47 
1



1
 2 . 03 
Planteando la ecuación normal: MT*M*C=MT*Y
 0 .1

 1
0 .4
0 .5
0 .7
0 .7
1
1
1
1
 2 . 21

 3 .3
 0 .1

0 .4

0 .9   0 .5

1   0 .7
 0 .7

 0 . 9
0 .4
0 .5
0 .7
0 .7
1
1
1
1
3 . 3   c1   4 . 844 
 c1  1 . 7646 
   
   

6   c 2   7 . 54 
 c 2   0 . 2862 
y  1 . 7646 x  0 . 2862
R  0 . 93
2
1

1

1   c1   0 . 1
   
1  c 2   1
1

1
 0 . 61 


0 . 92


0 . 9   0 . 99 


1  1 . 52 
1 . 47 


 2 . 03 
Ejemplo
Ajustar los siguientes datos a la función y=axb
x
1
1.2
1.6
2
y
1
1.3
1.4
1.7
Ln(y)=Ln(a)+b*Ln(x)
Y=A+BX
A=0.0514
B=b=0.6874
a=1.0525 0.6874
y=1.0525x
Interpolación segmentaria o Splines
Un
Spline o trazador es una función que
consiste en trozos de polinomios unidos con
ciertas condiciones de continuidad.
Dados los nodos xo<x1<…<xn, un spline de grado
k con esos nodos es una función S tal que:
•En cada sub-intervalo [ti-1,ti] S es un polinomio
de grado k
•La (k-1)-iésima derivada de S es continua en
[xo, xn]
Spline Lineal
s i ( x )  m i x  bi , para x   x i , x i  1  ,
i  0 , 1, 2 ,  , n  1
Las condiciones, s i ( x i )  y i
y s i ( x i 1 )  y i 1
producen 2n
ecuaciones para encontrar 2n incógnitas. Aplicando esto, conseguimos:
si ( x)  yi
x  x i 1
x i  x i 1
 y i 1
x  xi
x i 1  x i
 yi 
y i 1  y i
x i 1  x i
( x  x i ), x   x i , x i 1 
cuyo resultados son líneas rectas que ensamblan puntos vecinos.
Claramente se observa que, s i ( x ) es la formula de interpolación de
Lagrange para un conjunto de datos que consiste de los siguientes puntos:
( x i , y i ) y ( x i 1 , y i 1 )
Ejemplo Encontrar los Splines lineales para el
siguiente conjunto de datos:
i
0
1
2
3
4
x
0
5
7
8
10
y
0
2
-1
-2
20
Splines Lineales:
s0 ( x )  0
s1 ( x )  2
x5
05
x7
57
1
2
x5
75
x0
50

2
x,
x  [0, 5]
5
  1 .5 x  9 .5 ,
x  [5, 7 ]
s2 ( x)  1
x8
78
s3 ( x )   2
2
x  10
8  10
x7
87
 20
 x  6,
x8
10  8
x  [7, 8]
 11 x  90 ,
x  [ 8 , 10 ]