58
Interpolación Polinómica U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 1 1.- Dada la tabla de valores: a) Encontrar el spline cúbico natural que interpola estos datos, imponiendo las condiciones requeridas y resolviendo el sistema. b) Misma cuestión resolviendo previamente el sistema tridiagonal para el cálculo de las derivadas segundas del spline en los nodos. c) Calcular el spline “no nodo, hacer una gráfica de nodos y del spline. d) Dibujar el spline completo que interpola los datos, suponiendo que las derivadas primeras del spline en los nodos inicial y final son -5 y 5, respectivamente. 2.- Se quiere construir la línea fronteriza entre dos poblaciones a partir de los datos que figuran en la siguiente tabla: i x 0 1 2 3 4 5 6 7 i y 0 25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos. Hallar la ordenada del punto de abscisa 2.5. Representar los datos junto al polinomio que los interpola, que definiría la frontera entre las poblaciones. b) Utilizar un spline no nodo para perfilar la frontera. Hallar la ordenada del punto de la misma de abscisa 2.5. Representar los datos junto al spline que los interpola en la misma ventana de dibujo que el apartado a). c) Utilizar un spline natural para perfilar la curva de separación entre las poblaciones. 3.- Un robot debe tomar un objeto situado en la posición 1 y dejarlo en la posición 6 del recinto esquematizado en la figura. Para ello recorre una trayectoria definida por los puntos de la tabla, que tratan de evitar los obstáculos del recinto. Paso 1 2 3 4 5 6 x 1 1 4 4 7 7 y 1 4 4 1 1 4 La trayectoria se obtiene interpolando los puntos dados ( ) k k y , x mediante funciones p y q tales que (p(t), q(t)) es la posición del brazo en el instante t [ ] 1 , 0 y (p(t k ), q(t k )) = ( ) k k y , x , siendo t k = 0.2 k, k = 0,1,…,5. Representar gráficamente la trayectoria obtenida si p y q son: i x -1 0 1 i y 13 7 9 1 2 3 4 5 6

Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 1

1.- Dada la tabla de valores:

a) Encontrar el spline cúbico natural que interpola estos datos, imponiendo las

condiciones requeridas y resolviendo el sistema.

b) Misma cuestión resolviendo previamente el sistema tridiagonal para el cálculo de

las derivadas segundas del spline en los nodos.

c) Calcular el spline “no nodo”, hacer una gráfica de nodos y del spline.

d) Dibujar el spline completo que interpola los datos, suponiendo que las derivadas

primeras del spline en los nodos inicial y final son -5 y 5, respectivamente.

2.- Se quiere construir la línea fronteriza entre dos poblaciones a partir de los datos que

figuran en la siguiente tabla:

ix 0 1 2 3 4 5 6 7

iy 0 25 34 72 115 92 71 65

a) Calcular el polinomio de interpolación que pasa por todos los puntos. Hallar la

ordenada del punto de abscisa 2.5. Representar los datos junto al polinomio que

los interpola, que definiría la frontera entre las poblaciones.

b) Utilizar un spline no nodo para perfilar la frontera. Hallar la ordenada del punto

de la misma de abscisa 2.5. Representar los datos junto al spline que los interpola

en la misma ventana de dibujo que el apartado a).

c) Utilizar un spline natural para perfilar la curva de separación entre las

poblaciones.

3.- Un robot debe tomar un objeto situado en la posición 1 y dejarlo en la posición 6 del

recinto esquematizado en la figura. Para ello recorre una trayectoria definida por los

puntos de la tabla, que tratan de evitar los obstáculos del recinto.

Paso 1 2 3 4 5 6

x 1 1 4 4 7 7

y 1 4 4 1 1 4

La trayectoria se obtiene interpolando los puntos dados ( )kk y,x mediante funciones p y q

tales que (p(t), q(t)) es la posición del brazo en el instante t [ ]1,0∈ y (p(tk), q(tk)) = ( )kk y,x , siendo tk = 0.2 k, k = 0,1,…,5. Representar

gráficamente la trayectoria obtenida si p y q son:

ix -1 0 1

iy 13 7 9

1

2 3

4 5

6

Page 2: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 2

a) Los polinomios de interpolación de ( )kk x,t y ( )kk y,t , respectivamente.

b) Splines “no nodo”.

c) Splines tales que la velocidad inicial y final del robot es 0.

d) Splines tales que la aceleración inicial y final del robot es 0.

¿En qué casos la trayectoria no choca contra los obstáculos ni las paredes del recinto?

4.- Dada la tabla de valores:

a) Hallar el polinomio de Lagrange que interpola estos datos.

b) Hallar el polinomio de Hermite que interpola estos datos.

c) Representar los dos polinomios anteriores y comentar el resultado.

5.- Se consideran los valores de la función y = arc tg x en los nodos x = -3, -2, …, 2, 3.

a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función.

b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos

-2 y 2 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual

que las dos últimas).

c) Compara ambas aproximaciones.

6.- La tabla siguiente refleja la demanda de energía eléctrica en España cada dos horas

de un día de invierno.

Hora 0 2 4 6 8 10 12

MW 31250 28000 26000 26000 34000 37500 38000

Hora 14 16 18 20 22 24

MW 35500 34500 38500 39500 36500 33000

a) Hallar el polinomio de grado 12 que interpola los valores dados. Analizar el

comportamiento del polinomio de interpolación.

b) Se propone mejorar la interpolación dividiendo el intervalo en dos, de 0 a 12 y de

12 a 24, y hallando un polinomio para cada intervalo. Representar los polinomios

obtenidos y comparar el resultado con el del apartado anterior.

c) Interpolar los datos con un spline cúbico y comparar con los ajustes anteriores.

x 0 1 3

f (x) 1 5 -17

f ’(x) 3 5 -15

Page 3: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 3

7.- Dada la tabla de valores (funciones de Bessel):

x0 x1 x2 x3 x4 x 1 1.3 1.6 1.9 2.2

f (x) 0.7651977 0.620086 0.4554022 0.2818186 0.11036 a) Comparar las aproximaciones de f(1.5) utilizando polinomios de interpolación de grado 1, 2, 3 y 4. b) Sabiendo que f(1.5) = 0.5118277, ¿con qué polinomio se ha obtenido la mejor aproximación?

8.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = tg (x):

ix 4

−π

0

4

π

iy -1 0 1

a) Calcular el correspondiente polinomio de interpolación, aplicando la definición. b) Calcular a mano el polinomio de Newton con la fórmula de las diferencias

divididas.

c) Interpolar el valor de f en 8

π.

9.- Para la función f(x) = tg (x), se considera la tabla de valores:

ix 3

−π

4

−π

6

−π

0

6

π

4

π

3

π

iy 3− -1 3

3−

0 3

3

1 3

a) Hallar el polinomio de interpolación correspondiente a estos datos. b) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función. c) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos

4−π

y 4

π (es decir, las dos primeras piezas del spline son el mismo polinomio, al

igual que las dos últimas).

10.- Para la tabla de valores:

ix 1 2 3 4 5 6 7 8 9 10

iy 2 6 5 10 67 45 23 5 9 1

a) Hallar el polinomio de interpolación. b) Hallar un spline no nodo para estos datos. c) Dibujar los dos polinomios en la misma ventana de dibujo. Comentar el resultado.

11.- A lo largo de un día se han recogido los siguientes datos de temperaturas: Hallar el polinomio de Newton que se ajusta a los tres nodos.

Hora 10 13 17 Temp. ºC 7 17 11

Page 4: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 4

12.- Se considera el polinomio a trozos:

S(x) =

( ) [ )( ) [ )( ) [ )

20

21

22

-1 x 1,0

2 -1 x 0,1

2 +8x-5 x 1,2

= ∈ − = ∈ = − ∈

S x x

S x x

S x x

Deducir si S(x) es un spline cúbico o no sobre los puntos { }1,0,1,2−

13.- Se considera el polinomio a trozos:

S(x) = ( ) [ )( ) [ )

30

3 21

2 1,0

( 1) +6( 1) +b( 1)+c 1, 2

S x x x

S x a x x x x

= ∈ −

= − − − ∈

Hallar, si existen, los valores de los parámetros a, b y c para que S(x) sea un spline cúbico sobre los puntos { }0,1,2 .

14.- Para la tabla de valores siguiente:

ix 1 2 2.5 3 4

iy 1.4 1 0.65 0.6 1

a) Hallar el polinomio de interpolación. b) Hallar un spline no nodo para estos datos. c) Dibujar los dos polinomios en la misma ventana de dibujo. Comentar el

resultado.

15.- Sea una función f(x) de la que se conoce su valor en los siguientes puntos:

x -2 -1 0 1

f(x) 6 2 1 0

a) Hallar el polinomio de interpolación que se ajusta a esta nube de puntos y estimar el valor de f (0.5) utilizando dicho polinomio.

b) Hallar un spline cúbico completo que interpole esos datos, suponiendo que f ’(-2)=5 y que f ’(1 ) = 4 . Estimar con este método el valor de f (0.5).

c) Dibujar, en la misma ventana, los nodos, el polinomio de interpolación y el spline utilizados y comentar el resultado.

16.-Se consideran los valores de la función f(x) = 1/x en el intervalo [0.1, 10] tomando los puntos: (0.1, 10.0); (0.2, 5.0); (0.5, 2.0); (1.0, 1.0); (2.0, 0.5); (5.0, 0.2); (10.0, 0.1). a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los extremos coincida con la derivada primera de la función. b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos 0.2 y 5.0 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual que las dos últimas). c) Compara ambas aproximaciones, dibujando los dos splines en la misma ventana, y comenta el resultado.

Page 5: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 5

17.- Sea f(x) = cos x.

a. Hallar el polinomio de grado 9 que interpola f en 10 puntos equidistantes del intervalo [ ]0,6π . Dibujarlo.

b. Aproximar el valor de cos 11

4

π utilizando el polinomio anterior y acotar el

error cometido en dicha aproximación. c. Hallar un spline completo que se ajuste a esa nube de puntos y aproximar con él

el valor de cos 11

4

π. Dibujarlo en la misma figura que el polinomio de

interpolación calculado anteriormente junto con la gráfica de f(x). Comentar el resultado.

18.- a) Hallar, aplicando la definición, el polinomio interpolador para los siguientes datos:

ix 0 1 2

iy 1 e 2e haciendo los cálculos y el dibujo de los puntos y del polinomio con Matlab.

b) Interpolar el valor de f en 1/2. c) Calcular el polinomio interpolador de Lagrange.

19.- Sea f(x) = sen x. a) Hallar el polinomio de grado 9 que interpola f en 10 puntos equidistantes de [0, 1]. Dibujarlo.

b) Obtener una cota del error que se comete al aproximar f(x) con dicho polinomio

20.- Hallar el polinomio interpolador de Newton para los siguientes nodos:

Interpolar el valor en x = 1.5.

21.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = sen x:

ix 0 4

π

2

π

iy 0 2

2 1

a) Calcular el polinomio de interpolación, aplicando la definición. b) Calcular el polinomio de Newton con la fórmula de las diferencias divididas.

c) Interpolar el valor de f en 6

π.

d) Acotar el error cometido en la aproximación anterior.

ix -2 -1 1 2

iy 10 4 6 3

Page 6: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 6

e) Interpolar estos datos mediante un spline cúbico cuya derivada primera en los extremos coincida con la derivada primera de la función.

22.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = cos x:

ix 0 4

π

2

π

iy 1 2

2 0

a) Calcular el polinomio de interpolación, aplicando la definición. b) Calcular el polinomio de Newton con la fórmula de las diferencias divididas.

c) Interpolar el valor de f en 3

π.

d) Acotar el error cometido en la aproximación anterior. e) Interpolar estos datos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función.

23.- La tabla siguiente proporciona el número de viajeros que suben al metro en una

estación a determinada hora de la mañana:

Hallar el polinomio de Newton que interpola estos datos. ¿Qué número de viajeros se

estima que suben a la estación a las 10:30h?

24.- Se consideran los valores de la función f(x) = cos10(x) en los 9 puntos equidistantes

del intervalo [-4, 4] obtenidos mediante una partición del mismo.

a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función.

b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos -3 y

3 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual que las

dos últimas).

c) Representar y comparar ambas aproximaciones.

d) Hermite para los tres primeros nodos.

hora 8 9 10 11 12 13 14

viajeros 41 35 21 9 11 17 32

Page 7: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 7

1.- Dada la tabla de valores:

a) Encontrar el spline cúbico natural que interpola estos datos, imponiendo las

condiciones requeridas y resolviendo el sistema.

b) Misma cuestión resolviendo previamente el sistema tridiagonal para el cálculo de

las derivadas segundas del spline en los nodos.

c) Calcular el spline “no nodo”, hacer una gráfica de nodos y del spline.

d) Dibujar el spline completo que interpola los datos, suponiendo que las derivadas

primeras del spline en los nodos inicial y final son -5 y 5, respectivamente.

Solución:

a) ( ) ( ) ( ) ( ) [ ]( ) ( ) ( ) ( ) [ ]

∈+−+−+−=∈+−+−+−=

=21111

211

3111

100002

003

000

x,xx dxxcxxbxxaxS

x,xx dxxcxxbxxaxS)x(S

( ) ( ) ( ) ( ) [ ]( ) [ ]

∈+++=−∈++++++=

=1 ,0x dxcxbxaxS

0 ,1x d1xc1xb1xaxS)x(S

112

13

11

002

03

00

( ) ( ) ( ) [ ]( ) [ ]

∈++=−∈++++=

=1 ,0x cxb2xa3x'S

0 ,1x c1xb21xa3x'S)x(' S

112

11

002

00

( ) ( ) [ ]( ) [ ]

∈+=−∈++=

=1 ,0x b2xa6x''S

0 ,1x b21xa6x''S)x('' S

111

000

Imponemos las 4n - 2 = 6 condiciones para que sea un spline cúbico:

( )( )( )( )( ) ( )( ) ( )

==+===++=

=+++===

=+++===−

11000

110000

11111

11

00000

00

b20''Sb2a60''S

c0'Scb2a30'S

9dcba1S

7d0S

7dcba0S

13d1S

Además, por tratarse de un spline natural, ha de verificarse:

( )( )

=+===−

0b2a61''S

0b21''S

111

00

ix -1 0 1

iy 13 7 9

Page 8: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 8

Los coeficientes del spline son, por tanto, las soluciones del sistema lineal:

0 0

0 0

0 0

0 0

1

1

1

1

0 0 0 1 0 0 0 0 13

1 1 1 1 0 0 0 0 7

0 0 0 0 0 0 0 1 7

0 0 0 0 1 1 1 1 9

3 2 1 0 0 0 1 0 0

6 2 0 0 0 2 0 0 0

0 2 0 0 0 0 0 0 0

0 0 0 0 6 2 0 0 0

a ab bc cd da abcd

= ⇒ −

1

1

1

1

2

0

8

13

2

6

2

7

bcd

− = ⇒ − −

( ) ( ) [ ][ ]

∈+−+−

−∈++−+=

1 ,0x 7x2x6x2

0 ,1x 131x81x2)x(S

23

3

b) Por ser un spline natural, se verifica: ( )( )

===−=01'' Sr

01'' Sr

2

0

El sistema tridiagonal tiene n-1 = 1 ecuación con una incógnita, que es ( )0'' Sr1 = :

00

01110 r

6

heer

3

hh−−=

+ ,

siendo 1h i = , 610

137

xx

yye

01

010 −=

+−

=−−

= , 201

79

xx

yye

12

121 =

−−

=−−

= . Sustituyendo:

( ) ( )0'' S12r806

162r

3

211 ==⇒=−−−=

El spline tiene por ecuación:

( ) ( ) ( ) ( ) [ ]( ) [ ]

∈+++=−∈++++++=

=1 ,0x dxcxbxaxS

0 ,1x d1xc1xb1xaxS)x(S

112

13

11

002

03

00 ,

siendo: i

i1ii h6

rra

−= + ,

2

rb i

i = , ii1i

i

i1ii h

3

r

6

r

h

yyc

+−

−= ++ , ii yd = .

26

rra 01

0 =−

= , 02

rb 0

0 == , 8h3

r

6

r

h

yyc 0

01

0

010 −=

+−

−= , 13yd 00 == ;

26

rra 12

1 −=−

= , 62

rb 1

1 == , 2h3

r

6

r

h

yyc 1

12

1

121 −=

+−

−= , 7yd 11 == .

( ) ( ) [ ][ ]

3

3 2

2 x 1 8 x 1 13 x 1, 0S(x)

2x 6x 2x 7 x 0, 1

+ − + + ∈ −= − + − + ∈

.

Page 9: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 9

c) Utilizamos la función “spline” de Matlab para calcular el spline “no nodo”:

>> x=[-1 0 1]; >> y=[13 7 9]; >> spline(x,y) ans = form: 'pp' breaks: [-1 1] coefs: [4 -10 13] pieces: 1 order: 3 dim: 1 Como en el spline no nodo los polinomios de los dos primeros intervalos son el mismo, se trata simplemente del polinomio interpolador de grado 2. Los coeficientes vienen dados

por el campo “coefs” de la respuesta: ( ) ( ) 131x101x4 2 ++−+ . Representamos el polinomio con Matlab:

>> xx=-1:0.2:1;

>> yy=spline(x,y,xx);

>> plot(x,y,’*’,xx,yy)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 16

7

8

9

10

11

12

13

d) Utilizamos de nuevo la misma función de Matlab, “spline”, añadiendo las dos

condiciones del spline completo:

>> x=[-1 0 1]; >> y=[13 7 9];

>> xx=-1:0.2:1; >> zz=spline(x,[-5 y 5],xx);

>> plot(x,y,’*’,xx,zz)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 16

7

8

9

10

11

12

13

Page 10: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 10

2.- Se quiere construir la línea fronteriza entre dos poblaciones a partir de los datos que

figuran en la siguiente tabla:

ix 0 1 2 3 4 5 6 7

iy 0 25 34 72 115 92 71 65

a) Calcular el polinomio de interpolación que pasa por todos los puntos. Hallar la

ordenada del punto de abscisa 2.5. Representar los datos junto al polinomio que

los interpola, que definiría la frontera entre las poblaciones.

b) Utilizar un spline no nodo para perfilar la frontera. Hallar la ordenada del punto

de la misma de abscisa 2.5. Representar los datos junto al spline que los interpola

en la misma ventana de dibujo que el apartado a).

c) Utilizar un spline natural para perfilar la curva de separación entre las

poblaciones.

Solución: a) >> x=[0:7]; >> y=[0 25 34 72 115 92 71 65]; >> polyfit(x,y,7) ans = Columns 1 through 6 -0.1079 2.4944 -22.1222 93.9861 -195.3722 181.5194

Columns 7 through 8 -35.3976 -0.0000 >> polyval(ans,2.5) ans = 47.3867 >> % obien: >> p=polyfit(x,y,7); >> polyval(p,2.5)

ans = 47.3867 >> % Dibujo: >> hold on >> xx=0:0.2:7; >> yy=polyval(p,xx); >> plot(x,y,'*',xx,yy)

0 1 2 3 4 5 6 7-20

0

20

40

60

80

100

120

Page 11: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 11

b) >> % Spline no nodo >> x=[0:7]; >> y=[0 25 34 72 115 92 71 65]; >> ppval(spline(x,y),2.5) ans = 48.8484 >> % o bien: >> spline(x,y,2.5) ans = 48.8484 >> % Dibujo: >> xx=0:0.2:7; >> zz=spline(x,y,xx); >> plot(x,y,'*',xx,zz)

0 1 2 3 4 5 6 7-20

0

20

40

60

80

100

120

>> hold off

c) Utilizar un spline natural para perfilar la curva de separación entre poblaciones.

n = 7, r0 = S’’(0) = 0, r7 = S’’(7) = 0.

Sistema tridiagonal para calcular ri, = S’’(xi) , i = 1, …, 6:

Page 12: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 12

0 1 1

01 1 2 21 0 0

1

2 2 12 3 32

3 3 2

43 3 4 4 34

5 5 4

4 5 54 6 66 5 7

5 5 6

0 0 0 03 6

0 0 0 66 3 6

0 0 06 3 6

0 0 06 3 6

0 0 06 3 6 6

0 0 0 06 3

h h h

hh h h h e e rrr e eh h hhr e erh h h e ehr e e

h h hh r he e r

h h h

+ + − − −+

− = + − − + − −

+

i1ii xxh −= + = 1, i = 0, …, 6.

i1i

i1ii xx

yye

−−

=+

+ , i = 0, …, 6

ix 0 1 2 3 4 5 6 7

iy 0 25 34 72 115 92 71 65

ie 25 9 38 43 -23 -21 -6

1

2

3

4

5

6

2 10 0 0 0

3 61 2 1

0 0 0 166 3 6291 2 1

0 0 056 3 6

1 2 1 660 0 0

6 3 6 21 2 1 150 0 06 3 6

1 20 0 0 0

6 3

rrrrrr

− ⇔ = ⇔ −

1 1

2 2

3 3

4 4

5 5

6 6

35.61254 1 0 0 0 0 96

46.45001 4 1 0 0 0 174

23.81240 1 4 1 0 0 30

111.69980 0 1 4 1 0 396

26.98660 0 0 1 4 1 12

15.75330 0 0 0 1 4 90

r rr rr rr rr rr r

= −− = == ⇒ = −− = =

Page 13: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 13

A partir de las derivadas segundas se calculan los coeficientes del spline:

i

i1ii h6

rra

−= + ,

2

rb i

i = , ii1i

i

i1ii h

3

r

6

r

h

yyc

+−

−= ++ , ii yd = , i = 0, …, 6

tales que ( ) ( ) ( ) ( ) iii2

ii3

iii dxxcxxbxxaxS +−+−+−= , [ ]1ii x,xx +∈ ,

i = 0, …, 6.

Se obtiene el spline:

( ) 30 5.9354 30.9354S x x x= − +

( ) ( ) ( ) ( )3 2

1 13.6771 1 17.8063 1 13.1292 1 25S x x x x= − − − + − +

( ) ( ) ( ) ( )3 2

2 3.7729 2 23.2250 2 18.5479 2 34S x x x x= − − + − + − +

( ) ( ) ( ) ( )3 2

3 22.5854 3 11.9062 3 53.6791 3 72S x x x x= − − + − + − +

( ) ( ) ( ) ( )3 2

4 23.1144 4 55.8499 4 9.7355 4 115S x x x x= − − − + − +

( ) ( ) ( ) ( )3 2

5 1.8722 5 13.4933 5 32.6211 5 92S x x x x= − − + − − − +

( ) ( ) ( ) ( )3 2

6 2.6256 6 7.8767 6 11.2511 6 71S x x x x= − − + − − − +

Page 14: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 14

3.- Un robot debe tomar un objeto situado en la posición 1 y dejarlo en la posición 6 del

recinto esquematizado en la figura. Para ello recorre una trayectoria definida por los

puntos de la tabla, que tratan de evitar los obstáculos del recinto.

Paso 1 2 3 4 5 6

x 1 1 4 4 7 7

y 1 4 4 1 1 4

La trayectoria se obtiene interpolando los puntos dados ( )kk y,x mediante funciones p y q

tales que (p(t), q(t)) es la posición del brazo en el instante t [ ]1,0∈ y (p(tk), q(tk)) =

( )kk y,x , siendo tk = 0.2 k, k = 0,1,…,5. Representar gráficamente la trayectoria obtenida

si p y q son: a) Los polinomios de interpolación de ( )kk x,t y ( )kk y,t , respectivamente.

b) Splines “no nodo”.

c) Splines tales que la velocidad inicial y final del robot es 0.

d) Splines tales que la aceleración inicial y final del robot es 0.

¿En qué casos la trayectoria no choca contra los obstáculos ni las paredes del recinto?

Solución: a) >> %Interpolamos las abscisas: >> t=0:0.2:1; >> x=[1 1 4 4 7 7]; >> p=polyfit(t,x,5) p = 1.0e+003 * -0.6250 1.5625 -1.3750 0.5000 -0.0565 0.0010 >> %Interpolamos las ordenadas: >> y=[1 4 4 1 1 4]; >> q=polyfit(t,y,5) q = -312.5000 781.2500 -625.0000 156.2500 3.0000 1.0000 >> %Representamos conjuntamente la trayectoria: >> tt=0:0.01:1; >> xx=polyval(p,tt); >> yy=polyval(q,tt); >> plot(x,y,'*',xx,yy)

1

2 3

4 5

6

Page 15: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 15

-1 0 1 2 3 4 5 6 7 8 90

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

b)

>> % Splines no nodo >> tt=0:0.01:1; >> xx=spline(t,x,tt); >> yy=spline(t,y,tt); >> plot(x,y,'*',xx,yy)

-1 0 1 2 3 4 5 6 7 8 90

0.5

1

1.5

2

2.5

3

3.5

4

4.5

c) >> % El interpolante pedido es el spline completo o de frontera sujeta >> %en el que la derivada primera en los extremos es nula. >> %Se obtiene con la orden "spline", añadiendo los valores de la >> %derivada al vector de “imágenes". >> tt=0:0.01:1; >> xx=spline(t,[0 x 0],tt);

Page 16: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 16

>> yy=spline(t,[0 y 0],tt); >> plot(x,y,'*',xx,yy)

0 1 2 3 4 5 6 7 80

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

d) El spline pedido es el spline natural cuya derivada segunda se anula en los extremos

del intervalo.

Para calcularlo hay que resolver un sistema tridiagonal del tipo al utilizado en el ejercicio

2 apartado c). Saldría una gráfica muy similar a la del spline completo.

¿En qué casos la trayectoria no choca contra los obstáculos ni las paredes del recinto?

En el caso a) la trayectoria se sale de los límites del recinto.

El spline no nodo roza ligeramente las paredes del recinto.

Los splines con condiciones sobre la primera (spline completo) o segunda derivada (spline

natural) en los extremos se comportan mucho mejor, quedando alejados en todo momento de

los bordes y los obstáculos del recinto.

Page 17: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 17

4.- Dada la tabla de valores:

a) Hallar el polinomio de Lagrange que interpola estos datos.

b) Hallar el polinomio de Hermite que interpola estos datos.

c) Representar los dos polinomios anteriores y comentar el resultado.

Solución:

a) El polinomio de Lagrange que interpola estos tres datos puede hallarse:

1) Con Matlab:

>> x=[0 1 3];

>> y=[1 5 -17];

>> polyfit(x,y,2)

ans = -5.0000 9.0000 1.0000 ( coeficientes del polinomio)

El polinomio pedido es:

P(x) = ‐5 x2+ 9 x + 1

2) A mano:

P(x) = L0(x) f(x0)+ L1(x) f(x1)+ L2(x) f(x2) =

= ‐5 x2+ 9 x + 1

b) Polinomio de Hermite:

Su grado es 2 n + 1 = 5

H(x) = a0 + a1 (x‐z0) + a2 (x‐z0)(x‐z1) + a3 (x‐z0) (x‐z1) (x‐z2) + a4 (x‐z0) (x‐z1) (x‐z2) (x‐z3) +

+ a5 (x‐z0) (x‐z1) (x‐z2) (x‐z3)(x‐z4)

x 0 1 3

f (x) 1 5 -17

f ’(x) 3 5 -15

21202

101

2101

200

2010

21 y)xx)(xx(

)xx)(xx(y

)xx)(xx(

)xx)(xx(y

)xx)(xx(

)xx)(xx(

−−−−

+−−−−

+−−−−

=

)17()13)(03(

)1x)(0x(5

)31)(01(

)3x)(0x(1

)30)(10(

)3x)(1x(−

−−−−

+−−−−

+−−−−

=

Page 18: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 18

z f(z) 1ª dif. divididas 2ª dif. divididas 3ª dif. divididas 4ª dif. divididas 5ª dif. divididas

z0=x0=0 f(z0)=f(x0)=1

z1=x0=0 f(z1)=f(x0)=1 f[z0, z1]=f '(x0)=3

z2=x1=1 f(z2)=f(x1)=5 f[z1, z2]=4 f[z0, z1, z2]=1

z3=x1=1 f(z3)=f(x1)=5 f[z2, z3]=f '(x1)=5 f[z1, z2, z3]=1 f[z0, z1, z2, z3]=0

z4=x2=3 f(z4)=f(x2)=-17 f[z3, z4]=-11 f[z2, z3, z4]=-8 f[z1, z2, z3, z4]=-3 f[z0, z1, z2, z3, z4]= ‐1

z5=x2=3 f(z5)=f(x2)=-17 f[z4, z5]=f '(x2)=-15 f[z3, z4, z5]=-2 f[z2, z3, z4, z5]=3 f[z1, z2, z3, z4, z5]=2 f[z0, …, z5]=1

Page 19: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 19

Obteniéndose los coeficientes: a0 = 1, a1 = 3, a2 = 1, a3 = 0, a4 = ‐1, a5 = 1, de donde:

H(x) = 1 + 3 x + x2 - x2 (x-1)2 + x2 (x-1)2 (x-3) = x5 – 6x4 + 9x3 – 3x2 + 3x + 1

c) Gráfico de ambos polinomios:

>> x=[0 1 3];

>> y=[1 5 -17];

>> polyfit(x,y,2)

ans =

-5.0000 9.0000 1.0000

>> xx=[0:0.1:3];

>> yy=polyval(ans,xx);

>> plot(x,y,'*',xx,yy)

>> hold on

>> H=[1 -6 9 -3 3 1];

>> polyval(H,xx);

>> zz=polyval(H,xx);

>> plot(x,y,'*',xx,zz,'- -')

La curva en trazo continuo corresponde a la gráfica del polinomio de Lagrange. La de trazo

discontinuo a la del polinomio de Hermite.

Ambas curvas pasan por los puntos (xi, f(xi)) dados; pero, el polinomio de Hermite cumple

además en cada uno de los tres nodos que H’(xi) = f ’(xi), con lo que tiene en común con la

función la pendiente de la recta tangente en esos puntos y, por tanto, la forma de la gráfica es

más parecida; H(x) es una mejor aproximación de la función.

0 0.5 1 1.5 2 2.5 3-20

-15

-10

-5

0

5

10

Page 20: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 20

5.- Se consideran los valores de la función y = arc tg x en los nodos x = -3, -2, …, 2, 3.

a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función.

b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos -2 y

2 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual que las

dos últimas).

c) Compara ambas aproximaciones. Solución:

a) El interpolante pedido en este apartado es el spline completo, que se obtiene con la

orden “spline” de Matlab, añadiendo a las ordenadas los valores de la derivada de la

función en los nodos inicial y final.

0.1(3)y' ,1.0)3('yx1

1)x('y

2==−⇒

+=

x0 x1 x2 x3 x4 x5 x6

-3 -2 -1 0 1 2 3 >> x=-3:3; >> y=atan(x); >> ps=spline(x,[0.1 y 0.1]); Los coeficientes de cada pieza del spline están dados en la siguiente matriz: >> ps.coefs ans = -0.0011 0.0430 0.1000 -1.2490 0.0994 0.0397 0.1827 -1.1071 -0.1126 0.3378 0.5602 -0.7854 -0.1126 -0.0000 0.8980 0 0.0994 -0.3378 0.5602 0.7854 -0.0011 -0.0397 0.1827 1.1071 Dibujamos la función (trazo continuo rojo) y el polinomio segmentario (trazo discontinuo verde): >> xx=-3:0.1:3;

>> yy=ppval(ps,xx);

>> plot(x,y,'*',xx,atan(xx))

>> hold on

>> plot(x,y,'*',xx,yy,'--')

-3 -2 -1 0 1 2 3

-1.5

-1

-0.5

0

0.5

1

1.5

Page 21: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 21

b) Se trata de calcular el spline no nodo, con la función spline de Matlab:

>> psnn=spline(x,y);

Los coeficientes de cada pieza del spline están dados en la siguiente matriz: >> psnn.coefs ans = 0.0784 -0.1454 0.2089 -1.2490 0.0784 0.0899 0.1534 -1.1071 -0.1084 0.3253 0.5686 -0.7854 -0.1084 0 0.8938 0 0.0784 -0.3253 0.5686 0.7854 0.0784 -0.0899 0.1534 1.1071

Dibujamos la función (trazo continuo rojo) y el spline no nodo (trazo discontinuo verde):

>> xx=-3:0.1:3;

>> plot(x,y,'*',xx,atan(xx))

>> hold on

>> yynn=ppval(psnn,xx);

>> plot(x,y,'*',xx,yynn,'--')

c) Diferencia entre la función y cada uno de los interpoladores (trazo continuo la

diferencia con el spline no nodo y discontinuo con el completo):

>> xx=-3:0.1:3;

>> dif1=atan(xx)-ppval(ps,xx);

>> dif2=atan(xx)-ppval(psnn,xx);

>> plot(xx,dif1,':');hold on

>> plot(xx,dif2)

Se observa en la figura que la

diferencia máxima con ambos

splines es muy similar. El spline

completo se adapta mejor en el

sentido de que en las piezas extremas tiene la misma convexidad que la función.

-3 -2 -1 0 1 2 3-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

-3 -2 -1 0 1 2 3-1.5

-1

-0.5

0

0.5

1

1.5

Page 22: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 22

6.- La tabla siguiente refleja la demanda de energía eléctrica en España cada dos horas

de un día de invierno.

Hora 0 2 4 6 8 10 12

MW 31250 28000 26000 26000 34000 37500 38000

Hora 14 16 18 20 22 24

MW 35500 34500 38500 39500 36500 33000

a) Hallar el polinomio de grado 12 que interpola los valores dados. Analizar el

comportamiento del polinomio de interpolación.

b) Se propone mejorar la interpolación dividiendo el intervalo en dos, de 0 a 12 y de

12 a 24, y hallando un polinomio para cada intervalo. Representar los polinomios

obtenidos y comparar el resultado con el del apartado anterior.

c) Interpolar los datos con un spline cúbico y comparar con los ajustes anteriores. Solución:

a) Utilizamos la función polyfit de Matlab:

>> h=[0:2:24];

>> MW=[31250 28000 26000 26000 34000 37500 38000 35500 34500 38500 39500 36500

33000];

>> p=polyfit(h,MW,12)

Avisa Matlab:

Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the

degree of the polynomial, or try centering and scaling as described in HELP POLYFIT. In

polyfit at 80.

Ocurre que los coeficientes del polinomio buscado varían mucho en magnitud unos de otros:

>> format long

>> p=polyfit(h,MW,12)

Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the

degree of the polynomial, or try centering and scaling as described in HELP POLYFIT. In

polyfit at 80

p =

1.0e+005 *

Columns 1 through 2

0.000000000003194 -0.000000000491669

Columns 3 through 4

0.000000033422949 -0.000001320675776

Columns 5 through 6

Page 23: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 23

0.000033588279532 -0.000574933611469

Columns 7 through 8

0.006723751451460 -0.053355005873978

Columns 9 through 10

0.278829344344224 -0.901583331723715

Columns 11 through 12

1.596506887689424 -1.162227227277939

Column 13

0.312500000735327

Efectivamente se obtiene un polinomio cuyos coeficientes varían mucho de escala:

p(t) = −+−+⋅−⋅ −− 8910115127 x35883.3 x132068.0x 00334229.0x1091669.4x1019446.3

31250 x116223 x159651 x3.90158 x9.27882 x5.5335 x375.672 x4934.57 234567 +−+−+−+−Lo dibujamos junto con los nodos:

>> hh=0:0.1:24;

>> MMW=polyval(p,hh);

>> plot(h,MW,'*',hh,MMW)

Presenta oscilaciones en los

extremos del intervalo, particularmente en el izquierdo, como se observa en la figura.

b) Interpolamos dos polinomios dividiendo el intervalo por la mitad:

>> p1=polyfit(h(1:7),MW(1:7),6)

p1 =

1.0e+004 *

Columns 1 through 3

0.000122070312500 -0.004280598958333 0.055240885416664

Columns 4 through 6

-0.321158854166649 0.848958333333274 -0.953124999999938

Column 7

3.125000000000038

0 5 10 15 20 250

0.5

1

1.5

2

2.5

3

3.5

4x 10

4

Page 24: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 24

>> p2=polyfit(h(7:13),MW(7:13),6)

Warning: Polynomial is badly conditioned. Add points with distinct X

values, reduce the degree of the polynomial, or try centering

and scaling as described in HELP POLYFIT.

> In polyfit at 80

p2 =

1.0e+007 *

Columns 1 through 3

-0.000000045572917 0.000005130208333 -0.000237499999996

Columns 4 through 6

0.005780208333237 -0.077911770832061 0.550972083324486

Column 7

-1.592449999974678

Hacemos la gráfica con Matlab:

>> hh1=0:0.1:12;

>> MMW1=polyval(p1,hh1);

>> hh2=12:0.1:24;

>> MMW2=polyval(p2,hh2);

>>

plot(h,MW,'*',hh1,MMW1,':',hh2,

MMW2,'-')

Los sistemas a resolver en este caso

no son tan mal condicionados.

Casualmente la unión de los dos

subintervalos es “suave”.

c) Ajustemos un polinomio segmentario cúbico:

Al tratarse de datos experimentales no tenemos información acerca de las derivadas, por lo

que utilizamos un spline no nodo.

>> ps=spline(h,MW);

>> s=ps.coefs

s =

1.0e+004 *

Columns 1 through 3

-0.004723596507750 0.043966579046499 -0.231538772061998

0 5 10 15 20 252.4

2.6

2.8

3

3.2

3.4

3.6

3.8

4x 10

4

Page 25: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 25

-0.004723596507750 0.015625000000000 -0.112355613969001

0.032992982538749 -0.012716579046499 -0.106538772061998

-0.052248333647246 0.185241316185995 0.238510702216994

0.019750352050235 -0.128248685697481 0.352495963194022

-0.008003074553693 -0.009746573396072 0.076505445006917

0.012261946164539 -0.057765020718232 -0.058517743221691

0.015205289895539 0.015806656269000 -0.142434472120155

-0.029333105746693 0.107038395642232 0.103255631702309

0.002127133091235 -0.068960238837929 0.179411945310917

0.008324573381753 -0.056197440290518 -0.070903412945976

0.008324573381753 -0.006250000000000 -0.195798293527012

Column 4

3.125000000000000

2.800000000000000

2.600000000000000

2.600000000000000

3.400000000000000

3.750000000000000

3.800000000000000

3.550000000000000

3.450000000000000

3.850000000000000

3.950000000000000

3.650000000000000

>> MWs=ppval(ps,hh);

>> plot(h,MW,'*',hh,MWs)

>>

0 5 10 15 20 252.5

3

3.5

4x 10

4

Los coeficientes del spline están mejor escalados que los del polinomio y la gráfica sugiere

una evolución más razonable de la demanda eléctrica.

Page 26: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 26

7.- Dada la tabla de valores (funciones de Bessel):

a) Comparar las aproximaciones de f(1.5) utilizando polinomios de interpolación de grado 1, 2, 3 y 4. b) Sabiendo que f(1.5) = 0.5118277, ¿con qué polinomio se ha obtenido la mejor aproximación? Solución: a) Polinomio de interpolación de grado1: p1

Como 1.5 se encuentra entre los nodos x1 y x2, utilizamos éstos para la interpolación lineal: >> format long >> x=[1.3 1.6]; >> y=[0.620086 0.4554022]; >> p1=polyfit(x,y,1) p1 = -0.548946000000001 1.333715800000002 >> polyval(p1,1.5) ans = 0.510296800000000

Polinomio de interpolación de grado 2. Con los nodos x0 , x1 y x2: p2a

>> x=[1 1.3 1.6]; >> y=[0.7651977 0.620086 0.4554022]; >> p2a=polyfit(x,y,2) p2a = -0.108733888888888 -0.233617722222224 1.107549311111114 >> polyval(p2a,1.5) ans = 0.512471477777778

Con los nodos x1 , x2 y x3: p2b

>> x=[1.3 1.6 1.9]; >> y=[0.620086 0.4554022 0.2818186]; >> p2b=polyfit(x,y,2) P2b = -0.049443333333334 -0.405560333333330 1.230873666666664 >> polyval(p2b,1.5) ans = 0.511285666666667

Polinomio de interpolación de grado 3. Con los nodos x0, x1 , x2 y x3: p3a

>> x=[1 1.3 1.6 1.9]; >> y=[0.7651977 0.620086 0.4554022 0.2818186]; >> p3a=polyfit(x,y,3) P3a = 0.065878395061728 -0.365659629629624 0.094456685185174 0.970522249382723 >> polyval(p3a,1.5) ans = 0.511812693827161

Polinomio de interpolación de grado 3. Con los nodos x1 , x2 , x3 y x4: p3b

>> x=[1.3 1.6 1.9 2.2]; >> y=[0.620086 0.4554022 0.2818186 0.11036]; >> p3b=polyfit(x,y,3) P3b = 0.068054320987657 -0.376104074074088 0.110971962962986 0.961922990123445

x0 x1 x2 x3 x4

x 1 1.3 1.6 1.9 2.2 f (x) 0.7651977 0.620086 0.4554022 0.2818186 0.11036

Page 27: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 27

>> polyval(p3b,1.5) ans = 0.511830101234568

Polinomio de interpolación de grado 4: p4

>> x=[1 1.3 1.6 1.9 2.2]; >> y=[0.7651977 0.620086 0.4554022 0.2818186 0.11036]; >> p4=polyfit(x,y,4) = 0.001813271604944 0.055361419753045 -0.343193194444342 0.073527904320876 0.977688298765476 >> polyval(p6,1.5) ans = 0.511819946913580

b) Sabiendo que f(1.5) = 0.5118277, los errores reales cometidos han sido:

Con p1: >> abs(0.7848-0.5118277) ans = 0.272972300000000

Con p2a:

>> abs(0.512471477777778-0.5118277) ans = 6.437777777780207e-004 = 0.000643777777778

Con p2b:

>> abs(0.511285666666667-0.5118277) ans = 5.420333333330252e-004 = 0.000542033333333

Con p3a:

>> abs(0.511812693827161-0.5118277) ans = 1.500617283900496e-005 = 0.000015006172839

Con p3b:

>> abs(0.511830101234568-0.5118277) ans = 2.401234567961375e-006 = 0.000002401234568

Con p4:

>> abs(0.511819946913580-0.5118277) ans = 7.753086419981514e-006 = 0.000007753086420

Por tanto, la mejor aproximación es p3b(1.5) con el polinomio de grado 3. Si no se hubiera conocido el valor real de f(1.5), se hubiera aceptado p4(1.5) como mejor aproximación.

Page 28: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 28

8.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = tg (x):

ix 4

−π

0

4

π

iy -1 0 1

d) Calcular el correspondiente polinomio de interpolación, aplicando la definición. e) Calcular a mano el polinomio de Newton con la fórmula de las diferencias

divididas.

f) Interpolar el valor de f en 8

π.

Solución: a) Al tener 3 nodos, el polinomio de interpolación será de grado 2 y ha de pasar por los

tres puntos:

( )

( )

22 2 1 0

2

2 2 1 0

2 0

2

2 2 1 0

14 16 4

0 0

14 16 4

= + +

π π π − = + − + = −

= =

π π π = + + =

P x a x a x a

P a a a

P a

P a a a

Por tanto, para hallar los coeficientes del polinomio, hay que resolver el sistema:

( )

2

2 2

1 1 2

20 0

01116 4

4 40 0 1 1

101

16 4

a aa a P x xa a

π π− − = ⇔ = ⇒ = ≈ π π π π

1.2732x

Comprobación con Matlab:

>> x=[-pi/4 0 pi/4];

>> y=[-1 0 1];

>>p= polyfit(x,y,2)

ans =

0 1.2732 0

b) Fórmula de las diferencias divididas de Newton:

( ) [ ] [ ]( ) [ ]( )( )2 0 0 1 0 0 1 2 0 1, , ,= + − + − −P x f x f x x x x f x x x x x x x

Page 29: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 29

xi f(xi) Dif. Div. de orden1 Dif. Div. de orden2

x0 =4

−π

f [x0] = -1

1 0

0 11 0

[ ] [ ][ , ]

−= =

−f x f xf x x

x x4π

x1 = 0 f [x1] = 0 1 2 0 1

0 1 22 0

[ , ] [ , ][ , , ]

−= =

−f x x f x xf x x x

x x0

2 11 2

2 1

[ ] [ ] 4[ , ]

−= =

−f x f xf x x

x x π

x2 = 4

π f [x2] = 1

Luego, ( ) ( )2

40 1

4 4 4

π π π = + + + + − = − + + π P x x x x x4

-1 0π

c) 2

4 1

8 8 2

π π = ⋅ = π P

Con Matlab:

>> p=polyfit(x,y,2);

>> polyval(p,pi/8)

ans = 0.5000

Page 30: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 30

9.- Para la función f(x) = tg (x), se considera la tabla de valores:

ix 3

−π

4

−π

6

−π

0

6

π

4

π

3

π

iy 3− -1 3

3−

0 3

3

1 3

d) Hallar el polinomio de interpolación correspondiente a estos datos. e) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función. f) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos

4−π

y 4

π (es decir, las dos primeras piezas del spline son el mismo polinomio, al

igual que las dos últimas).

Solución:

a) Polinomio de interpolación de grado 6 (puesto que hay 7 nodos):

>> x=[-pi/3 -pi/4 -pi/6 0 pi/6 pi/4 pi/3];

>> y=[-sqrt(3) -1 -(sqrt(3))/3 0 (sqrt(3))/3 1 (sqrt(3))];

>> p=polyfit(x,y,6)

p = 0.0000 0.3597 -0.0000 0.1773 0.0000 1.0270 0.0000

Luego, el polinomio de interpolación es:

p (x)= 0.0000 x6 + 0.3597 x5 - 0.0000 x4 + 0.1773 x3 + 0.0000 x2 + 1.0270 x

b) Se trata de un spline completo:

( )

22

2

22

1 1'( ) 4

3 1cos ( )3 21

'( ) '1 1cos

'( ) 43 1cos ( )

3 2

− = = = − = = ⇒ = = =

f

f x tgxx f

ππ

ππ

>> sc=spline(x,[4 y 4])

sc =

form: 'pp'

breaks: [-1.0472 -0.7854 -0.5236 0 0.5236 0.7854 1.0472]

coefs: [6x4 double]

pieces: 6

order: 4

dim: 1

>> sc.coefs

ans =

Page 31: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 31

5.5340 -6.0469 4.0000 -1.7321

1.2815 -1.7005 1.9718 -1.0000

0.4418 -0.6939 1.3449 -0.5774

0.4418 -0.0000 0.9815 0

1.2815 0.6939 1.3449 0.5774

5.5340 1.7005 1.9718 1.0000

Luego, el spline completo es:

( )3

0

2

5.5340 6.0469 4.0000 1.732 ,3 3 3 3 4

1, x = + + + −

− + − ∈ − S x x x xπ π π π π

( )3 2 3

1 1.2815 1.7005 1 ,4 4 4

.9718 1.0000, 6

x4

= + + + −

− + − ∈ − S x x x xπ π π π π

( )3 2

2 0.4418 0.6939 1 .3 ,06 6

449 6 6

0.5774, x − + = + + + −

− ∈ S x x x xπ π π π

( ) 3 23 0.4418 0.0 0,

6000 0.9815 , x= + − ∈

S x x x x π

( )3 2

4 1.2815 0.6939 1 .3449 0.5774 ,6 6 6 6

, x4

= − + − + − +

∈ S x x x xπ π π π π

( )3 2

5 5.5340 1 .7005 1 .9718 1 .000 ,4 4 4 4 3

0, x = − + − + − +

∈ S x x x xπ π π π π

c) Se pide el spline no nodo:

>> sn=spline(x,y)

sn =

form: 'pp'

breaks: [-1.0472 -0.7854 -0.5236 0 0.5236 0.7854 1.0472]

coefs: [6x4 double]

pieces: 6

order: 4

dim: 1

>> sn.coefs

ans =

2.1084 -3.9131 3.6762 -1.7321

2.1084 -2.2571 2.0608 -1.0000

0.3827 -0.6012 1.3125 -0.5774

0.3827 0.0000 0.9977 0

2.1084 0.6012 1.3125 0.5774

2.1084 2.2571 2.0608 1.0000

Page 32: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 32

Luego, el spline no nodo es:

( )3

0

2

2.1084 3.9131 3.6762 1.732 ,3 3 3 3 4

1, x = + + + −

− + − ∈ − S x x x xπ π π π π

( )3 2 3

1 2.1084 2.2571 ,4 4 4

2.0608 1.0000, 6

x4

= + + + −

− + − ∈ − S x x x xπ π π π π

( )3 2

2 0.3827 0.6012 1.3125 0.5774, x

,06

6

6

6

= + + + −

− + − ∈ S x x x xπ π π π

( ) 3 23 0.3827 0.0000 0.9977 , x 0,

6= + − ∈

S x x x x π

( )3 2

4 2.1084 0.6012 1 .3125 0.5774, x ,6 6 6 6 4

= − + − + − +

S x x x xπ π π π π

( )3 2

5 2.1084 2.2571 2.0608 1 .000 ,4 4 4 4 3

0, x = − + − + − +

∈ S x x x xπ π π π π

Page 33: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 33

10.- Para la tabla de valores:

ix 1 2 3 4 5 6 7 8 9 10

iy 2 6 5 10 67 45 23 5 9 1

a) Hallar el polinomio de interpolación. b) Hallar un spline no nodo para estos datos. c) Dibujar los dos polinomios en la misma ventana de dibujo. Comentar el resultado.

Solución: a) Polinomio de interpolación de grado 9 (puesto que hay 10 nodos):

>> x=[1:10];

>> y=[2 6 5 10 67 45 23 5 9 1];

>> p=polyfit(x,y,9)

Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the

degree of the polynomial, or try centering and scaling as described in HELP POLYFIT.

> In polyfit at 75

p = 1.0e+04 *

-0.0000 0.0001 -0.0012 0.0141 -0.1040 0.4846 -1.4110 2.4463 -2.2596

0.8308

Luego, el polinomio de interpolación es:

p (x)= -0.0000 x9 + 0.0001 x8 - 0.0012 x7 + 0.0141 x6 - 0.1040 x5 + 0.4846 x4 - 1.4110 x3 +

2.4463 x2 -2.2596 x + 0.8308

b) Spline no nodo:

>> sn=spline(x,y)

sn =

form: 'pp'

breaks: [1 2 3 4 5 6 7 8 9 10]

coefs: [9x4 double]

pieces: 9

order: 4

dim: 1

>> sn.coefs

ans =

-2.5916 5.2748 1.3168 2.0000

-2.5916 -2.5000 4.0916 6.0000

23.9580 -10.2748 -8.6832 5.0000

-47.2405 61.5993 42.6412 10.0000

34.0041 -80.1223 24.1182 67.0000

Page 34: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 34

-9.7757 21.8899 -34.1142 45.0000

9.0989 -7.4373 -19.6616 23.0000

-8.6198 19.8593 -7.2396 5.0000

-8.6198 -6.0000 6.6198 9.0000

Los coeficientes anteriores de cada tramo del spline Si, son coeficientes de las potencias de

(x-xi), i=0,…, 8.

Escribimos, por ejemplo, el primero de ellos:

( ) ( ) ( ) ( ) [ ]3

0

22.5916 5.2748 1 .3168 1 1 1 2. 1,20000, x= − + − − +− + ∈S x x x x

c) Gráficas en la misma ventana:

>> xx=[1:0.1:10];

>> yy=polyval(p,xx);

>> plot(xx,yy)

>> hold on

>> plot(x,y,'*')

>> zz=ppval(sn,xx);

>> plot(xx,zz,'--')

Con el spline se han evitado las fluctuaciones del polinomio de interpolación que se producían

debido al grado elevado del polinomio, sobre todo en los subintervalos de los extremos.

1 2 3 4 5 6 7 8 9 10-150

-100

-50

0

50

100

150

Page 35: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 35

11.- A lo largo de un día se han recogido los siguientes datos de temperaturas:

Hallar el polinomio de Newton que se ajusta a los tres nodos.

Solución: x f[x0] Dif. Div. de orden 1 Dif. Div. de orden 2

10 7

(17-7)/(13-10)=10/3

13 17 (-3/2-10/3)/(17-10)= -29/42

(11-17)/(17-13)=-3/2

17 11

Luego el polinomio de Newton pedido es:

0 0 1 0 0 1 2 0 1( ) ( ) [ , ]( ) [ , , ]( )( )

10 297 ( 10) ( 10)( 13)

3 42

= + − + − − =

= + − − − − =

P n f x f x x x x f x x x x x x x

x x x

229 269 2438

42 14 21− − +x x

Hora 10 13 17

Temp. ºC 7 17 11

Page 36: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 36

12.- Se considera el polinomio a trozos:

S(x) =

( ) [ )( ) [ )( ) [ )

20

21

22

-1 x 1,0

2 -1 x 0,1

2 +8x-5 x 1,2

= ∈ − = ∈ = − ∈

S x x

S x x

S x x

Deducir si S(x) es un spline cúbico o no sobre los puntos { }1,0,1,2−

Solución: S(x) es un spline cúbico si y sólo si S, S’ y S’’ son funciones continuas en [ ]1,2− . Como se

trata de tres polinomios a trozos, solo hay que comprobar la continuidad en los puntos de

separación de los subintervalos x = 0 y x = 1.

( )( )( )

( )( )( )

( )( )( )

20 0 0

21 1 1

22 22

-1 ' 2 '' 2

2 -1 ' 4 '' 4

' 4 +8 '' 42 +8x-5

= = = = ⇒ = ⇒ = = − = −= −

S x x S x x S x

S x x S x x S x

S x x S xS x x

( )( )( )( )( )( )

0 1

1 2

0 1

1 2

0 1

1 2

0 1 (0)

1 1 (1)

' 0 0 '(0)

' 1 4 '(1)

'' 0 2 4 ''(0)

'' 1 4 4 ''(1)

= − =

= = = =

= = = ≠ = = ≠ − =

S S

S S

S S

S S

S S

S S

Luego, no es un spline cúbico sobre esos puntos pues S’’(x) no es una función continua en

[ ]1,2−

Page 37: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 37

13.- Se considera el polinomio a trozos:

S(x) = ( ) [ )( ) [ )

30

3 21

2 1,0

( 1) +6( 1) +b( 1)+c 1, 2

S x x x

S x a x x x x

= ∈ −

= − − − ∈

Hallar, si existen, los valores de los parámetros a, b y c para que S(x) sea un spline cúbico sobre los puntos { }0,1,2 .

Para que S(x) sea un spline cúbico sobre los puntos {0,1, 2} ha de verificarse que S, S’ y S’’ sean funciones continuas en [0, 2]

( )( )

( )( )

20 0

211

' 6 ''' 12

'' 6 ( 1)+12' 3 ( 1) +12( 1)+b

S x x S x x

S x a xS x a x x

= = ⇒ = −= − −

( ) ( )( ) ( )( ) ( )

0 1

0 1

0 1

1 2 1

' 1 6 ' 1

'' 1 12 '' 1

S c S

S b S

S S

= = =

= = = = =

Luego, para que S(x) sea un spline cúbico sobre esos puntos han de ser b=6, c=2 y “a”

puede tomar cualquier valor.

Page 38: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 38

14.- Para la tabla de valores siguiente:

ix 1 2 2.5 3 4

iy 1.4 1 0.65 0.6 1

a) Hallar el polinomio de interpolación. b) Hallar un spline no nodo para estos datos. c) Dibujar los dos polinomios en la misma ventana de dibujo. Comentar el

resultado. Solución:

a) >> x=[1 2 2.5 3 4];y=[1.4 1 0.65 0.6 1];p=polyfit(x,y,4) p = -0.1778 1.9111 -7.0222 9.9556 -3.2667

b) >> snn=spline(x,y) snn = form: 'pp' breaks: [1 2 2.5000 3 4] coefs: [4x4 double] pieces: 4 order: 4 dim: 1 >> snn.coefs ans = 0.4889 -1.4222 0.5333 1.4000 0.4889 0.0444 -0.8444 1.0000 -0.2222 0.7778 -0.4333 0.6500 -0.2222 0.4444 0.1778 0.6000

c) >> xx=[1:0.1:4]; >> yy=polyval(p,xx); >> zz=ppval(snn,xx); >> plot(x,y,'*',xx,yy) >> hold on >> plot(xx,zz,'--')

1 1.5 2 2.5 3 3.5 40.4

0.6

0.8

1

1.2

1.4

1.6

1.8

En la parte central son bastante coincidentes las gráficas. En los nodos extremos presenta algo menor fluctuación el spline no nodo.

Page 39: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 39

15.- Sea una función f(x) de la que se conoce su valor en los siguientes puntos: x -2 -1 0 1

f(x) 6 2 1 0

a) Hallar el polinomio de interpolación que se ajusta a esta nube de puntos y estimar el valor de f (0.5) utilizando dicho polinomio.

b) Hallar un spline cúbico completo que interpole esos datos, suponiendo que f ’(-2)=5 y que f ’(1 ) = 4 . Estimar con este método el valor de f (0.5).

c) Dibujar, en la misma ventana, los nodos, el polinomio de interpolación y el spline utilizados y comentar el resultado.

Solución: a)

x f[x0] Dif. Div. de orden 1 Dif. Div. de orden 2 Dif. Div. de orden 3

-2 6

(2-6)/(-1+2)=-4

-1 2 (-1+4)/(0+2)= 3/2

(1-2)/(0+1)=-1 (0-3/2)/(1+2)= -1/2

0 1 (-1+1)/(1+1)=0

(0-1)/(1-0)=-1

1 0

Luego el polinomio de Newton pedido es:

0 0 1 0 0 1 2 0 1 0 1 3 0 1 2( ) ( ) [ , ]( ) [ , , ]( )( ) [ , , ]( )( )( )P n f x f x x x x f x x x x x x x f x x x x x x x x x= + − + − − + − − − =

3 16 4( 2) ( 2)( 1) ( 2)( 1)( 0)

2 2x x x x x x= − + + + + − + + − = 31 1

12 2

x x− − +

31 1(0,5) 0,5 0,5 1 0,6875

2 2f = − − + =

Con DERIVE: >> x=[-2 -1 0 1];y=[6 2 1 0]; >> p=polyfit(x,y,3) p =

-0.5000 0.0000 -0.5000 1.0000 >> polyval(p,0.5) ans =

0.6875 b) >> spc=spline(x,[-5 y -4]) spc =form: 'pp' breaks: [-2 -1 0 1]

coefs: [3x4 double] pieces: 3 order: 4

dim: 1 >> spc.coefs ans =

0.4667 0.5333 -5.0000 6.0000 -0.4000 1.9333 -2.5333 2.0000 -1.8667 0.7333 0.1333 1.0000

Luego el spline pedido es:

Page 40: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 40

>> pval(spc,0.5) ans =

1.0167 c) >> plot(x,y,'*') >> hold on >> xx=[-2:0.1:1]; >> yy=polyval(p,xx); >> zz=ppval(spc,xx); >> plot(xx,yy,xx,zz,'--')

7

6

5

4

3

2

1

0 -2 -1.5 -1 -0.5 0 0.5 1

La forma de la gráfica de f(x), al menos en los extremos, ha de ser más parecida a la del spline completo (en trazo discontinuo) al haber obligado a que coincidan las derivadas del spline con las derivadas de la función en los nodos inicial y final.

Page 41: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 41

16.-Se consideran los valores de la función f(x) = 1/x en el intervalo [0.1, 10] tomando los puntos: (0.1, 10.0); (0.2, 5.0); (0.5, 2.0); (1.0, 1.0); (2.0, 0.5); (5.0, 0.2); (10.0, 0.1). a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los extremos coincida con la derivada primera de la función. b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos 0.2 y 5.0 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual que las dos últimas). c) Compara ambas aproximaciones, dibujando los dos splines en la misma ventana, y comenta el resultado. Solución: a) El interpolante pedido en este apartado es el spline completo, que se obtiene con la orden “spline” de Matlab, añadiendo a las ordenadas los valores de la derivada de la función en los nodos inicial y final f ’(x) = >> x=[0.1,0.2,0.5,1,2,5,10]; >> y=[10,5,2,1,0.5,0.2,0.1]; >>ps=spline(x,[-100 y -1/100]); >>ps.coefs ans = 1.0e+03 * -2.2075 0.7208 -0.1000 0.0100 -0.0608 0.0585 -0.0221 0.0050 -0.0019 0.0038 -0.0034 0.0020 -0.0003 0.0009 -0.0011 0.0010 -0.0000 0.0000 -0.0002 0.0005 -0.0000 0.0000 -0.0000 0.0002 >>xx=0.1:0.1:10; >>yy=ppval(ps,xx); >>plot(x,y,'*',xx, yy) b) Se trata de calcular el spline no nodo, con la función spline de Matlab: >>psnn=spline(x,y); >>psnn.coefs ans = -158.1959 179.0980 -66.3278 10.0000 -158.1959 131.6392 -35.2541 5.0000 9.4083 -10.7371 1.0165 2.0000 -1.2109 3.3753 -2.6644 1.0000 0.0243 -0.2574 0.4535 0.5000 0.0243 -0.0386 -0.4347 0.2000 >>holdon >>yynn=ppval(psnn,xx); >>plot(x,y,'*',xx,yynn,'--') c) El spline completo aproxima mejor la función, sobre todo en la parte derecha de la gráfica en la que los nodos están más distanciados.

0 1 2 3 4 5 6 7 8 9 10-2

0

2

4

6

8

10

Page 42: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 42

17.- Sea f(x) = cos x. a) Hallar el polinomio de grado 9 que interpola f en 10 puntos equidistantes del intervalo

[ ]0,6π . Dibujarlo.

b) Aproximar el valor de cos 11

4

π utilizando el polinomio anterior y acotar el error

cometido en dicha aproximación. c) Hallar un spline completo que se ajuste a esa nube de puntos y aproximar con él el

valor de cos 11

4

π. Dibujarlo en la misma figura que el polinomio de interpolación

calculado anteriormente junto con la gráfica de f(x). Comentar el resultado.

Solución:

a) >> x=linspace(0,6*pi,10); >> y =cos(x); >> p=polyfit(x,y,9) Warning: Polynomialisbadlyconditioned. Addpointswithdistinct X values, reduce thedegree of thepolynomial, or try centering andscaling as described in HELP POLYFIT. > In polyfit at 76 p = Columns 1 through 7 0.0000 -0.0000 0.0002 -0.0063 0.1005 -0.8942 4.3257 Columns 8 through 10 -10.1479 8.0802 1.0000 >>xx=0:0.01:6*pi; >>yy=polyval(p,xx); >>plot(x,y,'*',xx,yy) >>holdon

b) >>polyval(p,11*pi/4) ans = -0.6689 >> ((6*pi)^10)/(factorial(10)) ans = 1.5604e+06

c) >>sp=spline(x,[0 y 0]) sp = form: 'pp' breaks: [1x10 double] coefs: [9x4 double] pieces: 9 order: 4 dim: 1 >> sp.coefs ans =

Page 43: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 43

0.1633 -0.6839 0 1.0000 0.0000 0.3420 -0.7162 -0.5000 -0.1633 0.3420 0.7162 -0.5000 0.1633 -0.6839 0.0000 1.0000 0.0000 0.3420 -0.7162 -0.5000 -0.1633 0.3420 0.7162 -0.5000 0.1633 -0.6839 0.0000 1.0000 0.0000 0.3420 -0.7162 -0.5000 -0.1633 0.3420 0.7162 -0.5000 Cada fila de la matriz anterior contiene los coeficientes de cada uno de los polinomios cúbicos , k=0,...,9kS , que conforman el spline expresados en potencias de ( )− kx x .

>>ppval(sp,11*pi/4) ans = -0.6641 >>zz=ppval(sp,xx); >>plot(xx,zz,'--') >>rr=cos(xx); >>plot(xx,rr,':')

0 2 4 6 8 10 12 14 16 18 20-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

Se observa en la gráfica las fluctuaciones que muestra el polinomio interpolador, sobre todo en los subintervalos extremos, problema que queda resuelto con el spline.

Page 44: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 44

18.- a) Hallar, aplicando la definición, el polinomio interpolador para los siguientes

datos:

ix 0 1 2

iy 1 e 2e

haciendo los cálculos y el dibujo de los puntos y del polinomio con Matlab. b) Interpolar el valor de f en 1/2. c) Calcular el polinomio interpolador de Lagrange.

Solución: a) P2(x) = 2

2 1 0a x a x a+ + . Como el polinomio ha de pasar por los nodos, se ha de verificar: 1

0 2 2

2 1 0 1 12 22

0 02 1 0

1 0 0 1 1 0 0 1 1 1.4762

1 1 1 1 1 1 0.2420

4 2 1 4 2 1 14 2

a a aa a a e a e a e

a e a ea a a e

− = + + = ⇔ = ⇒ = = + + =

Obteniéndose: P2(x) = 21.4762 0.2420 1x x+ + .

Estos cálculos se han realizado con Matlab: >> A=[0 0 1;1 1 1;4 2 1]; >> B=[1;exp(1);exp(2)]; >> A\B ans = 1.4762 0.2420 1.0000 Con el comando polyfit de Matlab: >> x=[0 1 2]; >> y=[1 exp(1) exp(2)]; >> p= polyfit(x,y,2) ans = 1.4762 0.2420 1.0000 Dibujo: >> hold on >> plot(x,y,’*’) >> xx=[0:0.1:2]; >> yy=polyval(p,xx); >> plot(xx,yy)

b) Interpolar el valor de f en 1

2:

21 1 1

1.4762 0.2420 1 1.49012 2 2

f = + + ≈

>> polyval(p,1/2) ans = 1.4901

c) P2(x) = L0(x) f(x0) + L1(x) f(x1) + L2(x) f(x2)= L0(x) + L1(x) e + L2(x) 2e ( )( )( )( )

( )( )( )( )

21 2

00 1 0 2

1 2 3 2( )

0 1 0 2 2

x x x x x x x xL xx x x x− − − − − +

= = =− − − −

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

1

2

3

4

5

6

7

8

Page 45: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 45

( )( )( )( )

( )( )( )( )

0 2 21

1 0 1 2

0 2( ) 2

1 0 1 2

x x x x x xL x x x

x x x x− − − −

= = = −− − − −

( )( )( )( )

( )( )( )( )

20 1

22 0 2 1

0 1( )

2 0 2 1 2

x x x x x x x xL xx x x x− − − − −

= = =− − − −

Sustituyendo en el polinomio y operando, queda:

P2(x) 2 21 1

2 2e e x = − + +

21 3

22 2

e e − + −

x + 1

Es fácil comprobar que efectivamente P2(0) = 1, P2(1) = e y P2(2) = 2e

Page 46: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 46

19.- Sea f(x) = sen x.

a) Hallar el polinomio de grado 9 que interpola f en 10 puntos equidistantes de [0, 1].

Dibujarlo.

b) Obtener una cota del error que se comete al aproximar f(x) con dicho polinomio.

Solución: >> x=linspace(0,1,10); >> y=sin(x); >> p=polyfit(x,y,9) p = Columns 1 through 7 0.0000 0.0000 -0.0002 0.0000 0.0083 0.0000 -0.1667 Columns 8 through 10 0.0000 1.0000 0.0000 >> z=polyval(p,x); >> hold on >> plot(x,y,'*') >> plot(x,z)

b) E = 1| ( ) ( ) | ( )( 1)!

nn

Mf x P x b an

+− ≤ −+

, siendo 1)| ( ) |nf x M+ ≤ .

Es inmediato que, en este caso, es 10)| ( ) | 1f x ≤ para todo x ∈ [0, 1], luego:

E = 109

1 1| ( ) ( ) | (1 0)

10! 10!f x P x− ≤ − = < 72.8 10−×

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Page 47: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 47

20.- Hallar el polinomio interpolador de Newton para los siguientes nodos:

Interpolar el valor en x = 1.5.

Solución: xi f(xi) Dif. Div. de orden1 Dif. Div. de orden2 Dif. Div. de orden 3 x0

= -2 f [x0] = 10

1 0

0 11 0

[ ] [ ][ , ]

f x f xf x xx x−

=−

= -6

x1

= -1 f [x1] = 4

02

1021210 xx

]x,x[f]x,x[f]x,x,x[f

−−

=

=7/3

12

1221 xx

]x[f]x[f]x,x[f

−−

=

= 1 03

2103213210 xx

]x,x,x[f]x,x,x[f]x,x,x,x[f

−−

=

= -11/12

x2

= 1 f [x2] = 6

13

2132321 xx

]x,x[f]x,x[f]x,x,x[f

−−

=

= -4/3

23

2332 xx

]x[f]x[f]x,x[f

−−

=

= -3

x3

= 2 f [x3] = 3

Por tanto, el polinomio buscado es:

P3(x) = 10 + (-6) (x + 2) + 7/3 (x + 2) (x + 1) + (-11/12) (x + 2) (x + 1) (x - 1) = 2

311 23 27

12 2 12 6

xx x= − + + +

Sustituyendo x por 1.5, se obtiene: P3(1.5) ≈ 5.4063.

O bien con Matlab:

>> p=[-11/2 1/2 23/12 27/6];

>> polyval(p,1.5)

ans =

-10.0625

Nota:

ix -2 -1 1 2

iy 10 4 6 3

Page 48: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 48

Planteando el sistema que da los coeficientes:

P3(x) = a0 + a1 (x + 2) + a2 (x + 2) (x + 1) + a3 (x + 2) (x + 1) (x - 1)

Ha de verificarse:

P3(-2) = 10 = a0

P3(-1) = 4 = a0 + a1

P3(1) = 6 = a0 + 3 a1 + 6 a2

P3(2) = 3 = a0 + 5 a1 + 12 a2 + 12 a3

Que es un sistema con matriz de los coeficientes triangular inferior (a diferencia de la matriz

de Vandermonde del polinomio interpolador general, que es densa y, en general, mal

condicionada):

0 0

1 1

2 2

3 3

101 0 0 0 10 61 1 0 0 4 71 3 6 0 6 31 5 12 12 3 11

12

a aa aa aa a

− = ⇒ = −

Page 49: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 49

21.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = sen x:

ix 0 4

π

2

π

iy 0 2

2 1

a) Calcular el polinomio de interpolación, aplicando la definición. b) Calcular el polinomio de Newton con la fórmula de las diferencias divididas.

c) Interpolar el valor de f en 6

π.

d) Acotar el error cometido en la aproximación anterior. e) Interpolar estos datos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función. Solución:

a) Al tener 3 nodos, el polinomio de interpolación será de grado 2 y ha de pasar por los tres puntos:

( )( )

22 2 1 0

2 0

2

2 2 1

2

2 2 1

0 0

2

4 16 4 2

12 4 2

= + +

= =

π π π = + = π π π = + =

P x a x a x a

P a

P a a

P a a

Por tanto, para hallar los coeficientes del polinomio, hay que resolver el sistema:

2

2 22

1 1

2 0 0

8(1 2)00 0 1

2 2(1 2 2)0

16 4 21 0

04 2

a aa aa a

− π π π − − = ⇔ = ⇒ π π π

( ) 2 22 2

8(1 2) 2(1 2 2)0.3357 1.1640P x x x x x− −

= − ≈ − +π π

b) Fórmula de las diferencias divididas de Newton: ( ) [ ] [ ]( ) [ ]( )( )2 0 0 1 0 0 1 2 0 1, , ,= + − + − −P x f x f x x x x f x x x x x x x

xi f(xi) Dif. Div. de orden1 Dif. Div. de orden2 x0 =0 f [x0] = 0

1 0

0 11 0

[ ] [ ][ , ]

−= =

−f x f xf x x

x x2 2π

x1 = 4

π f [x1] =

2

2

( )

1 2

2

0 10 1 2

2 0

[ , ] [ , ][ , , ]

−= =

=

f x x f x xf x x xx x

π8 1- 2

2 1

1 22 1

[ ] [ ] 4 2 2[ , ]

− −= =

−f x f xf x x

x x π

Page 50: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 50

x2 = 2

π f [x2] = 1

Luego, ( ) ( )( )

( )22 0 04

08 1- 22 2

πP x x x x π = + − + − − =

π( ) 2

2

8 1 2 4 2 2x x− −

+ππ

c) ( ) 2

2 2

8 1 2 4 2 2 4 2 1

6 6 6 9P

−π π − π − = + = ≈ π π0.5174

d) 0

6 6 4 6 23!

E

π π π π π − − − ≤ ≈ 0.023924

e) Se trata del spline completo.

f(x) = sen x ⇒ f ’(x) = cosx '(0) 1, ' 02

π ⇒ = =

f f

>> sc=spline(x,[1 y 0]) sc = form: 'pp' breaks: [0 0.7854 1.5708] coefs: [2x4 double] pieces: 2 order: 4 dim: 1 >> sc.coefs ans = -0.1551 -0.0051 1.0000 0 -0.0663 -0.3706 0.7049 0.7071

Luego, el spline completo es:

( ) 230 0.1551 0.0051 1 .0000 , x 0,

4 − − + ∈

= S x x x x π

( )3 2

1 0.0663 0.3706 0.7049 0.70 ,4

71, x4 4 4 2

− − + + = − − −

∈ S x x x xπ π π π π

Page 51: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 51

22.- Dada la tabla de valores siguiente, correspondiente a la función f(x) = cos x:

ix 0 4

π

2

π

iy 1 2

2 0

a) Calcular el polinomio de interpolación, aplicando la definición. b) Calcular el polinomio de Newton con la fórmula de las diferencias divididas.

c) Interpolar el valor de f en 3

π.

d) Acotar el error cometido en la aproximación anterior. e) Interpolar estos datos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función. Solución:

a) Al tener 3 nodos, el polinomio de interpolación será de grado 2 y ha de pasar por los tres puntos:

( )( )

22 2 1 0

2 0

2

2 2 1 0

2

2 2 1 0

0 1

2

4 16 4 2

02 4 2

= + +

= =

π π π = + + = π π π = + + =

P x a x a x a

P a

P a a a

P a a a

Por tanto, para hallar los coeficientes del polinomio, hay que resolver el sistema:

2

2 22

1 1

2 0 0

8 8 210 0 1

2 4 2 61

16 4 20 1

14 2

a aa aa a

− π π π − = ⇔ = ⇒ π π π

( ) 2 22 2

8 8 2 4 2 61 0.3357 0.1092 1P x x x x x− −

= + + ≈ − − +π π

b) Fórmula de las diferencias divididas de Newton: ( ) [ ] [ ]( ) [ ]( )( )2 0 0 1 0 0 1 2 0 1, , ,= + − + − −P x f x f x x x x f x x x x x x x

xi f(xi) Dif. Div. de orden1 Dif. Div. de orden2 x0 =0 f [x0] = 1

1 0

0 11 0

[ ] [ ][ , ]

−= =

−f x f xf x x

x x2 2 -4π

x1 = 4

π f [x1] =

2

2

( )

1 2

2

0 10 1 2

2 0

[ , ] [ , ][ , , ]

−= =

=

f x x f x xf x x xx x

π8 1- 2

Page 52: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 52

2 1

1 22 1

[ ] [ ] 2 2[ , ]

− −= =

−f x f xf x x

x x π

x2 = 2

π f [x2] = 0

Luego, ( ) ( )( )

( )( )

2 22

2

8 1 2 4 2 60 0 1

4

−π − = + − + − − = + + π π πP x x x x x x1

8 12 - 22 -4π

c) ( )

2

2

2

8 1 2 4 2 6 4 2 11

3 3 3 9P

−π π − π − = + + = ≈ π π0.5174

d) 0

3 3 4 3 23!

E

π π π π π − − − ≤ ≈ 0.023924

e) Se trata del spline completo.

f(x) = cos x ⇒ f ’(x) = - sen x '(0) 0, ' 12

π ⇒ = = −

f f

>> sc=spline(x,[0 y -1]) sc = form: 'pp' breaks: [0 0.7854 1.5708] coefs: [2x4 double] pieces: 2 order: 4 dim: 1 >> sc.coefs ans = 0.0663 -0.5269 0 1.0000 0.1551 -0.3706 -0.7049 0.7071

Luego, el spline completo es:

( ) 30

20.0663 0.5269 1 , 0, 4

x − + ∈= S x x x π

( )3 2

1 0.3706 0.7049 0.7071, 0.1551 ,4 4 4 2

x4

− − + ∈ = − − −

S x x x xπ π π π π

Page 53: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 53

23.- La tabla siguiente proporciona el número de viajeros que suben al metro en una

estación a determinada hora de la mañana:

Hallar el polinomio de Newton que interpola estos datos. ¿Qué número de

viajeros se estima que suben a la estación a las 10:30h? Solución: P6(x) = f [x0] + f [x0, x1](x-x0) + f [x0, x1, x2] (x-x0)(x-x1) + . . . + +f [x0, x1, . . . , x6](x-x0)(x-x1) . . . (x-x5)

x f(x) 1ªdif div 2ªdif div 3ªdif div 4ªdif div 5ªdif div 6ªdif div

8 41

-6

9 35 -4

-14 5/3

10 21 1 1/12

-12 2 -1/5

11 9 7 -11/12 61/720

2 -5/3 37/120

12 11 2 5/8

6 5/6

13 17 9/2

15

14 32

El polinomio interpolador de Newton es:

P6(x) = 41 – 6(x-8) -4 (x-8) (x-9)+5/3(x-8) (x-9) (x-10) + 1/12 (x-8) (x-9) (x-10) (x-11) -

-1/5 (x-8) (x-9) (x-10) (x-11) (x-12) + 61/720 (x-8) (x-9) (x-10) (x-11) (x-12) (x-13) f(10,5)= 13.467773437660071 Luego, a las 10:30h, se estima que el número de viajeros será 14 aproximadamente.

hora 8 9 10 11 12 13 14

viajeros 41 35 21 9 11 17 32

Page 54: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 54

24.- Se consideran los valores de la función f(x) = cos10(x) en los 9 puntos equidistantes

del intervalo [-4, 4] obtenidos mediante una partición del mismo.

a) Interpolar estos puntos mediante un spline cúbico cuya derivada primera en los

extremos coincida con la derivada primera de la función.

b) Hallar el spline que pasa por dichos puntos y tiene derivada tercera en los nodos -3 y

3 (es decir, las dos primeras piezas del spline son el mismo polinomio, al igual que las

dos últimas).

c) Representar y comparar ambas aproximaciones.

d) Hermite para los tres primeros nodos. Solución:

a) >> % Spline completo (frontera sujeta) >> x=[-4:4]; >> y=(cos(x).^10) y = Columns 1 through 2 0.014236730732349 0.904313532497494 Columns 3 through 4 0.000155763599901 0.002120157917130 Columns 5 through 6 1.000000000000000 0.002120157917130 Columns 7 through 8 0.000155763599901 0.904313532497494 Column 9 0.014236730732349 Derivando la función y particularizando en los extremos, se obtiene: f ’(-4) = 0.1648358983 f ’(4) = - 0.1648358983 Utilizamos el spline completo: >> ps=spline(x,[0.1648358993 y -0.1648358993]) ps = form: 'pp' breaks: [-4 -3 -2 -1 0 1 2 3 4] coefs: [8x4 double] pieces: 8 order: 4 dim: 1 >> ps.coefs ans = Columns 1 through 3 -1.423895004342709 2.149135906807854 0.164835899300000 1.026968637435100 -2.122549106220273 0.191422699887581 0.016377188479868 0.958356806085027 -0.972769600247666 -1.002684106803750 1.007488371524629 0.993075577361990 1.002684106803750 -2.000563948886620 0.000000000000000 -0.016377188479868 1.007488371524630 -0.993075577361990 -1.026968637435100 0.958356806085026 0.972769600247666 1.423895004342709 -2.122549106220273 -0.191422699887581

Page 55: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 55

Column 4 0.014236730732349 0.904313532497494 0.000155763599901 0.002120157917130 1.000000000000000 0.002120157917130 0.000155763599901 0.904313532497494 b) Calculamos el spline no nodo: >> psb=spline(x,y) psb = form: 'pp' breaks: [-4 -3 -2 -1 0 1 2 3 4] coefs: [8x4 double] pieces: 8 order: 4 dim: 1 >> psb.coefs ans = Columns 1 through 2 0.508516713212872 -2.422667424969983 0.508516713212871 -0.897117285331368 0.157773167813203 0.628432854307245 -1.049816099914862 1.101752357746853 1.049816099914862 -2.047695941997731 -0.157773167813203 1.101752357746853 -0.508516713212871 0.628432854307245 -0.508516713212872 -0.897117285331368 Columns 3 through 4 2.804227513522257 0.014236730732349 -0.515557196779095 0.904313532497494 -0.784241627803219 0.000155763599901 0.945943584250879 0.002120157917130 0.000000000000000 1.000000000000000 -0.945943584250879 0.002120157917130 0.784241627803219 0.000155763599901 0.515557196779095 0.904313532497494

c) >> xx=[-4:0.1:4]; >> psaa=ppval(ps,xx); >> plot(x,y,'*',xx,psaa)

Page 56: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Interpolación Polinómica

U. D. de Matemáticas de la ETSITGC Asignatura: Cálculo II 56

-4 -3 -2 -1 0 1 2 3 4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

>> plot(x,y,'*',xx,psbb)

-4 -3 -2 -1 0 1 2 3 4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

>> plot(x,y,'*',xx,psaa,xx,psbb)

-4 -3 -2 -1 0 1 2 3 4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Se observa cómo las mayores diferencias se dan en los subintervalos extremos que es donde difieren las condiciones entre ambos splines.

z f(z) 1ªdif div 2ªdif div 3ªdif div 4ªdif div 5ªdif div

-4 0.01423673073

0.1648358983

-4 0.01423673073 0.7252409034

0.8900768017 -2.904385383

-3 0.9043135325 -2.179144480 2.093206289

-1.289067679 1.282027195 -1.23814885

-3 0.9043135325 0.3849099101 -0.3830914165

-0.9041577689 0.5158443619

-2 0.0001557635998 0.9007542721

-0.003403496750

-2 0.0001557635998

H5(x) = 0.01423673073 + 0.1648358983·(x+4) + 0.7252409034·(x+4)2 - 2.904385383·(x+4)2

(x+3) 2.093206289·(x+4)2(x+3)2 - 1.238148852·(x+4)2 (x+3) 2 (x+2)

Page 57: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Spline Sean t0 < t1 < . . . < tn, n+1 puntos (denominados nodos) y k un número natural. Una función spline de grado k con nodos t0, t1, . . . , tn es una función S que satisface las siguientes condiciones: a) en cada intervalo [ti-1, ti], S es un polinomio de grado menor o igual a k, b) S tiene una derivada de orden (k-1) continua en [t0, t1] Por consiguiente S es un polinomio continuo a trozos de grado a lo sumo k, que tiene derivadas continuas hasta el orden k-1.

Nodo

Cada valor de la abscisa xi de los puntos usados en interpolación.

Interpolación

Obtención del valor aproximado de una magnitud o una función en un intervalo cuando se conocen algunos de los valores que toma a uno y otro lado de dicho intervalo.

Polinomio interpolador de Lagrange

Dados x0, x1, . . . , xn números reales distintos entre sí, y valores arbitrarios y0, y1, . . . , yn, existe un único polinomio P(x) de grado menor o igual que n tal que P(xi) = yi (i = 0, . . . , n).

Interpolación de Newton

Al Polinomio de Lagrange obtenido por Diferencias divididas se le conoce con el nombre de fórmula de diferencias divididas interpolante de Newton.

0 0 1 0 1 11

( ) ( ) [ , ,..., ]( )( )...( )n

n k kk

P x f x f x x x x x x x x x

Siendo las Diferencias divididas

1 0 10 1

0

[ , ] [ , ][ , ,..., ] k k

kk

f x x f x xf x x x

x x

Interpolación de Hermite

Sea una función, f, con derivada continua en [a, b] y si x0, x1, . . . , xn son valores distintos del intervalo [a,b] , existe un único polinomio de grado a lo sumo 2n+1, y se denota H2n+1(x), tal que:

H2n+1(xi) = f(xi), H’2n+1(xi) = f ’(xi), i = 0, . . . , n. H2n+1(x) es el polinomio de Hermite de grado 2n+1.

Page 58: Soluciones Hoja Problemas splinesasignaturas.topografia.upm.es/matematicas/Metodos/...25 34 72 115 92 71 65 a) Calcular el polinomio de interpolación que pasa por todos los puntos

Matrices tridiagonales 

En  diversas  aplicaciones  nos  encontramos  con  sistemas  Ax=z  donde  A  es  cuadrada  y  sus 

elementos son todos nulos excepto los de la diagonal principal y algunas de las paralelas a dicha 

diagonal. Estas matrices se denominan matrices banda. 

Un caso particular de matrices banda son las matrices tridiagonales. 

Se llama matriz tridiagonal a las matrices de la forma siguiente: 

nnnn

nnnn

aa

aa

aa

aaa

aa

,1,

,11,1

3332

232221

1211

000

000

000

00

000

A

 

Para  este  tipo  de  matrices  hay  algoritmos  de  factorización  que  simplifican  el  número  de 

operaciones  a  realizar,  aprovechando  la  gran  cantidad  de  ceros  que  aparecen  siguiendo 

patrones  regulares.  Estos métodos  son  preferibles  frente  a  los  que  no  tienen  en  cuenta  la 

tridiagonalidad de la matriz.