Professional Documents
Culture Documents
Problema 1.
Encuentre el polinomio de interpolación de Newton, P3 (x), que interpola los siguientes nodos.
xi 1 2 3 4
fi 6 2 10 -33
Sea q(x) := A(x − 1)(x − 2)(x − 3)(x − 4) ¿Qué valor debe tener A par que el polinomio
P4 (x) = P3 (x) + q(x) satisfaga P4 (0) = 127.
Solución:
Debido a que los datos son ingualmente espaciados, usaremos una versión del método de las
diferencias dividas simplificada. Definamos la variable normalizada n = x − 1. Obtenemos la
siguiente tabla de diferencias.
x f ∆f ∆2 f ∆3 f
1 6 -4 12 -63
2 2 8 12
3 10 -43
4 -33
1
Por otro lado si P4 (x) = P3 (x) + A(x − 1)(x − 2)(x − 3)(x − 4) con la condición P4 (0) = 127
entonces:
127 = P3 (0) + A(0 − 1)(0 − 2)(0 − 3)(0 − 4)
implica que
127 − P3 (0) 7
A= =
24 4
Problema 2.
Dada una partición Γ := {a = x1 < ... < xN = b} del intervalo [a, b] y los valores correspon-
dientes a las cordenadas f0 , f1 , ..., fN ∈ R
Problema 2(a).
Muestre que para cada número fo0 ∈ R existe un único spline cuadratico interpolador s que
satisface la condición adicional s0 (x0 ) = f00 . Escriba un algoritmo para calcular s.
Debido a que vamos a realizar la interpolación de spline cuadratico, podemos asumir que
S(x) tiene la siguiente forma polinomial:
S(x) = ai x2 + bi x + ci x ∈ [xi−1 , xi ]
Luego si definimos f10 = S 0 (x1 ) tenemos que S 0 (x1 ) = 2a0 x1 + b0 y para xi encontramos las
demas incognitas de la siguiente manera:
2
−x2i fi + 2x2i fi+1 + (x2i+1 − 2xi xi+1 )fi0
ai =
(xi+1 − xi )2
x2i+1 fi − 2xi+1 xi fi+1 + x2i fi0
bi =
(xi+1 − xi )2
(2x2i − 2xi xi+1 )fi − (x2i+1 − x2i )fi+1
ci =
(xi+1 − xi )2
Asi para cada valor f00 tenemos un unico spline cuadratico que cumple las condiciones de
interpolación.
3
Donde S(xi ) = fi = αi , S 0 (xi ) = zi = βi , S 00 (x) = 2γ entonces:
zi+1 − zi
S 00 (x) = = 2γ
hi+1
es decir:
zi+1 − zi
S(x) = fi + zi (x − xi ) + (x − xi )2 x ∈ [xi , xi+1 ]
2hi+1
De esta equacion vemos que el spline se obtiene al encontrar los zi
Como se quiere que S sea continua en [a, b] entonces:
por lo tanto
(zi+1 − zi )hi+1
fi+1 = fi + zi (hi+1 ) +
2
fi+1 − fi
ası́ zi+1 = 2 − zi para i = 0, . . . , n − 1.
hi+1
Asi se puede calcular el valor de todos los zi a partir de un valor inicial z0 sin embargo, no
se puede calcular zn por lo tanto se utiliza la condicion f00 = fn0 .
Este spline no es unico ya que depende del valor que le demos a z0 .
Problema 3(a).
Considere la función
1
x ∈ [−5, 5]
f (x) =
+1 x2
definamos los nodos xi = −5 cos(iπ/n), con i = 0, 1, . . . , n. Ver que en este caso el error de
interpolación no aumenta a medida que n crece. Determine el polinomio de interpolación P12
con los nodos definidos.
Solución:
Listing 1: interpolacion lagrange.m. Cada uno de los polinomios de interpolación que
se obtuvieron tanto en el problema 3(a) como en el 3(b) fueron generados por el siguiente
programa:
1 % Este programa s e basa en e l Metodo de i n t e r p o l a c i o n de Lagrange a p l i c a d o a
c u a l q u i e r f u n c i o n dada y para c u a l q u i e r f o r m u l a de nodos dada .
2
3 % f := f u n c i o n i n t e r p o l a n t e .
4 % n:= grado d e l p o l i n o m i o .
5 % puntos := f o r m u l a de nodos depende de i y de n .
6
7 f u n c t i o n [ p ] = i n t e r p o l a c i o n l a g r a n g e ( f ,m, puntos )
8 syms x ;
9 l =0:m;
4
10 puntos=s u b s ( puntos , ’ n ’ ,m) ;
11 nodos=s u b s ( puntos , ’ i ’ , l ) ; % v e c t o r de nodos ( tamano n+1)
12 imagenes=s u b s ( f , ’ x ’ , nodos ) ; % v e c t o r de imagenes de l o s nodos ( tamano n+1)
13 L=sym ( o n e s (m+1 ,1) ) ; % Vector i n i c i a l de f u n c i o n e s c a r d i n a l e s
14 a x i s ( [ nodos ( 1 )−1 nodos (m+1)+1 min ( imagenes ) −0.5 max( imagenes ) + 0 . 5 ] )
15
16 % f u n c i o n e s c a r d i n a l e s d e l p o l i n o m i o de Lagrande L { 0 } , L { 1 } , . . . , L {n}
17 f o r k=1:m+1
18 T=sym ( o n e s (m+1 ,1) ) ;
19 f o r j =1:m+1
20 i f j ˜=k
21 T( j ) =(x−nodos ( j ) ) / ( nodos ( k )−nodos ( j ) ) ;
22 end
23 end
24 p r o d u c t o =1;
25 f o r j =1:m+1
26 p r o d u c t o=T( j ) ∗ p r o d u c t o ;
27 end
28 L( k )=p r o d u c t o ;
29 end
30
31 % P ol i no m i o de i n t e r p o l a c i o n de Lagrange
32 imagenes=sym ( imagenes ) ; % conversion a simbolico
33 p=s i m p l i f y ( imagenes ∗L) ; % P o li n o mi o de i n t e r p o l a c i o n
34
35
36 % g r a f i c a c i o n d e l p o l i n o m i o comparada con l a f u n c i o n r e a l
37 t=nodos ( 1 ) − 1 : 0 . 0 1 : nodos (m+1)+1; % valores
38 y1=s u b s ( p , ’ x ’ , [ nodos ( 1 ) − 1 : 0 . 0 1 : nodos (m+1) +1]) ; % s u s t i t u c i o n polinomio
39 y2=s u b s ( f , ’ x ’ , [ nodos ( 1 ) − 1 : 0 . 0 1 : nodos (m+1) +1]) ; % sustitucion funcion real
40 h o l d on
41 p l o t ( t , y2 , ’ g ’ ) ; % g r a f i c a c i o n de l a f u n c i o n r e a l
42 p l o t ( t , y1 , ’ r ’ ) ; % g r a f i c a c i o n d e l p o l i n o m i o de i n t e r p o l a c i o n
43 p l o t ( nodos , imagenes , ’ o ’ ) ; % g r a f i c a c i o n de nodos
Para obtener el polinomio de interpolación P12 (x) para f (x) en los nodos xi = −5 cos(iπ/n)
se ejecuta el programa con la siguiente instrucción
>> syms x n i
>> i n t e r p o l a c i o n l a g r a n g e ( 1 / ( ( x ) ˆ2+1) ,12 , −5∗ cos ( i ∗ pi /n ) ) ;
5
Figura 1: Polinomio de interpolación de Lagrange de grado 12 en los nodos xi = −5 cos(iπ)/n
para i = 0, 1 . . . , 12.
Para los errores de interpolación venmos que disminuyen conforme n se hace grando, para
distintos valores se obtiene la siguiente tabla.
nodos / error
5 1.312542
10 0.414563
15 0.213267
20 0.084768
25 0.035963
30 0.004680
Para valores superiores a 30 el error es más pequeño que 103 , siempre que la fórmula para
los nodos sea xi = −5 cos(iπ)/n.
Problema 3(b).
Considere la función f (x) = sin(2πx) en el intervalo [−1, 1]. Encuentre el polinomio de in-
terpolación de la función f (x) en 22 nodos x1 equidistantes.
Genere valores perturbados f̃(xi ) al evaluar f (xi ) = sin(2πxi ) con máxi=0,1...,21 |f (xi )−f̃(xi )| ≈
9,5 × 104 y encuentre el polinomio de interpolación correspondiente.
Solución:
Para obtener el polinomio de interpolación P21 (x) para f (x) = sin(2πx) en los 22 nodos
equidistantes en [−1, 1] se ejecuta el programa con la siguiente instrucción
>> syms x n i
>> i n t e r p o l a c i o n l a g r a n g e ( sin ( 2 ∗ pi ∗x ) ,21 , −( n−i ) /n+i /n ) ;
6
Figura 2: Polinomio de interpolación de Lagrange de grado 21 para la función f (x) = sin(2πx)
en 22 nodos equidistantes de [−1, 1].
Problema 4.
Solución:
Listing 2: spline mano contorno.m. El programa siguiente recoge los puntos introdu-
cidos por el cursor y construye funciones splines x(t) e y(t) por medio de la subrutina
interpolacion spline(t,x,malla):
1 % Este programa p e r m i t e d i b u j a r c o n t o r n o s por medio de s p l i n e s c u b i c o s
2
3 % a j u s t e de p a n t a l l a y toma de puntos por c u r s o r
4 f i g u r e ( ’ position ’ , get (0 , ’ s c r e e n s i z e ’ ) ) ;
5 axes ( ’ p o s i t i o n ’ , [ 0 . 0 6 0.09 0.9 0 . 9 ] ) , a x i s equal
6 [ x , y]= g i n p u t ;
7
8 %s u b r u t i n a de i n t e r p o l a c i o n
9 [ n,˜]= s i z e (x) ;
10 t=l i n s p a c e ( 1 , n , n ) ;
11 malla = 1 : 0 . 1 : n ;
12 xx=i n t e r p o l a c i o n s p l i n e ( t , x , m a l l a ) ;
13 yy=i n t e r p o l a c i o n s p l i n e ( t , y , m a l l a ) ;
14
15 % g r a f i c a c i o n de l o s s p l i n e s p a r a m e t r i c o s
16 p l o t ( x , y , ’ o ’ , xx , yy ) , a x i s e q u a l
17
18 −−−−−−−−−−−−−−−−−−−−s u b r u t i n a i n t e r p o l a c i o n s p l i n e −−−−−−−−−−−−−−−−−−−−
%
19
20 % ( t , x ) := puntos de i n t e r p o l a c i o n
21 f u n c t i o n [ xx]= i n t e r p o l a c i o n s p l i n e ( t , x , m a l l a )
22
23 % v a l o r e s de f r o n t e r a ( l i b r e s )
24 b ( 0 ) =0;
25 b ( n ) =0;
26
7
27 % d e f i n i c i o n de l o s p a s o s para cada s u b i t e r v a l o s
28 n=l e n g t h ( x ) ;
29 f o r i = 1 : 1 : n−1
30 h ( i )=x ( i +1)−x ( i ) ;
31 end
32
33 % d e f i n i c i o n de l o s v e c t o r e s de l a m a t r i z ( t r i d i a g o n a l )
34 a ( n−1)=0;
35 f o r i = 1 : 1 : n−2
36 a ( i )=h ( i ) ;
37 end
38 b ( 1 ) =1;
39 b ( n ) =1;
40 f o r i = 1 : 1 : n−2
41 b ( i +1)=2∗(h ( i +1)+h ( i ) ) ;
42 end
43 c ( 1 ) =0;
44 f o r i = 2 : 1 : n−1
45 c ( i )=h ( i ) ;
46 end
47
48 % d e f i n i c i o n de l a m a t r i z columna b y c o e f i c i e n t e s d e l s p l i n e c u b i c o
49 f o r i = 1 : 1 : n−2
50 b ( i +1)=(6/h ( i +1) ) ∗ ( x ( i +2)−x ( i +1) ) −(6/h ( i ) ) ∗ ( x ( i +1)−x ( i ) ) ;
51 end
52 f o r j = 1 : 1 : n−1
53 D( j ) =(C( j +1)−C( j ) ) / ( 3 ∗ h ( j ) ) ;
54 B( j ) =((x ( j +1)−x ( j ) ) /h ( j ) )−h ( j ) ∗ (C( j +1)+2∗C( j ) ) / 3 ;
55 end
56 f o r i =1:1: malla
57 xx ( i )=A( j )+B( j ) ∗D+C( j ) ∗Dˆ2+d ( j ) ∗Dˆ3
58 end
59 end
Después de ejecutar el programa y tomar los puntos necesarios con el cursor, la función spline
para el contorno de la mano fue:
8
Figura 3: Spline cúbico del contorno de la mano para 42 puntos (x, y).
Problema 5
Observe que
Z 1
4
I= =π
0 1 + x2
a) Use las reglas compuestas del punto medio, del trapecio y de Simpson para aproximar I
para varios tamaños de paso de integración hn = 1/n, n = 10, 50, 100, 250, 500, 1000, 1500, 2000.
Grafique el logaritmo del error absoluto contra n para cada paso. Describa el efecto de
redondeo de los errores cuando h → 0
Solución:
a) Para una partición dada a = x0 < x1 < x2 < · · · < xn = bLos métodos del trapecio y
Simpson están dados por las siguientes ecuaciones:
" n−1
#
h X
IT = f (a) + 2 f (xi ) + f (xn ) (4)
2 i=1
9
" #
h X X
IS = f (x0 ) + 2 f (xi ) + 4 f (xi ) + f (xn ) (5)
3 i pares tq i<n i impares tq i<n
function I = trapecio(f,a,b,n)
h=(b-a)/n; xi=a:h:b;
I= h/2*(f(xi(1))+2*sum(f(xi(2:(end-1))))+f(xi(end)));
end
function I = simpsons(f,a,b,n)
h=(b-a)/n; xi=a:h:b;
I= h/3*(f(xi(1))+2*sum(f(xi(3:2:(end-2))))+
4*sum(f(xi(2:2:(end-1))))+f(xi(end)));
end
Utilizando las funciones trapecio y simpsons para n = 10, 50, 100, 250, 500, 1000, 1500, 2000
y graficando el logaritmo del error absoluto contra n se obtiene
10
La figura 4 nos deja ver dos cosas:
Según lo aprendido en clase, el error absoluto para el método del trapecio es:
11
b−a 00
con K = 12
f (µ), µ ∈ [a, b]. Luego:
12
Consideremos la matrı́z de extrapolación de Romberg:
R0,0 0 0 ··· 0
R1,0
R1,1 0 ··· 0
R = R2,0
R2,1 R2,2 ··· 0
.. .. .. .. ..
. . . . .
Rm,0 Rm,1 Rm,2 · · · Rm,m
Note que para su diagonal se tiene que h = 1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64
13
Figura 7: Gráfica del logaritmo del error absoluto contra log(h) para el método de Romberg.
Vemos que los puntos describen una función convexa. Esto quiere decir que conforme
se incrementa el número de iteraciones (m) el orden de convergencia incrementa lo
cual va de acuerdo a la teorı́a. Además comparando con la figura 5 vemos que el
método de Romberg converge mucho más rápidamente al valor objetivo con un h
considerablemente más grande (fijarse en los ejes x de las figuras 5 y 7) como se
discutió en clase.
Se probó en clase que para el método de Romberg con m iteraciones se tiene que el
orden de convergencia es O(h2(m+1) ). Para verificar esto aplicamos el método con m = 2
h = 1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/8 y graficamos el logaritmo del valor absoluto de
los errores contra log(h):
14
Figura 8: La pendiente en el intervalo [−2,5, 1] es varı́a entre 5,995 y 5,999 (≈ 6)
|R2 (h) − π| = α6 h6 + α8 h8 + · · ·
|R2 (h) − π| = α6 h6 + E(h)
Es decir, para valores pequeños de h, log |R2 (h) − π| debe comportarse como una recta
de pendiente 6. Como se puede apreciar en la figura 8.
15