Práctica 6 INTERPOLACIÓN

Documentos relacionados
Interpolación. Javier Segura. February 12, 2012

Preliminares Interpolación INTERPOLACIÓN Y APROXIMACIÓN POLINOMIAL

TEMA 5: INTERPOLACION NUMERICA

Práctica 4 Límites, continuidad y derivación

UNIDAD 10. DERIVADAS. APLICACIONES DE LAS DERIVADAS

7. Forma de Lagrange para el polinomio interpolador. 9. Forma de Newton para el polinomio interpolador

DERIVADAS PARCIALES Y APLICACIONES

Práctica 02 Gráficos 2D con Mathematica

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA 2015 MATEMÁTICAS II TEMA 4: FUNCIONES

TEMA 6: DERIVACION NUMERICA

Cálculo diferencial y aplicaciones

E.T.S. Minas: Métodos Matemáticos Ejercicios Tema 2 Aproximación e interpolación

Ejercicios resueltos. 4 continua en R luego continua en cualquier. , [ 1,1] = 0 que equivale a decir 1,1

13. Polinomios. Cálculos básicos y divisibilidad

5 Continuidad y derivabilidad de funciones reales de varias variables reales.

Tema 11: Integral definida. Aplicaciones al cálculo de áreas

INTEGRACIÓN NUMÉRICA

TEMA 2: DERIVADA DE UNA FUNCIÓN

Funciones polinómicas

Práctica 5 Cálculo integral y sus aplicaciones

Derivadas 6 ACTIVIDADES. 1. Página 140. Función f(x) x 2 1: Función g(x) x 3 7: 2. Página Página Página

Ejercicios Temas 3 y 4: Interpolación polinomial. Ajuste de curvas.

1. Lección 9 - Continuidad y Derivabilidad

Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones

Práctica 6. Método de los multiplicadores de Lagrange. Extremos condicionados.

Métodos Numéricos (SC 854) Integración

Continuidad y Derivabilidad PROBLEMAS RESUELTOS DE CONTINUIDAD Y DERIVABILIDAD

RESUMEN TEORIA MATEMATICAS 5

Factorización de polinomios FACTORIZACIÓN DE POLINOMIOS

Métodos Numéricos Grado en Ingeniería Informática Univ. Tema de Las 7 Interpolación Palmas de G.C. de funciones 1 / 42II

MATEMÁTICA - TERCERO - REVISIÓN INTEGRADORA. 1) Determinar k y h para que las rectas kx+2y-h=0, 4x+ky-2=0, se corten en un punto.

I. Operaciones con matrices usando Mathematica

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

Matrices elementales. Forma normal de Hermite

2. Continuidad y derivabilidad. Aplicaciones

ETS Minas: Métodos matemáticos Ejercicios resueltos Tema 1 Preliminares

1 Método de la bisección. 1.1 Teorema de Bolzano Teorema 1.1 (Bolzano) Contenido

a) f(x) (x 1) 2 b) f(x) x c) h(x) 1 2 a) f (3) 8 0 f es creciente en x 3.

Razón de cambio promedio 11.1 MATE 3013

Métodos Numéricos Grado en Informática Tema 5: Diferenciación e Integración Numérica

Derivadas e integrales

2 Deniciones y soluciones

Espacios vectoriales reales.

Tema 3: Espacios vectoriales

1. Estudiar el problema siguiente: Hallar un polinomio de grado 2 tal que:

Fundamentos matemáticos. Tema 8 Ecuaciones diferenciales

Sistemas de Ecuaciones Lineales y Matrices

Espacios Vectoriales

Apellidos: Nombre: para x 1, determina sus asíntotas. 4. Halla el valor de los parámetros m y n para que la función f sea continua en todo.

Cálculo Diferencial en una variable

Derivación. Aproximaciones por polinomios.

Tasa de variación. Tasa de variación media

TEMA 6: DIVISIÓN DE POLINOMIOS RAÍCES MATEMÁTICAS 3º ESO

PAU Madrid. Matemáticas II. Año Examen modelo. Opción A. Ejercicio 1. Valor: 2 puntos.

Áreas entre curvas. Ejercicios resueltos

Funciones integrables en R n

CURSO 2013/2014 RESUMEN LÍMITES Y CONTINUIDAD 2, ,61 2,01 4,0401 1,99 3,9601 2,001 4, ,999 3,

Base y Dimensión de un Espacio Vectorial

Órdenes de la convergencia de sucesiones. Condiciones de la convergencia lineal y cuadrática del método de iteración simple

TEMA 3 SISTEMAS DE ECUACIONES LINEALES

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

TEMA 0: REPASO DE FUNCIONES

DOCENTE: JESÚS E. BARRIOS P.

sobre un intervalo si para todo de se tiene que. Teorema 1 Sean y dos primitivas de la función en. Entonces,

BLOQUE 4. CÁLCULO DIFERENCIAL DE FUNCIONES REALES DE UNA VARIABLE

LÍMITE DE UNA FUNCIÓN EN UN PUNTO

BLOQUE DE ÁLGEBRA: TEMA 1: MATRICES.

Conjuntos, relaciones y funciones Susana Puddu

Derivada. 1. Pendiente de la recta tangente a una curva

Espacios Vectoriales

Clase 9 Programación No Lineal

Continuidad de las funciones. Derivadas

T0. TRANSFORMADAS DE LAPLACE

DERIVADAS. TÉCNICAS DE DERIVACIÓN

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

Sistemas de ecuaciones lineales

Clase 8 Matrices Álgebra Lineal

Transformada de Laplace - Conceptos Básicos. e -st f(t)dt. L { f (t) } = F(s) =

SEMANA 06: CIRCUNFERENCIA

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Derivadas. Derivabilidad

Integral indefinida. Integral indefinida es el conjunto de las infinitas primitivas que puede tener una función.

Marzo 2012

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

Resumen sobre mecánica analítica

Factorización ecuación identidad condicional término coeficiente monomio binomio trinomio polinomio grado ax3

10. LIMITES DE FUNCIONES

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Ecuaciones de 2º grado

ƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}.

Pregunta 1 Es correcta esta definición? Por qué?

Grado en Química Bloque 1 Funciones de una variable

Límites y continuidad de funciones reales de variable real

N = {1, 2, 3, 4, 5,...}

4.1. Polinomios y teoría de ecuaciones

No es otra cosa, que la representación de los resultados de una función sobre el plano carteciano.

Transcripción:

Práctica 6 INTERPOLACIÓN 6.1. Interpolación Polinómica Datos de interpolación: 8Hx k, f k L< k=0,1,...,n Conocemos los valores de una función, f k = f Hx k L, en n + 1 puntos distintos, x k, de un intervalo [a,b] Funciones interpolantes: Polinomios de grado menor o igual que n p HxL = a 0 + a 1 x + a 2 x 2 +... + a n x n Problema de interpolación: Determinar los coeficientes a 0, a 1,..., a n para que se cumplan las condiciones de interpolación: p Hx k L = f k, k = 0, 1,..., n Método de Lagrange Consiste en calcular previamente los polinomios L i HxL, i=0,1,...,n, llamados polinomio de Lagrange o funciones cardinales de Lagrange, que verifican: L i Hx i L = 1, L i Ix j M = 0, i j Estos polinomios vienen dados por la expresión El polinomio de interpolación se escribe entonces en la forma n x x j L i HxL = x i x j j=0 j i p HxL = f 0 L 0 HxL + f 1 L 1 HxL +... + f n L n HxL = f i L i HxL n i=0 EJEMPLO 1 Calcular el polinomio que interpola al conjunto de datos {(-1,2),(2,8),(5,-3), (8,10)} Definimos los puntos In[1]:= puntos := 881, 2<, 82, 8<, 85, 3<, 88, 10<<

2 Practica6_Interpolacion.nb Definimos los nodos In[2]:= x 0 =1; x 1 = 2; x 2 = 5; x 3 = 8; In[3]:= f 0 = 2; f 1 = 8; f 2 =3; f 3 = 10; Calculamos los polinomios de Lagrange In[4]:= L 0 @x_d = Hx x 1L Hx x 2 L Hx x 3 L Hx 0 x 1 L Hx 0 x 2 L Hx 0 x 3 L Out[4]= 1 H8 + xl H5 + xl H2 + xl 162 In[5]:= L 1 @x_d = Hx x 0L Hx x 2 L Hx x 3 L Hx 1 x 0 L Hx 1 x 2 L Hx 1 x 3 L Out[5]= 1 H8 + xl H5 + xl H1 + xl 54 In[6]:= L 2 @x_d = Hx x 0L Hx x 1 L Hx x 3 L Hx 2 x 0 L Hx 2 x 1 L Hx 2 x 3 L Out[6]= 1 H8 + xl H2 + xl H1 + xl 54 In[7]:= L 3 @x_d = Hx x 0L Hx x 1 L Hx x 2 L Hx 3 x 0 L Hx 3 x 1 L Hx 3 x 2 L Out[7]= 1 H5 + xl H2 + xl H1 + xl 162 Cálculo del polinomio de inteprolación In[8]:= polisolu = f 0 L 0 @xd + f 1 L 1 @xd + f 2 L 2 @xd + f 3 L 3 @xd Out[8]= 1 81 H8 + xl H5 + xl H2 + xl + 4 H8 + xl H5 + xl H1 + xl + 27 1 18 H8 + xl H2 + xl H1 + xl + 5 H5 + xl H2 + xl H1 + xl 81

Practica6_Interpolacion.nb 3 In[9]:= Expand@polisoluD Out[9]= 682 81 + 100 x 133 x2 41 x3 + 27 54 162 Visualización de resultados In[10]:= g1 = ListPlot@puntos, PlotStyle PointSize@0.02D, DisplayFunction IdentityD; g2 = Plot@polisolu, 8x, 1.2, 8.2<, DisplayFunction IdentityD; Show@g1, g2, DisplayFunction $DisplayFunctionD 10 Out[12]= 5 2 4 6 8 Método de Newton (Diferencias divididas) Consiste en escribir el polinomio de interpolación en la forma: p HxL = A 0 + A 1 Hx x 0 L + A 2 Hx x 0 Hx x 1 L +... + A n1 Hx x 0 Hx x 1 L... Hx x n1 L Los coeficientes A k, que se denominan diferencias divididas de la función f en los puntos x 0, x 1,... x k, se denotan por A k = f [x 0, x 1,... x k ] y se generan de forma recursiva mediante la fórmula f@x 0, x 1,... x k D = f@x 1, x 2,... x k D f@x 0, x 1,... x k1 D, k = 1, 2,..., n Hx k x 0 L partiendo de f[x 0 ]=f(x 0 ). Con esta notación, el polinomio de interpolación puede escribirse como p HxL = f@x 0 D + f@x 0, x 1 D Hx x 0 L + f@x 0, x 1,x 2 D Hx x 0 L Hx x 1 L +... + f@x 0, x 1,..., x n D Hx x 0 L Hx x 1 L... Hx x n1 L. EJEMPLO 2 Calcular el polinomio que interpola al conjunto de datos 8H5, 1L, H3, 2L, H2, 10L, H3, 2L, H6, 0L, H8, 3L<

4 Practica6_Interpolacion.nb Entrada de datos In[13]:= puntos = 885, 1<, 83, 2<, 82, 10<, 83, 2<, 86, 0<, 88, 3<<; Determinamos los nodos y los valores de la función In[14]:= n = Length@puntosD 1; For@i = 0, i n, i++, x i = puntos@@i + 1, 1DD; f i = puntos@@i + 1, 2DDD Generamos la tabla de diferencias divididas (creamos una matriz rectangular de orden (2n+2) (n+2) que llamanos dif y cuyos elementos son de la forma d[i,j], con i=-1,0,,2n y j=-1,0,, n. In[16]:= Clear@dD; dif = Array@d, 82 n + 2, n + 2<, 1D; A continuación rellenamos la matriz con espacios In[18]:= For@i =1, i 2 n, i++, For@j =1, j n, j ++, d@i, jd = " "DD Ahora rellenamos la primera y segunda filas (fila -1 y fila 0, respectivamente) con los datos de interpolación y ponemos de cabecera el texto x k y f k en la posición (-1,-1) y (-1,0), respectivamente. In[19]:= d@1, 1D = "x k "; d@1, 0D = "f k "; For@i = 0, i n + 1, i++, d@2 i, 1D = x i ;d@2 i, 0D = f i D; Visualizamos el resultado In[20]:= dif êê MatrixForm Out[20]//MatrixForm= x k f k 5 1 3 2 2 10 3 2 6 0 8 3 Finalmente calculamos los restantes elementos de la tabla aplicando la ley de recurrencia In[21]:= ForBj = 1, j n, j++, ForBi = j, i 2 n j, i = i + 2, d@i + 1, j 1D d@i 1, j 1D d@i, jd = d@i + j, 1D d@i j, 1D FF

Practica6_Interpolacion.nb 5 Visualizamos el resultado final In[22]:= dif êê MatrixForm Out[22]//MatrixForm= x k f k 5 1 3 2 1 2 8 5 11 70 2 10 8 5 3 2 8 11 6 123 560 103 270 9089 166 320 193 2970 19 897 2 162 160 2 3 1 3 6 0 1 6 8 3 3 2 Calculamos el polinomio de interpolación n k1 In[23]:= polisolu = d@k, kd Ix x j M k=0 j=0 Out[23]= 1 + 5 + x 2 + 11 123 H3 + xl H5 + xl H2 + xl H3 + xl H5 + xl + 70 560 9089 H3 + xl H2 + xl H3 + xl H5 + xl 19 897 H6 + xl H3 + xl H2 + xl H3 + xl H5 + xl 166 320 2 162 160 In[24]:= Expand@polisoluD Out[24]= 67 069 3003 109 171 x 60 060 810 709 x2 270 270 + 615 757 x3 2 162 160 + 2021 x4 24 570 19 897 x5 2 162 160 Visualizamos el resultado (en las variables xmin y xmax, guardamos el valor mínimo y máximo de los nodos)

6 Practica6_Interpolacion.nb In[25]:= xmin = Min@Table@x i, 8i, 0, n<dd; xmax = Max@Table@x i, 8i, 0, n<dd; g1 = ListPlot@puntos, PlotStyle PointSize@0.02`D, DisplayFunction IdentityD; g2 = Plot@polisolu, 8x, xmin 0.2`, xmax + 0.2`<, DisplayFunction IdentityD; Show@g1, g2, DisplayFunction $DisplayFunctionD 20 15 Out[29]= 10 5-4 -2 2 4 6 8-5 6.2. Interpolación polinómica con Mathematica El programa Mathematica puede calcular directamente el polinomio de interpolación mediante la instrucción: InterpolatingPolynomial[puntos, variable] Calcula el polinomio de interpolación en la variable especificada para el conjunto de puntos dados en la forma: puntos=88x 0, f 0 <, 8x 1, f 1 <,..., 8x n, f n <<. EJEMPLO 3 Determinar el polinomio que interpola al conjunto de puntos { (0,0), (3,2), (5,2), (7,3), (9,5), (11,3) } Introducimos los datos In[30]:= puntos := 880, 0<, 83, 2<, 85, 2<, 87, 3<, 89, 5<, 811, 3<< Calculamos el polinomio In[31]:= p@x_d = InterpolatingPolynomial@puntos, xd Out[31]= 2 3 + 2 15 + 31 840 + 31 7560 1079 H9 + xl 1 330 560 H7 + xl H5 + xl H3 + xl x

Practica6_Interpolacion.nb 7 In[32]:= Expand@%D Out[32]= 569 683 x 443 520 553 x2 4752 9133 x3 73 x4 1079 x5 + 133 056 4752 1 330 560 Visualizamos resultados In[33]:= grafpuntos = ListPlot@puntos, PlotStyle PointSize@0.02D, DisplayFunction IdentityD; grafpoli = Plot@p@xD, 8x, 0.5, 11.5<, DisplayFunction IdentityD; Show@grafpuntos, grafpoli, DisplayFunction $DisplayFunctionD 5 4 3 Out[35]= 2 1 2 4 6 8 10 6.3. Interpolación con funciones splines Sea D una partición del intervalo [a,b], : a = x 0 < x 1 <... < x n = b. Un spline es una función polinómica a trozos en cada uno de los intervalos [x i, x i+1 ] de la partición. Notaremos por S k m HDL al conjunto de funciones de clase k que son polinomios a trozos de grado m en cada uno de los intervalos de la partición: S n k H L = 8s C m k H@a, bdl :s» @xi,x i+1 D m <, donde m denota el conjunto de polinomios de grado a lo sumo m. En lo sucesivo notaremos: D={x 0, x 1,..., x n } la partición dada por los nodos. h i = x i+1 - x i, a la amplitud del intervalo [x i, x i+1 ]. f i a los valores de la función que queremos interpolar. m i = H f i+1 - f i L ê h i, a la pendiente de la curva en el intervalo [x i, x i+1 ]. Interpolación con splines cúbicos: S 3 2 HDL

8 Practica6_Interpolacion.nb Funciones interpolantes: Splines en S 2 3 HDL. Se trata de funciones de clase 2 definidas a trozos mediante polinomios de grado 3 en cada intervalo de la partición. Problema de interpolación: Determinar un spline s Œ S 2 3 HDL tal que: s Hx i L = f i, i = 0, 1,..., n, y necesitamos imponer además 2 condiciones adicionales en los puntos frontera x 0 y x n. Por ejemplo si el espline satisface s'' Hx 0 L = 0ys'' Hx n L = 0 se dice que es un spline cúbico natural. EJEMPLO 4 Calcular el spline cúbico natural que interpola al conjunto de datos : {(-1,0), (3,1), (5,-3), (7,2)}, En este caso el spline será una función de clase 2 definida a trozos, mediante 3 polinomios de tercer grado, que escribiremos en la forma s HxL = a 0 + b 0 Hx + 1L + c 0 Hx + 1L 2 + d 0 Hx + 1L 3, a 1 + b 1 Hx - 3L + c 1 Hx - 3L 2 + d 1 Hx - 3L 3, a 2 + b 2 Hx - 5L + c 2 Hx - 5L 2 + d 2 Hx + 5L 3, x œ @-1, 3L x œ @3, 5L x œ @5, 7D con las condiciones adicionales: s'' Hx 0 L = s'' Hx n L = 0 Definimos los puntos In[36]:= puntos = 881, 0<, 83, 1<, 85, 3<, 87, 2<<; Definimos cada uno de los trozos que definen el spline In[37]:= s 0 @x_d := a 0 + b 0 Hx + 1L + c 0 Hx + 1L 2 + d 0 Hx + 1L 3 ; s 1 @x_d := a 1 + b 1 Hx 3L + c 1 Hx 3L 2 + d 1 Hx 3L 3 ; s 2 @x_d := a 2 + b 2 Hx 5L + c 2 Hx 5L 2 + d 2 Hx 5L 3 Imponemos las condiciones de interpolación In[40]:= ecu1 = s 0 @1D 0 Out[40]= a 0 0 In[41]:= ecu2 = s 1 @3D 1 Out[41]= a 1 1

Practica6_Interpolacion.nb 9 In[42]:= ecu3 = s 2 @5D 3 Out[42]= a 2 3 In[43]:= ecu4 = s 2 @7D 2 Out[43]= a 2 + 2b 2 + 4c 2 + 8d 2 2 Imponemos las condiciones de continuidad (en nodos interiores) In[44]:= ecu5 = s 0 @3D s 1 @3D Out[44]= a 0 + 4b 0 + 16 c 0 + 64 d 0 a 1 In[45]:= ecu6 = s 1 @5D s 2 @5D Out[45]= a 1 + 2b 1 + 4c 1 + 8d 1 a 2 Imponemos las condiciones de derivabilidad: clase 1 (en nodos interiores) In[46]:= ecu7 = s 0 '@3D s 1 '@3D Out[46]= b 0 + 8c 0 + 48 d 0 b 1 In[47]:= ecu8 = s 1 '@5D s 2 '@5D Out[47]= b 1 + 4c 1 + 12 d 1 b 2 Imponemos las condiciones de derivabilidad: clase 2 (en nodos interiores) In[48]:= ecu9 = s 0 ''@3D s 1 ''@3D Out[48]= 2c 0 + 24 d 0 2c 1 In[49]:= ecu10 = s 1 ''@5D s 2 ''@5D Out[49]= 2c 1 + 12 d 1 2c 2

10 Practica6_Interpolacion.nb Imponemos la condición en la frontera s''(-1)=s''(7)=0 In[50]:= ecu11 = s 0 ''@1D 0 Out[50]= 2c 0 0 In[51]:= ecu12 = s 2 ''@7D 0 Out[51]= 2c 2 + 12 d 2 0 Resolvemos el sistema formado por todas las ecuaciones In[52]:= coeficientes = Solve@8ecu1, ecu2, ecu3, ecu4, ecu5, ecu6, ecu7, ecu8, ecu9, ecu10, ecu11, ecu12<d Out[52]= ::a 0 0, a 1 1, a 2 3, c 0 0, c 1 81 92,d 0 27 368, b 0 131 92,b 1 193 92,c 2 351 184,d 1 171 368,b 2 1 23,d 2 117 368 >> Sustituimos los coeficientes en las expresiones de s 0 HxL, s 1 HxL y s 2 HxL In[53]:= sp0@x_d = s 0 @xd ê. coeficientes@@1dd Out[53]= 131 H1 + xl 92 27 H1 + xl3 368 In[54]:= sp1@x_d = s 1 @xd ê. coeficientes@@1dd Out[54]= 1 193 81 H3 + xl 92 92 H3 + xl2 + 171 H3 + xl3 368 In[55]:= sp2@x_d = s 2 @xd ê. coeficientes@@1dd Out[55]= 3 + 5 x 23 + 351 184 H5 + xl2 117 H5 + xl3 368 Nuestra función spline vendrá dada por In[56]:= s@x_d := Which@1 x < 3, sp0@xd, 3 x < 5, sp1@xd, 5 x 7, sp2@xdd

Practica6_Interpolacion.nb 11 Visualizamos los resultados In[57]:= grafpuntos = ListPlot@puntos, PlotStyle PointSize@0.02`D, DisplayFunction IdentityD; grafspline = Plot@s@xD, 8x, 1, 7<, DisplayFunction IdentityD; Show@grafpuntos, grafspline, DisplayFunction $DisplayFunctionD 2 1 Out[59]= 2 4 6-1 -2-3 Ejercicios propuestos EJERCICIO 1.- Calcular usando el método de Newton (diferencias divididas) el polinomio p(x) que interpola a la función f(x)=ln(x) en los puntos que resulta de dividir [1,4] en 6 partes iguales. EJERCICIO 2.- Los datos correspondientes al censo de una población (en miles de habitantes) se recogen en la siguiente tabla: Año 1950 1960 1970 1980 1990 2000 Número habitantes 123.5 131.2 150.7 141.3 203.2 240.5 a) Utilizar interpolación polinómica para estimar el número de habitantes en el año 1965. b) Cuál será la población estimada para el año 2020?. Comentar el resultado obtenido.

12 Practica6_Interpolacion.nb EJERCICIO 3.- Aproximar el perfil superior del pato de la imagen interpolando en los 21 puntos señalados mediante: a) Un polinomio b) Un spline cúbico natural c) Qué función proporciona un resultado más satisfactorio?