unidad 4 axcel

19
UNIVERSIDAD FERMIN TORO ESCUELA DE INGENIERIA ANALISIS NUMERICO AXCEL QUINTERO INTERPOLACIÓN En este capítulo estudiaremos el importantísimo tema de la interpolación de datos. Veremos dos tipos de interpolación: la interpolación polinomial y la interpolación segmentaria (splines). Comencemos dando la definición general. Definición. Dados 1 n puntos que corresponden a los datos: y los cuales se representan gráficamente como puntos en el plano cartesiano, Si existe una función ) ( x f definida en el intervalo n x x , 0 (donde suponemos que n x x x 1 0 ), tal que i i y x f ) ( para n i , , 2 , 1 , 0 , entonces a ) ( x f se le llama una función de interpolación de los datos, cuando es usada para aproximar valores dentro del intervalo n x x , 0 , y se le llama función de extrapolación de los datos, cuando está definida y es usada para aproximar valores fuera del intervalo.

Upload: asignacionuft

Post on 02-Jun-2015

244 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Unidad 4 axcel

UNIVERSIDAD FERMIN TORO

ESCUELA DE INGENIERIA

ANALISIS NUMERICO

AXCEL QUINTERO

INTERPOLACIÓN

En este capítulo estudiaremos el importantísimo tema de la interpolación de datos. Veremos dos tipos de interpolación: la interpolación polinomial y la interpolación segmentaria (splines). Comencemos dando la definición general.

Definición. Dados 1n puntos que corresponden a los datos:

y los cuales se representan gráficamente como puntos en el plano cartesiano,

Si existe una función )(xf definida en el intervalo nxx ,0 (donde suponemos

que nxxx 10 ), tal que ii yxf )( para ni ,,2,1,0 , entonces a )(xf se le llama una función de interpolación de los datos, cuando es usada para

aproximar valores dentro del intervalo nxx ,0 , y se le llama función de extrapolación de los datos, cuando está definida y es usada para aproximar valores fuera del intervalo.

Page 2: Unidad 4 axcel

Evidentemente pueden existir varios tipos de funciones que interpolen los mismos datos; por ejemplo, funciones trigonométricas, funciones exponenciales, funciones polinomiales, combinaciones de éstas, etc.

El tipo de interpolación que uno elige, depende generalmente de la naturaleza de los datos que se están manejando, así como de los valores intermedios que se están esperando.

Un tipo muy importante es la interpolación por funciones polinomiales. Puesto que evidentemente pueden existir una infinidad de funciones polinomiales de interpolación para una misma tabla de datos, se hace una petición extra para que el polinomio de interpolación , sea único.

Definición. Un polinomio de interpolación es una función polinomial que además de interpolar los datos, es el de menor grado posible.

Caso n=0

Tenemos los datos:

En este caso, tenemos que 0)( yxf (polinomio constante) es el

polinomio de menor grado tal que 00 )( yxf , por lo tanto, es el polinomio de interpolación.

Caso n=1

Tenemos los datos:

Page 3: Unidad 4 axcel

En este caso, el polinomio de interpolación es la función lineal que une a los dos puntos dados. Por lo tanto, tenemos que

)()( 0

01

010 xx

xx

yyyxf

es el polinomio de interpolación.

La siguiente gráfica representa este caso:

Observación.

Vemos que en el polinomio de interpolación del caso n=1 se encuentra como

primer término, 0y , que es el polinomio de interpolación del caso n=0.

Continuemos:

Caso n=2

Tenemos los datos:

Para este caso, el polinomio de interpolación va a ser un polinomio de

grado 2. Tomando en cuenta la observación anterior, intuímos que el polinomio de interpolación será como sigue:

término cuadrático

Page 4: Unidad 4 axcel

Por lo tanto, planteamos el polinomio de interpolación como sigue:

))(()()( 102010 xxxxbxxbbxf

Si asignamos 0xx , se anulan los valores de 1b y 2b , quedándonos el resultado:

00 )( bxf

Como se debe cumplir que 00 )( yxf , entonces:

00 by

Si asignamos 1xx , el valor de 2b queda anulado, resultando lo siguiente:

)()( 01101 xxbbxf

Como se debe cumplir que 11)( yxf y ya sabemos que 00 by ,

entonces )( 01101 xxbby , de lo cual obtenemos el valor para 1b :

1

01

01 bxx

yy

Asignando 2xx , vamos a obtener :

Page 5: Unidad 4 axcel

))(()()( 1202202102 xxxxbxxbbxf

Como se debe cumplir que 22)( yxf , y ya sabemos que 00 by y

1

01

01 bxx

yy

, sustituímos estos datos para después despejar el valor de 2b :

))(()( 1202202

01

0102 xxxxbxx

xx

yyyy

De lo cual podemos hacer un despeje parcial para lograr la siguiente igualdad :

)(

)(

022

12

02

01

0102

xxbxx

xxxx

yyyy

Ahora en el numerador del miembro izquierdo de la igualdad, le

sumamos un cero 11 yy , de tal manera que no se altere la igualdad:

A continuación, aplicamos un poco de álgebra para así obtener los

siguientes resultados:

Page 6: Unidad 4 axcel

Y finalmente despejando a 2b vamos a obtener :

02

01

01

12

12

2xx

xx

yy

xx

yy

b

Por lo tanto, el polinomio de interpolación para este caso es:

Observación.

Vemos que efectivamente el polinomio de interpolación contiene al del caso anterior, más un término extra que es de un grado mayor, pero además vemos que cada uno de los coeficientes del polinomio de interpolación, se forman a base de cocientes de diferencias de cocientes de diferencias, etc. Esto da lugar a la definición de diferencias divididas finitas de Newton, como sigue:

DIFERENCIAS DIVIDIDAS FINITAS DE NEWTON

Las diferencias divididas finitas de Newton, se define de la siguiente manera:

Page 7: Unidad 4 axcel

ji

ji

jixx

xfxfxxf

)()(],[

ki

kjji

kjixx

xxfxxfxxxf

],[],[],,[

0

011011

],,[],,[],,,,[

xx

xxfxxfxxxxf

n

nnnn

A manera de ejemplo citemos el siguiente caso específico :

03

0121230123

],,[],,[],,,[

xx

xxxfxxxfxxxxf

donde a su vez:

13

1223123

],[],[],,[

xx

xxfxxfxxxf

y

012

0112012

],[],[],,[

xx

xxfxxfxxxf

Y donde a su vez:

23

2323

)()(],[

xx

xfxfxxf

Page 8: Unidad 4 axcel

etc.

Podemos ahora definir nuestro primer tipo de polinomio de interpolación.

POLINOMIO DE INTERPOLACIÓN DE NEWTON CON DIFERENCIAS DIVIDIDAS

Dados 1n datos:

- El polinomio de interpolación de Newton se define de la siguiente

manera:

110102010 nn xxxxxxbxxxxbxxbbxf

donde :

00 xfb

],[ 011 xxfb

0122 ,, xxxfb

0,, xxfb nn

Page 9: Unidad 4 axcel

Para calcular los coeficientes nbbb ,,, 10 , es conveniente construir una tabla de diferencias divididas como la siguiente :

Obsérvese que los coeficientes del polinomio de interpolación de Newton, se encuentran en la parte superior de la tabla de diferencias divididas.

Ejemplo 1. Calcular la tabla de diferencias divididas finitas con los siguientes

datos :

Y utilizar la información de dicha tabla, para construir el polinomio de interpolación de Newton.

Solución.

Procedemos como sigue:

Page 10: Unidad 4 axcel

Por lo tanto el polinomio de interpolación de Newton es :

)2)(1)(2(3.0)1)(2(25.0)2(24)( xxxxxxxf

Ejemplo 2. Calcular la tabla de diferencias divididas finitas con los siguientes datos :

Y usar la información en la tabla, para construir el polinomio de

interpolación de Newton.

Solución. Procedemos como sigue:

Por lo tanto el polinomio de interpolación de Newton nos queda :

))(2)(3(20238.0)2)(3(66667.1)3(35)( xxxxxxxf

Antes de ver el siguiente tipo de polinomio de interpolación, veamos como el imponer la restricción del grado mínimo, implica la unicidad del polinomio de interpolación.

Page 11: Unidad 4 axcel

TEOREMA .

Si nxxx ,,, 10 son números reales distintos, entonces para valores

arbitrarios nyyy ,,, 10 existe un polinomio único xfn , de a lo más grado n, y tal que:

iin yxf para toda ni ,,2,1,0

DEMOSTRACIÓN.

En realidad, no probaremos formalmente la existencia de un polinomio de interpolación, aunque informalmente aceptamos que dada cualquier

tabla de datos, el polinomio de Newton siempre existe.

Probemos la unicidad del polinomio de interpolación.

Supongamos que xgn es otro polinomio de interpolación de a lo más grado n,

Sea xgxfxh nnn

0iiininin yyxgxfxh para todo ni ,2,1,0

Por lo tanto, xhn tiene 1n raíces distintas, y es un polinomio de grado a lo

más n, esto solamente es posible si 0xhn .

xgxf nn

Que es lo que queríamos probar.

Sin embargo, aunque el polinomio de interpolación es único, pueden existir diversas formas de encontrarlo. Una, es mediante el polinomio de Newton, otra mediante el polinomio de Lagrange.

Page 12: Unidad 4 axcel

POLINOMIO DE INTERPOLACIÓN DE LAGRANGE

Nuevamente tenemos los datos :

El polinomio de interpolación de Lagrange se plantea como sigue:

)()()()( 1100 xlyxlyxlyxP nn

Donde los polinomios )(xli se llaman los polinomios de Lagrange,

correspondientes a la tabla de datos.

Como se debe satisfacer que 00 )( yxP , esto se cumple si 1)( 00 xl y

0)( 0xli para toda 0i .

Como se debe satisfacer que 11)( yxP , esto se cumple si 1)( 11 xl y

0)( 1xli para toda 1i .

Y así sucesivamente, veremos finalmente que la condición nnn yxP

se cumple si 1nn xl y 0ni xl para toda ni .

Esto nos sugiere como plantear los polinomios de Lagrange. Para ser

más claros, analicemos detenidamente el polinomio )(0 xl . De acuerdo al análisis anterior vemos que deben cumplirse las siguientes

condiciones para )(0 xl :

1)( 00 xl y 0)(0 jxl , para toda 0j

Por lo tanto, planteamos )(0 xl como sigue:

no xxxxxxcxl 21

Con esto se cumple la segunda condición sobre )(0 xl . La constante c se determinará para hacer que se cumpla la primera condición:

nxxxxxxcxl 0201000 11

nxxxxxxc

02010

1

Por lo tanto el polinomio )(0 xl queda definido como:

n

n

xxxxxx

xxxxxxxl

02010

210

Page 13: Unidad 4 axcel

Análogamente se puede deducir que:

ji

ij

ji

i

jxx

xx

xl)(

)(

, para nj ,,1

Ejemplo 1 Calcular el polinomio de Lagrange usando los siguientes

datos:

Solución. Tenemos que:

)()()()()( 3321100 xlyxlyxlyxlyxf

)(3)(2)()(2)( 3210 xlxlxlxlxf

donde:

48

)7)(5)(3(

)6)(4)(2(

)7)(5)(3()(0

xxxxxxxl

16

)7)(5)(1(

)4)(2)(2(

)7)(5)(1()(1

xxxxxxxl

16

)7)(3)(1(

)2)(2)(4(

)7)(3)(1()(2

xxxxxxxl

48

)5)(3)(1(

)2)(4)(6(

)5)(3)(1()(3

xxxxxxxl

Sustituyendo arriba, el polinomio de Lagrange queda definido como

sigue:

16

)5)(3)(1(

8

)7)(3)(1(

16

)7)(5)(1(

24

)7)(5)(3()(

xxxxxxxxxxxxxf

Ejemplo 2. Calcular el polinomio de Lagrange usando los siguientes

datos:

Page 14: Unidad 4 axcel

Solución. Tenemos que:

)()()()()( 3321100 xlyxlyxlyxlyxf

)(2)(3)()()( 3210 xlxlxlxlxf

donde:

48

)4)(2(

)6)(4)(2(

)4)(2)(0()(0

xxxxxxxl

16

)4)(2)(2(

)4)(2)(2(

)4)(2)(2()(1

xxxxxxxl

16

)4)(2(

)2)(2)(4(

)4)(0)(2()(2

xxxxxxxl

48

)2)(2(

)2)(4)(6(

)2)(0)(2()(3

xxxxxxxl

Sustituyendo arriba, el polinomio de Lagrange queda como sigue:

24

)2)(2(

16

)4)(2(3

16

)4)(2)(2(

48

)4)(2()(

xxxxxxxxxxxxxf

En el capítulo de integración numérica, usaremos nuevamente a los polinomios de Lagrange.

INTERPOLACIÓN DE SPLINES

Terminamos este capítulo, estudiando un tipo de interpolación que ha demostrado poseer una gran finura, y que inclusive es usado para el diseño por computadora, por ejemplo, de tipos de letra.

Esta interpolación se llama interpolación segmentaria o interpolación por splines. La idea central es que en vez de usar un solo polinomio para interpolar los datos, podemos usar segmentos de polinomios y unirlos adecuadamente para formar nuestra interpolación.

Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más adecuadas para aplicaciones como la mencionada anteriormente.

Page 15: Unidad 4 axcel

Así pues, podemos decir de manera informal, que una funcion spline está formada por varios polinomios, cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones de continuidad.

Definición. (Splines de grado k)

Dada nuestra tabla de datos,

donde suponemos que nxxx 10 , y dado k un número entero positivo, una función de interpolación spline de grado k, para

la tabla de datos, es una función )(xs tal que :

i) ii yxs )( , para toda ni ,,1,0 .

ii) xs es un polinomio de grado k en cada subintervalo

ii xx ,1 .

iii ) xs tiene derivada contínua hasta de orden 1k en nxx ,0 .

FUNCIONES SPLINES DE GRADO 1

Dados los 1n puntos

Una función spline de grado 1 que interpole los datos es simplemente unir cada uno de los puntos mediante segmentos de recta, como sigue:

Claramente esta función cumple con las condiciones de la spline de grado 1. Así, tenemos que para ested caso:

Page 16: Unidad 4 axcel

nnn xxxsixs

xxxsxs

xxxsixs

xs

,

,

,

)(

1

212

101

donde:

i) xs j es un polinomio de grado menor o igual que 1

ii) xs tiene derivada continua de orden k-1=0.

iii) jj yxs , para nj ,,1,0 . Por lo tanto, la spline de grado 1 queda definida como :

nnnnnn xxxsixxxxfy

xxxsixxxxfy

xxxsixxxxfy

xs

,,

,,

,,

1111

211121

100010

donde ],[ ji xxf es la diferencia dividida de Newton.

FUNCIONES SPLINES DE GRADO 2

Para aclarar bien la idea, veamos un ejemplo concreto, consideremos los siguientes datos :

Y procedamos a calcular la interpolación por splines de grado 2.

Primero que nada, vemos que se forman tres intervalos :

9,7

7,5.4

5.4,3

En cada uno de estos intervalos, debemos definir una función

polinomial de grado 2, como sigue:

9,7

7,5.4

5.4,3

33

2

3

22

2

2

11

2

1

xsicxbxa

xsicxbxa

xsicxbxa

xs

Page 17: Unidad 4 axcel

Primero, hacemos que la spline pase por los puntos de la tabla de datos. Es decir, se debe cumplir que:

5.0)9(,5.2)7(,1)5.4(,5.2)3( ssss Así, se forman las siguientes ecuaciones:

5.2395.2)3( 111 cbas

15.4)5.4(

15.4)5.4(1)5.4(

222

2

111

2

cba

cbas

5.2749

5.27495.2)7(

333

222

cba

cbas

5.09815.0)9( 333 cbas

Hasta aquí, tenemos un total de 6 ecuaciones vs. 9 incógnitas. El siguiente paso es manejar la existencia de las derivadas contínuas.

En el caso de las splines de grado 2, necesitamos que la spline tenga

derivada contínua de orden k-1=1, es decir, primera derivada

continua. Calculamos primero la primera derivada:

9,72

7,5.42

5.4,32

33

22

11

xsibxa

xsibxa

xsibxa

xs

Vemos que esta derivada está formada por segmentos de rectas,

que pudieran presentar discontinuidad en los cambios de intervalo.

Es decir, las posibles discontinuidades son 5.4x y 7x . Por lo

tanto para que xs sea contínua, se debe cumplir que:

2211 5.425.42 baba o lo que es lo mismo,

2211 99 baba

También debe cumplirse que:

3322 7272 baba o lo que es lo mismo,

3322 1414 baba

Así, tenemos un total de 8 ecuaciones vs. 9 incognitas; esto nos

da un grado de libertad para elegir alguna de las incógnitas. Elegimos

por simple conveniencia 01a .

Page 18: Unidad 4 axcel

De esta forma, tenemos un total de 8 ecuaciones vs. 8 incógnitas. Estas son las siguientes:

3322

221

333

333

222

222

11

11

1414

9

5.0981

5.2749

5.2749

15.425.20

15.4

5.23

baba

bab

cba

cba

cba

cba

cb

cb

Este sistema de ecuaciones tiene la siguiente forma matricial:

0

0

5.0

5.2

5.2

1

1

5.2

0114011400

00001901

198100000

174900000

000174900

00015.425.2000

00000015.4

00000013

3

3

3

2

2

2

1

1

c

b

a

c

b

a

c

b

Usando Mathematica se obtiene la siguiente solución:

3.91

6.24

6.1

46.18

76.6

64.0

5.5

1

3

3

3

2

2

2

1

1

c

b

a

c

b

a

c

b

Sustituyendo estos valores (junto con 01a ), obtenemos la función spline cuadrática que interpola la tabla de datos dada:

9,73.916.246.1

7,5.446.1876.664.0

5.4,35.5

2

2

xsixx

xsixx

xsix

xs

Page 19: Unidad 4 axcel

La gráfica que se muestra a continuación, contiene tanto los puntos

iniciales de la tabla de datos, así como la spline cuadrática. Esta

gráfica se generó usando Mathematica.

El siguiente caso, que es el más importante en las aplicaciones, sigue exactamente los mismos pasos del ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios cuadráticos, lo hace con polinomios cúbicos.

3 4.5 7 9

-1

1

2

3

4

5