Академический Документы
Профессиональный Документы
Культура Документы
M
etodos Num
ericos para el
C
alculo Cientfico con Matlab
TOMO 2
Presentado por:
Mera Carrasco, Junior Lino
Asesor:
Dr. Collantes Santisteban, Luis Jaime
UNPRG
UNIVERSIDAD NACIONAL
PEDRO RUIZ GALLO
M
etodos Num
ericos para el C
alculo
Cientfico con Matlab
TOMO 2
INTERPOLACION
Presentado por:
Asesor:
LAMBAYEQUE PERU
2014
Introducci
on
La presentacion de estos tomos tiene su origen en los Seminarios denominados FUN
DAMENTOS DE ECUACIONES NO LINEALES, INTERPOLACION,
DIFEREN E INTEGRACION
NUMERICA
CIACION
PARA EL CALCULO
CIENTIFICO y
CALCULO
CIENTIFICO DE ECUACIONES NO LINEALES, INTERPOLACION,
E INTEGRACION
NUMERICA
DIFERENCIACION
CON MATLAB desarrollados
en Diciembre del 2012 como investigacion de los cursos de Seminario de Matematica
Pura y Aplicada de la carrera profesional de Matematicas de la Universidad Nacional
Pedro Ruiz Gallo con el asesoramiento del Dr. Luis Jaime Collantes Santisteban, dichos
trabajos enfocaban la parte teorica y practica de algunos temas del Calculo Cientfico.
Estos tomos no son documentos comerciales, por el contrario decidimos trabajar para
que se encuentre al alcance de todos, es bien sabido la dificultad que tienen estudiantes
y profesionales de ingeniera, ciencias medicas, ciencias economicas entre otras para idealizar sus problemas y desarrollar un modelo matematico adecuado en algunos casos es
difcil porque la aplicacion resulta excesivamente compleja o los metodos analiticos no se
adecuan muy bien a sus resultados por ello es conveniente el uso de metodos numericos
los cuales conducen a soluciones aproximadas pero mas manejables y se puede dar uso
a un ordenador provisto de un software adecuado, para nuestro caso Matlab.
Metodos Numericos para el Calculo Cientfico con Matlab esta divido en 7 tomos:
Metodos Numericos para el Calculo Cientfico con Matlab, explicara de manera sencilla
y con ejemplos el uso y la programacion de Interfaces Graficas de Usuario (GUI) as como el clasico uso de los archivos .m y por supuesto la solucion manual.
En el primero revisaremos la parte teorica sobre Interpolacion en la busqueda de la construccion de una funcion matematica a partir de ciertos puntos dados y los diferentes
metodos que pueden surgir.
Dejaremos para el final los codigo fuente utilizados en la creacion de las interfaces graficas.
Por favor, soy Rodney McKay, difcil tarda unos segundos. Imposible, un par de minutos. Dr. Rodney McKay - Stargate Atlantis
INDICE GENERAL
1. Interpolaci
on
13
14
16
18
21
23
28
. . . . . . . . . . . . . . . . . . . . . . .
2. Interpolaci
on y aproximaci
on
2.1. Comparacion de Metodos Iteractivos . . . . . . . . . . . . . . . . . . . .
3. Codigo Fuente de los GUIS
31
33
45
45
48
50
52
54
Captulo 1
INTERPOLACION
1.1.
Interpolaci
on polin
omica
Una funcion de interpolacion es aquella que pasa a traves de puntos dados como datos
{(xi , yi ), i = 0, 1, 2, . . . , n} (los puntos xi son todos distintos y se llaman nudos), los
cuales se muestran comunmente por medio de una tabla de valores o se toman directamente de una funcion dada, obtenida por muestreo o experimentacion. Suponemos que
los datos corresponden a los valores de una funcion fe desconocida (a veces es conocida,
pero queremos cambiarla por una funcion mas sencilla de calcular). El ajuste de curvas trata el problema de construir una funcion que aproxime muy bien estos datos es
decir :
fe(xi ) = yi
i = 0, 1, . . . , n.
(1.1)
Donde fe se llama interpolante del conjunto de datos {yi } y las ecuaciones 1.1 son las
condiciones de interpolacion. Un caso particular de ajuste de curvas es la interpolacion
polinomial: En este caso se construye un polinomio p(x) que pase por los puntos de la
tabla. Podran considerarse varios tipos de interpolantes como:
El interpolante polinomico: fe(x) = a0 + a1 x + a2 x2 + . . . + an xn
a0 + a1 x + . . . + ak xk
ak+1 + ak+2 x + . . . + ak+n+1 xn
1.
Interpolaci
on
Por simplicidad solamente consideraremos aquellos interpolantes que dependen linealmente de los coeficientes desconocidos ai. Ambos, los interpolantes polinomico y trigonometrico, entran en esta categora, mientras que el interpolante racional no.
En el siguiente ejemplo consideremos datos que relaciona temperatura con el segundo
coeficiente virial.
Ejemplo 1.1.1. Considere los siguiente datos para el nitrogeno (N2 ) :
T (K)
100
200
300
400
450
500
600
B(cm3 /mol)
-160
-35
-4.2
9.0
16.9
21.3
B(cm 3/ mol)
100
200
300
400
450
500
600
50
100
1.
Interpolaci
on
1.1.1.
Como los polinomios de Taylor no son adecuados para la interpolacion es necesario hacer
uso de metodos alternos. En esta seccion encontraremos polinomios de aproximacion que
se determinan con solo especificar determinados puntos en el plano por donde deben
pasar. Centremonos en la interpolacion polinomica. Se tiene el siguiente resultado:
Proposici
on 1.1.1. Para cualquier conjunto de pares {xi , yi }, i = 0, . . . , n , con nudos
distintos xi , existe un u
nico polinomio de grado menor o igual que n, que indicamos por
Q
on de los valores yi en los nudos xi , tal que :
n y llamamos polinomio de interpolaci
Y
(xi ) = yi
i = 0, . . . , n
(1.2)
En caso de que los {yi , i = 0, . . . , n} representen los valores alcanzados por una funcion
Q
continua f , n se llama polinomio de interpolaci
on de f (abreviadamente, interpolante
Q
de f ) y sera denotado por n f.
Demostracion. Para verificar la unicidad procedemos por reduccion al absurdo. SupongQ
Q
amos que existan dos polinomios distintos de grado n, n y n , ambos satisfaciendo la
Q
Q
relacion nodal 1.2. Su diferencia, n n , sera un polinomio de grado n que se anula
El problema de encontar un polinomio de primer grado que pase por los puntos disjuntos (x0 , y0 ) y (x1 , y1 ) es el mismo que el de aproximar una funcion f , para la cual
f (x0 ) = y0 y f (x1 ) = y1 por medio de un polinomio de primer grado que interpole los
valores de f en los puntos dados o que coincida con ellos. Primero definiremos las funQ
x x1
x x0
ciones : 0 (x) =
y 1 (x) =
. y se define entonces (x) = 0 (x)f (x0 ) +
x0 x1
x1 x0
1 (x)f (x1 ), como 0 (x0 ) = 1, 0 (x1 ) = 0, 1 (x0 ) = 0 y 1 (x1 ) = 1, tenemos:
Q
Q
(x0 ) = 1f (x0 )+0f (x1 ) = f (x0 ) = y0 y
(x1 ) = 0f (x0 )+1f (x1 ) = f (x1 ) = y1 .
Q
As que
es la u
nica funcion lineal que pasa por (x0 , y0 ) y (x1 , y1 ) .
A fin de generalizar el concepto de interpolacion lineal, consideremos la construccion de
un polinomio de grado menor o igual que n que pasa por los n+1 puntos: (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )
1.
Interpolaci
on
9
Y
y=f(x)
y = f(x )
1
1
y= f(x )
y=
P
n
1
=
0
Si j = k
Caso contrario
x
0
...
1
x
k-1
x
k
. ..
k+1
x
n-1
X
n
1.
Interpolaci
on
10
n
Q
P
Este polinomio esta dado por: (x) = y0 0 (x) + . . . + yn n (x) =
yk k (x)
n
k=0
k (x) =
x xj
xk xj
j=0j6=k
En efecto, este polinomio satisface las condiciones de interpolacion 1.2, puesto que :
n
n
Y
X
X
(xi ) =
yk k (xi ) =
yk ik = yi
n
k=0
i = 0, . . . , n
k=0
y f (0,6) = 0,5533387.
En la figura 1.2 se observa que 1 aproxima mejor a y = f (x) que 1 .
1.
Interpolaci
on
11
0.8
0.8
y = f(x)
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.6
0.8
y=
0.2
0.4
f(x)
0.6
0.8
Ejemplo 1.1.3. Para el siguiente conjunto de Pares: {(1, 0), (2, 1), (3, 2), (4, 5)},
construir el polinomio de interpolacion.
Soluci
on. Los polinomios de Lagrange para dichos pares de puntos viene dados por
(x 2)(x 3)(x 4)
(1 2)(1 3)(1 4)
(x 1)(x 3)(x 4)
1 (x) =
(2 1)(2 3)(2 4)
(x 1)(x 2)(x 4)
2 (x) =
(3 1)(3 2)(3 4)
(x 1)(x 2)(x 3)
3 (x) =
(4 1)(4 2)(4 3)
0 (x) =
1 3
(x 9x2 + 26x 24)
6
1
= (x3 8x2 + 19x 12)
2
1 3
=
(x 7x2 + 14x 8)
2
1
= (x3 6x2 + 11x 6)
6
=
I tal que:
En f (x) = f (x)
Y
n
f n+1() Y
f (x) =
(x xi ).
(n + 1)! i=0
(1.3)
1.
Interpolaci
on
12
f (t) [f (x)
= f (t)
f (t) [f (x)
Puesto que f C
n+1
(I), y
Q
Q
f (x)]
n
Q
i=0
(txi )
(xxi )
tendremos
g(xk ) = f (xk )
f (xk ) [f (x)
f (x)]
f (x) [f (x)
n
Y
(xk xi )
(x xi )
i=0
f (x)]
n
Q
i=0
= 0 [f (x)
f (x)] 0 = 0
(xxi )
(xxi )
= f (x)
f (x) [f (x)
f )(n+1) () [f (x)
Por ser
n+1
f (x)]
cero, Asimismo,
n
Q
i=0
d
dtn+1
Q
" n
#t=
Y (t xi )
(x xi )
i=0
(1.4)
(txi )
(xxi )
n
Y
(t xi )
1
= Qn
tn+1 + ( termino de menor grado en t)
(x
x
)
(x
x
)
i
i
i=0
i=0
n
dn+1 Y (t xi )
(n + 1)!
= Qn
n+1
dt
(x xi )
i=0 (x xi )
i=0
0 = f (n+1) () 0 [f (x)
Y
n
f (x), tendremos
(n + 1)!
f (x)] Qn
i=0 (x xi )
f (x)
Y
n
f n+1 () Y
(x xi ).
f (x) =
(n + 1)! i=0
1.
Interpolaci
on
13
0,841470
(1 0,4)(1 0,8) = 0,050488
2
n
Y
hn+1
(x x1 ) n!
4
(1.5)
t=0
y, por consiguiente :
(1.6)
n xI
Este sorprendente resultado indica que, haciendo crecer el grado n del polinomio de
interpolacion, no necesariamente obtenemos una mejor reconstruccion de f .
1.1.2.
Fen
omeno de Runge
parece indicar que el error decrecera conforme se introduzcan mas nodos de interpolacion
(n ). Sin embargo, es importante notar que eso no es cierto, es decir, no siempre
se cumple que
lm |En f (x)| = 0,
1.
Interpolaci
on
14
ya que la cota depende de que las derivadas de la funcion f (x) no crezcan demasiado rapido. Este hecho, se expresa en la existencia funciones para las que la sucesion
Q
{ f (x)} diverge conforme n crece. Por ejemplo , Runge demostro en 1901 que para la
n
Q
funcion (llamada de Runge) f (x) = 1/(1 + x2), la sucesion { f (x)}, de polinomios que
n
Sin embargo, Krylov probo en 1962 que si la funcion f (z), de variable compleja, es
analtica en la region definida por la interseccion de los dos crculos de radio b a
centrados en z = a y z = b, entonces la interpolacion de la funcion f (x), de variable
real, en el intervalo [a; b] converge conforme el n
umero de nodos, n, en dicho intervalo
tiende a infinito, es decir,
lm |f (x)
f (x)| = 0
Pero la funcion de Ruge no es analitica ya que posee dos polos complejos, z = i, y por
tanto, no cumple las hipotesis del teorema de Krylov en el intervalo [5, 5].
Estas dificultades de convergencia con el proceso de interpolacion se conocen con el
nombre de fenomeno de Runge. Desde un punto de vista practico este fenomeno se
refleja en grandes oscilaciones del polinomio interpolador, sobre todo en los extremos
del intervalo de interpolacion. Una justificacion intuitiva de este comportamiento es que
Q
como el polinomio de interpolacion n f (x), de grado n, tiene n ceros, que en muchos
1.1.3.
Interpolaci
on de Chebyshev
El fenomeno de Runge puede evitarse si se usa una distribucion apropiada de los nudos.
En particular, en un intervalo arbitrario [a, b], podemos considerar los llamados nudos
de Chebyshev
xi =
a+b ba
+
x
bi , donde x
bi = cos(i/n),
2
2
(obviamente, xi = x
bi ,
i = 0, . . . , n
(1.7)
1.
Interpolaci
on
15
*
-5
*
0
Figura 1.3: La figura muestra la grafica de la funcion f (x) = 1/(1 + x2 )(Lnea verde) y
su polinomio de interpolacion (linea celeste) de grado 10 (11 nudos)
En efecto para esta distribucion especial de nudos es posible probar que, si f es una
Q
funcion continua y diferenciable en [a, b], n f converge a f cuando n para todo
x [a, b].
Los nudos de Chebyshev, que son las abscisas de nudos equiespaciados sobre la semicircunferencia unidad, estan en el interior de [a, b] y se acumulan cerca de los puntos
extremos de ese intervalo.
Otra distribucion no uniforme de nudos en el intervalo (a, b), que comparten las mismas
propiedades de convergencia que los nudos de Chebyshev, viene proporcionada por:
a+b ba
2i + 1
xi =
+
cos
i = 0, . . . , n
(1.8)
2
2
n+1 2
Ahora veremos los polinomios de Chebyshev , que son denotados por {Tn+1 (x)}, donde
Tn+1 (x) = cos((n + 1) arc cos(x)). La forma mas facil de construirlos es mediante la
relacion de recurrencia:
T0 (x) = 1, T1 (x) = x, Tn+1 (x) = 2xTn (x) Tn1 (x),
n = 1, 2, . . .
Ejemplo 1.1.5. Considerando de nuevo la funcion f del fenomeno de Runge, encontraremos los nudos de Chebyshev y su polinomio de interpolacion en dichos nodos.
Soluci
on. Para calcular los nudos haremos uso de la ecuacion (1.7) la cual se muestra
en la siguiente tabla. La siguiente figura muestra la comparacion entre el polinomio de
Chebychev y el fenomeno de Runge de la funcion f .
1.
Interpolaci
on
1.1.4.
16
xi
-5
-4.75528258
-4.04508497
-2.93892626
-1.54508497
1.54508497
2.93892626
4.04508497
10
4.75528258
11
Interpolaci
on trigonom
etrica
j = 0, . . . , n es decir,
(1.9)
a0 X
fe(x) =
+
[ak cos(kx) + bk sen(kx)]
2
k=1
(1.10)
a0 X
fe(x) =
+
[ak cos(kx) + bk sen(kx)] + aM +1 cos((M + 1)x)
2
(1.11)
k=1
M
X
k=M
ck eikx
(1.12)
1.
Interpolaci
on
17
*
-5
*
0
Figura 1.4: La figura muestra la grafica de la funcion f (x) = 1/(1 + x2 )(Lnea verde
punteada) , su polinomio de interpolacion (linea celeste) de grado 10 (11 nudos) y el
polinomio de Chebychev (linea roja).
siendo i la unidad imaginaria. Los coeficientes complejos ck estan relacionados con los
coeficientes ak y bk (tambien complejos) como sigue:
ak = ck + ck
bk = i(ck ck ),
k = 0, . . . , M
(1.13)
ck eikx =
k=M
M
P
ck (cos(kx) + i sen(kx))
k=M
M
P
k=1
M
+1
X
ck eikx
(1.14)
k=(M +1)
donde los coeficientes ck para k = 0, . . . , M son los mismos de antes, mientras que
cM +1 = c(M +1) = aM +1 /2. En ambos casos podramos escribir:
M +
fe(x) =
ck eikx
(1.15)
k=(M +)
1.
Interpolaci
on
18
A causa de su analogia con las series de Fourier, fe se llama serie de Fourier discreta.
ck eikjh = f (xj ),
j = 0, . . . , n
(1.16)
k=(M +)
Para el calculo de los coeficientes {ck } multipliquemos las ecuaciones 1.16 por eimxj =
eimjh , donde m es un entero entre 0 y n, y luego sumemos con respecto a j:
n
X
M +
ikjh imjh
ck e
j=0 k=(M +)
n
X
f (xj )eimjh
(1.17)
j=0
eijh(km) = (n + 1)km
j=0
eijh(km) =
j=0
1 (ei(km)h )n+1
1 ei(km)h
1.2.
1 X
ck =
f (xj )eikjh,
n + 1 j=0
k = (M + ), . . . , M +
(1.18)
M
etodo de Newton o de diferencias divididas
1.
Interpolaci
on
19
Q
(x) en x0 queda
n
Y
(x0 ) = f (x0 )
0
(x0 )
a1 = f (xx11)f
x0
Q
Q
f (x2 ) =
(x2 ) = (x1 ) + a2 (x2 x0 )(x2 x1 )
1 Q
f (x2 ) (x2 )
a2 = (x2 x0 )(x1 2 x1 )
..
.
Q
Q
f (xk ) =
(xk ) =
(xk ) + ak (xk x0 )(xk x1 ) . . . (xk xk1 )
k
k1
Q
f (xk )
(xk )
ak =
k1
f [x0 ]
f (x1 )f (x0 )
x1 x0
f [x0 , x1 ]
j=0
1.
Interpolaci
on
20
donde f [x0 , x1 , . . . , xk ] =
k = 1, 2, . . . , n
Esta u
ltima expresion se utiliza para generar las diferencias divididas en forma simple
por medio de una tabla denominada tabla de diferencias divididas. Por ejemplo,
para el caso n = 3, esta tabla queda de la siguiente manera
x
f []
x0
f [x0 ]
f [, ]
f [x0 , x1 ] =
x1
f [x0 , x1 , x2 ] =
x3
f [x2 ]f [x1 ]
x2 x1
f [x2 ]
f [x0 , x1 , x2 , x3 ]
f [x1 , x2 , x3 ] =
f [x2 , x3 ] =
f [, , , ]
f [x1 ]f [x0 ]
x1 x0
f [x1 ]
f [x1 , x2 ] =
x2
f [, , ]
f [x3 ]f [x2 ]
x3 x2
f [x3 ]
f [x0 , x1 ] =
1.
Interpolaci
on
21
Teorema 1.2.1 ((El error del polinomio en forma de Newton)). Supongamos que f
C k [a, b] y x0 , x1 , . . . , xn son n
umeros distintos en [a, b]. Entonces existe un n
umero en
(a, b) con
f [x0 , x1 , . . . , xn ] =
Demostracion. Sea g(x) = f (x)
f (n) ()
n!
Q
Q
(x). Puesto que f (xk ) = (xk ) para cada k =
n
0, 1, . . . , n, la funcion g tiene n + 1 ceros distintos en [a, b]. Conforme al teorema generalizado de Rolle, existe en (a, b) un n
umero con g (n) () = 0, tal que
0 = f (n) () (
Y
)(n) ()
n
Por ser
Y
(x))(n) = n!f [x0 , x1 , . . . , xn ]
n
1.3.
f (n) ()
n!
Interpolaci
on lineal a trozos
El interpolante de Chebyshev proporciona una aproximacion precisa de funciones regulares f cuya expresion es conocida. Cuando f no es regular o cuando f solo se conoce
por sus valores en un conjunto de puntos (que no coincide con los nudos de Chebyshev),
uno puede recurrir a un metodo de interpolacion diferente, se llama interpolacion lineal
compuesta.
La interpolacion lineal a trozos es la mas simple de las interpolaciones. Supongamos que
se quiere calcular el valor una funcion f (x) en un punto dado , la cual conocemos una
distribucion de nudos (no necesariamente uniforme) x0 < x1 < . . . < xn y denotemos
por Ii = [xi , xi+1 ] tal que [xi , xi+1 ].
Aproximamos f por una funcion continua en cada Ii , esta dada por el segmento que une
los puntos (xi , f (xi )) y (xi+1 , f (xi+1 )) (ver figura 1.5 ). Esta funcion lineal que aproxima
1.
Interpolaci
on
22
f (xi+1 ) f (xi )
(x xi )
xi+1 xi
para x Ii
(1.19)
y=f(x)
x0
....
i+1
...x
n-1
xn
Proposici
on 1.3.1. Si f C 2 (I), donde I = [x0 , xn ], entonces
max |f (x) H
1 f (x)|
xI
H2
max |f (x)|
8 xI
Ejemplo 1.3.1. El n
umero de turistas entrando a Chiclayo en el mes de agosto siguio
la siguiente tendencia.
dia
16
23
27
31
N de turistas
35
53
110
75
40
97
1.
Interpolaci
on
23
Soluci
on. Utilizando la ecuacion 1.19, obtenemos:
Ii
H
Q
f (x)
1.4.
[1, 9]
35 + 2,25(x 1)
[9, 16]
53 + 8,1429(x 9)
[16, 23]
[23, 27]
75 8,75(x 23)
[27, 31]
40 + 14,25(x 27)
Aproximaci
on por funciones spline
La palabra inglesa spline denota un cierto instrumento flexible usado en dibujo tecnico
que sirve para trazar curvas suaves.
Del mismo modo que hemos hecho para la interpolacion lineal a trozos, tambien se
puede definir la interpolacion polinomica a trozos de grado n 2. Por ejemplo, la interpolante cuadratica a trozos H
on continua que, sobre cada intervalo
2 f es una funci
Ii , reemplaza a f por su interpolacion polinomica en los puntos extremos de Ii y en su
punto medio. Si f C 3 (I), el error f H
aximo decae como H 3
2 f en la norma del m
si H tiende a cero.
1.
Interpolaci
on
24
Definici
on 1.4.2 ((Funcion spline c
ubico)). dado el conjunto de nodos x0 , x1 , . . . , xn ,
diremos que la funcion S3 es un spline c
ubico si cumple las siguientes condiciones:
1. Sobre cada Ii , para i = 0, . . . , n 1, s3 es un polinomio de grado 3 que interpola
los pares de valores (xj , f (xj )) para j = i, i + 1 ( el cual sera llamado spline de
interpolacion);
2. S3 tiene derivadas primera y segunda continuas en los nudos xi , i = 1, . . . , n 1
Para su completa determinacion, necesitamos 4 condiciones sobre cada intervalo (por
los cuatro coeficientes del polinomio de grado tres), por consiguiente un total de 4n
ecuaciones que podemos proporcionar como sigue:
n + 1 condiciones provienen del requerimiento de interpolacion en los nudos xi , i =
0, . . . , n
S3 (xi ) = f (xi ) = yi
i = 0, 1, . . . , n;
n 1 ecuaciones adicionales se siguen del requerimiento de continuidad del polinomio en los nudos interiores x1 , . . . , xn1
S3 |[xi1 ,xi] (xi ) = S3 |[xi,xi+1 ] (xi )
i = 1, . . . , n 1
1.
Interpolaci
on
25
i = 1, . . . , n 1
Dado que tenemos un total de 4n 2 condiciones, debemos imponer dos nuevas condiciones para poder determinar los coeficientes de la funcion spline y son:
S3 (x0 ) = 0,
S3 (xn ) = 0
(1.20)
(1.21)
i = 1, . . . , n
(1.22)
1.
Interpolaci
on
26
Al definir cn = S3 (xn )/2 y aplicar la segunda derivada, se obtiene otra relacion entre
los coeficientes de S3 |[xi ,xi+1 ] . En este caso, para cada i = 1, . . . , n
ci = ci1 + 3di1 hi1
(1.23)
Al despejar di1 en la ecuacion (1.23) y sustituir este valor en las ecuaciones (1.21) y
(1.22), para cada i = 1, . . . , n se obtiene las ecuaciones
h2i1
ai = ai1 + bi1 hi1 +
(2ci1 + ci )
3
(1.24)
(1.25)
La relacion final que incluye los coeficientes se obtiene resolviendo la ecuacion correspondiente en la forma de la ecuacion (1.24), primero para bi1
bi1 =
1
hi1
(ai ai1 )
hi1
(2ci1 + ci )
3
(1.26)
1
hi2
(ai1 ai2 )
hi2
(2ci2 + ci1 )
3
(1.27)
3
hi1
(ai ai1 )
3
hi2
(ai1 ai2 )
(1.28)
para cada i = 2, . . . , n
Ahora debemos encontrar los valores de {ci }ni=1 ya que estas proporcionan el resto las
constantes {bi }ni=1 partiendo de la ecuacion (1.26) y {di }ni=1 de la ecuacion (1.23) para
construir los polinomios c
ubicos.
Ahora utilizaremos las ecuaciones (1.20), se tiene cn = S3 (xn )/2 = 0 y que
0 = S3 |[x0 ,x1 ] (x0 ) = 2c0 + 6d0 (x0 x0 ) asi que c0 = 0.
Las dos condiciones c0 = 0 y cn = 0 junto con las ecuaciones (1.28) produce un sistema
lineal descrito por la ecuacion vectorial AX = b, donde A es la matriz tridiagonal de
1.
Interpolaci
on
27
orden (n + 1) (n + 1)
AX
1
h0 2(h0 + h1 )
h1
...
..
.
0
..
.
h2
0
..
.
h1
..
.
2(h1 + h2 )
hn2
a1 )
a0 )
..
3
3
(an an1 ) hn2 (an1 an2 )
hn1
0
3
(a2
h1
3
(a1
h0
= b
c0
c1
..
.
cn
1 0 0
1 4 1
A=
0 1 4
0 0 0
y X tienen la forma:
0
0
3(e2 2e + 1)
0
, b =
3(e3 2e2 + e)
1
1
0
c
0
c1
yX =
c2
c3
c0 = 0,
c0 + 4c1 + c2 = 3(e2 2e + 1)
c1 + 4c2 + c3 = 3(e3 2e2 + e)
c3 = 0
El sistema tiene como solucion a c0 = c3 = 0 , c1 = 0, 75685 y c2 = 5, 83007
Utilizando las ecuaciones (1.26) y (1.23) obtenemos los siguientes coeficientes: b0 =
1.
Interpolaci
on
28
1 + 1,46600x + 0,25228x3 ,
x [0, 1]
S3 (x) =
2,71828 + 2,22285(x 1) + 0,75685(x 1)2 + 1,69107(x 1)3 , x [1, 2]
y= S (x)
3
x
y= e
2
e
e
1
1
1.5.
M
etodo de mnimos cuadrados
El metodo de mnimos cuadrados fue descubierta por Carl Friedrich Gauss, al predecir
la posicion de la orbita del cuerpo celeste Ceres en diciembre de 1801.
Ya hemos observado que una interpolacion de Lagrange no garantiza una mejor aproximacion de una funcion dada cuando el grado del polinomio se hace grande. Este problema puede ser superado mediante la interpolacion compuesta (tal como la interpolacion
lineal a trozos o por splines). Sin embargo, ninguna es apropiada para extrapolar informacionde los datos disponibles, esto es, para generar nuevos valores en puntos situados
fuera del intervalo donde se dan los nudos de interpolacion.
Supongamos que se dispone de los datos (xi , yi ), i = 0, . . . , n, donde ahora yi podra
representar los valores f (xi ) alcanzados por una funcion dada f en los nudos xi . Para
un entero dado m 1 (usualmente, m n) buscamos un polinomio fe Pm que
satisfaga la desigualdad
n
X
i=0
n
X
i=0
(1.29)
1.
Interpolaci
on
29
para cada polinomio pm Pm . Si existe, fe sera llamda aproximacion de mnimos cuadrados en Pm del conjunto de datos {(xi , yi ), i = 0, . . . , n}. Salvo m n, en general no
sera posible garantizar que fe(xi ) = yi para todo i = 0, . . . , n.
Poniendo
fe(x) = a0 + a1 x + . . . + am xm
(1.30)
donde los coeficientes a0 , . . . , am son desconocidos, el problema (1.29) puede ser replanteado como sigue: hallar a0 , a1 , . . . , am tales que
(a0 , a1 , . . . , am ) =
donde
(b0 , b1 , . . . , bm ) =
n
X
mn
{bi ,i=0,...,m}
(b0 , b1 , . . . , bm ),
2
[yi (b0 + b1 xi + . . . + bm xm
i )]
i=0
(a0 , a1 ) = 0,
b0
(a0 , a1 ) = 0,
b1
i=0
n
P
i=0
xi + a1
i=0
Poniendo D = (n + 1)
n
P
i=0
x2i (
a0 =
n
P
x2i
i=0
i=0
n
P
(1.31)
yi xi
i=0
xi )2 , la solucion se escribe
i=0
n
P
i=0
yi
n
P
j=0
(n + 1)
a1 =
n
P
x2j
n
P
i=0
n
P
j=0
xj
n
P
xi yi
i=0
D
n
n
P
P
xi yi
xj
yi
j=0
i=0
(1.32)
1.
Interpolaci
on
30
El correspondiente polinomio fe(x) = a0 + a1 x se conoce como recta de mnimos cuadrados, o recta de regresion.
a0
+a1
xi
+a1
i=0
a0
..
.
n
P
i=0
n
P
i=0
n
P
i=0
xm
i
+a1
..
.
n
P
i=0
xi
+...+
x2i
am
+ . . . + am
n
P
i=0
n
P
i=0
xm+1
+...+
i
am
xm
i
xm+1
i
..
.
n
P
i=0
x2m
i
n
P
yi
i=0
n
P
xi yi
(1.33)
i=0
..
.
n
P
i=0
xm
i yi
0.05
0.11
0.15
0.31
0.46
0.52
0.70
0.74
0.82
0.98
1.17
yi
0.956
0.890
0.832
0.717
0.571
0.539
0.378
0.370
0.3606
0.242
0.104
Soluci
on. Para establacer dicha ecuacion usaremos las ecuaciones de 1.33 para m = 2
P
P
P
xi = 6,01
x2i = 4,6545
x3i = 4,1150
x4i = 3,9161
n + 1 = 11
P
yi = 5,905
P
xi yi = 2,1839
P 2
xi yi = 1,3357
Captulo 2
Y APROXIMACION
INTERPOLACION
En el subcampo matematico del analisis numerico, se denomina interpolacion a la obtencion de nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos.
En ingeniera y algunas ciencias es frecuente disponer de un cierto n
umero de puntos
obtenidos por muestreo o a partir de un experimento y pretender construir una funcion
que los ajuste.
k = 1, 2, ..., n
A la que se denomina funcion interpolante de dichos puntos. A los puntos xk se les llama
nodos. Algunas formas de interpolacion que se utilizan con frecuencia son la interpolacion lineal, la interpolacion polinomica (de la cual la anterior es un caso particular),
la interpolacion por medio de spline o la interpolacion polinomica de Hermite.
2.
Interpolaci
on y aproximaci
on
32
Este Capitulo trata sobre como encontrar polinomios interpolantes, mediante la implementacion de Interfaces Graficas de Usuario (GUI) en Matlab. Los metodos numericos
de Interpolacion y aproximacion de funciones suelen ser metodos iterativos que producen
un polinomio, que se espera, que converja a la funcion.
2.
Interpolaci
on y aproximaci
on
2.1.
33
Comparaci
on de M
etodos Iteractivos
En esta seccion analizaremos la solucion del problema propuesto en la pag. 79 del Libro
Calculo Cientifico con Matlab y Octave cuyo enunciado es el siguiente:
x = [55 25 + 5 + 35 + 65];
y = [3,25 3,2 3,02 3,32 3,1]
2.
Interpolaci
on y aproximaci
on
Soluci
on 1. Utilizando el Metodo de Interpolacion de Lagrange.
34
2.
Interpolaci
on y aproximaci
on
Soluci
on 2. Utilizando el Metodo de Diferencias Divididas Arriba.
35
2.
Interpolaci
on y aproximaci
on
Soluci
on 3. Utilizando el Metodo de Diferencias Divididas Abajo.
36
2.
Interpolaci
on y aproximaci
on
Soluci
on 4. Utilizando el Metodo de Polinomica a Trozos - Lineal.
37
2.
Interpolaci
on y aproximaci
on
Soluci
on 5. Utilizando el Metodo de Polinomica a Trozos - Splines.
38
2.
Interpolaci
on y aproximaci
on
Soluci
on 6. Utilizando el Metodo de Polinomica a Trozos - Cubica.
39
2.
Interpolaci
on y aproximaci
on
Soluci
on 7. Utilizando el Metodo de Polinomica a Trozos - Discreta.
40
2.
Interpolaci
on y aproximaci
on
Soluci
on 8. Utilizando el Metodo de Minimos Cuadrados - Grado 2.
41
2.
Interpolaci
on y aproximaci
on
Soluci
on 9. Utilizando el Metodo de Minimos Cuadrados - Grado 3.
42
2.
Interpolaci
on y aproximaci
on
Soluci
on 10. Utilizando el Metodo de Minimos Cuadrados - Grado 4.
43
2.
Interpolaci
on y aproximaci
on
Soluci
on 11. Utilizando el Metodo de Minimos Cuadrados - Grado 5.
44
Captulo 3
3.1.
Interpolacion de Lagrange
i f l e n g t h ( X )==l e n g t h ( Y )
a x e s ( handles . grafica )
ejes =[ xc1 xd+1 yc1 yd + 1 ] ;
nn=l e n g t h ( X ) ;
f o r i =1: nn1
i f X ( i )<X ( i +1)
k=i +1;
else
k =0;
end
end
%Metodo de l a g r a n g e g u i
i f k==nn
%G r a f i c a
p l o t ( X , Y , 'om ' ) ;
a x i s ( ejes )
3.
46
h o l d on
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' o f f ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
= n1 1;
L = z e r o s ( n1 , n1 ) ;
i f l e n g t h ( X )==l e n g t h ( Y )
f o r k =1: n +1 ,
V = 1;
f o r j =1: n +1 ,
i f k = j ,
V = conv ( V , p o l y ( X ( j ) ) ) / ( X ( k )X ( j ) ) ;
end
end
L(k , : ) = V ;
end
C = YL ;
PX=vpa ( poly2sym ( C ) , 7 ) ;
fa=p o l y v a l ( C , aa ) ;
Pol =char ( PX ) ;
3.
drawnow
xc=min ( X ) ; xd=max( X ) ;
p l o t ( aa , fa , 'om ' ) ;
h o l d on
h2=ezplot ( PX , [ xc xd ] ) ;
s e t ( h2 , ' C o l o r ' , ' b ' , ' LineWidth ' , 2 )
t i t l e ( [ 'P( x ) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f o n t w e i g h t ' , ' b o l d ' )
h o l d off
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
47
3.
3.2.
48
i f l e n g t h ( X )==l e n g t h ( Y )
a x e s ( handles . grafica )
ejes =[ xc2 xd+2 yc2 yd + 2 ] ;
nn=l e n g t h ( X ) ;
f o r i =1: nn1
i f X ( i )<X ( i +1)
k=i +1;
else
k =0;
end
end
%Metodo de d i f d i v a b a j o g u i
i f k==nn
%G r a f i c a
p l o t ( X , Y , 'om ' ) ;
a x i s ( ejes )
x l a b e l ( 'X ' ) ; y l a b e l ( 'Y ' ) ;
g r i d on
end
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
h o l d on
3.
49
c o e f i c i e n t e s de l o s p o l i n o
m i o s i n t e r p o l a n t e s de Newton
C=D ( n , n ) ;
f o r k=(n 1) : 1 : 1
C=conv ( C , p o l y ( X ( k ) ) ) ;
m=l e n g t h ( C ) ;
C ( m )=C ( m )+D ( k , k ) ;
end
PX=vpa ( poly2sym ( C ) , 7 ) ;
fa=p o l y v a l ( C , aa ) ;
Pol =char ( PX ) ;
x=X ( 1 ) : 0 . 1 : X ( n ) ;
t=x ; s=e v a l ( PX ) ;
p l o t ( X , Y , 'om ' ) ;
g r i d on
xc=min ( X ) ; xd=max( X ) ;
p l o t ( aa , fa , 'om ' ) ;
h o l d on
h2=ezplot ( PX , [ xc xd ] ) ;
s e t ( h2 , ' C o l o r ' , ' b ' , ' LineWidth ' , 2 )
t i t l e ( [ 'P( x ) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f o n t w e i g h t ' , ' b o l d ' )
h o l d off
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
pa=num2str ( fa , ' %20.12 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;
s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;
3.
3.3.
50
i f l e n g t h ( X )==l e n g t h ( Y )
a x e s ( handles . grafica )
ejes =[ xc2 xd+2 yc2 yd + 2 ] ;
nn=l e n g t h ( X ) ;
f o r i =1: nn1
i f X ( i )<X ( i +1)
k=i +1;
else
k =0;
end
end
%Metodo de d i f d i v a r r i b a g u i
i f k==nn
%G r a f i c a
p l o t ( X , Y , 'om ' ) ;
a x i s ( ejes )
x l a b e l ( 'X ' ) ; y l a b e l ( 'Y ' ) ;
g r i d on
end
h o l d on
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
3.
51
c o e f i c i e n t e s de l o s p o l i n o
m i o s i n t e r p o l a n t e de Newton
C=D ( n , n ) ;
f o r k=(n 1) : 1 : 1
C=conv ( C , p o l y ( X ( k ) ) ) ;
m=l e n g t h ( C ) ;
C ( m )=C ( m )+D ( k , k ) ;
end
PX=vpa ( poly2sym ( C ) , 7 ) ;
fa=p o l y v a l ( C , aa ) ;
Pol =char ( PX ) ;
x=X ( 1 ) : 0 . 1 : X ( n ) ;
t=x ; s=e v a l ( PX ) ;
p l o t ( X , Y , 'om ' ) ;
g r i d on
xc=min ( X ) ; xd=max( X ) ;
p l o t ( aa , fa , 'om ' ) ;
h o l d on
h2=ezplot ( PX , [ xc xd ] ) ;
s e t ( h2 , ' C o l o r ' , ' b ' , ' LineWidth ' , 2 )
t i t l e ( [ 'P( x ) = ' Pol ] , ' f o n t s i z e ' , 8 , ' f o n t w e i g h t ' , ' b o l d ' )
h o l d off
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
else
DE LOS VECTORES' , 'AVISO ' , ' warn ' ) ;
msgbox ( 'REVISE EL TAMANO
end
pa=num2str ( fa , ' %20.12 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;
s e t ( handles . edit4 , ' s t r i n g ' , Pol ) ;
3.
3.4.
52
Interpolacion a Trozos
i f l e n g t h ( X )==l e n g t h ( Y )
a x e s ( handles . grafica )
ejes =[ xc2 xd+2 yc2 yd + 2 ] ;
a x i s ( ejes )
x l a b e l ( 'X ' ) ; y l a b e l ( 'Y ' ) ;
g r i d on
h o l d on
xf=xc : 0 . 0 1 : xd ;
opcion= g e t ( handles . popupmenu1 , ' Value ' ) ;
switch opcion
case 1
msgbox ( ' E l i j a uno de l o s metodos ' , ' warn ' ) ;
case 2
pa=num2str ( lin , ' %20.10 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;
lin2=i n t e r p 1 ( X , Y , xf ) ;
p l o t ( xf , lin2 , ' C o l o r ' , ' r ' )
p l o t ( X , Y , 'om ' ) ;
p l o t ( aa , lin , ' b ' ) ;
case 3
pa=num2str ( spl , ' %20.10 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , pa ) ;
spl2=i n t e r p 1 ( X , Y , xf , ' s p l i n e ' ) ;
p l o t ( xf , spl2 , ' C o l o r ' , ' b ' )
p l o t ( X , Y , 'om ' ) ;
p l o t ( aa , spl , ' go ' ) ;
case 4 ;
pa=num2str ( cub , ' %20.10 f ' ) ;
3.
53
3.
3.5.
54
Minimos Cuadrados
i f l e n g t h ( X )==l e n g t h ( Y )
a x e s ( handles . grafica )
ejes =[ xc1 xd+1 yc1 yd + 1 ] ;
nn=l e n g t h ( X ) ;
f o r i =1: nn1
i f X ( i )<X ( i +1)
k=i +1;
else
k =0;
end
end
%Metodo de minimoscuadrados
i f k==nn
%G r a f i c a
p l o t ( X , Y , 'om ' ) ;
a x i s ( ejes )
x l a b e l ( 'X ' ) ; y l a b e l ( 'Y ' ) ;
g r i d on
end
3.
55
else
msgbox ( 'EL GRADO DEBE SER UN NUMERO ENTERO POSITIVO ' , 'AVISO ' , ' warn ' ) ;
end
BIBLIOGRAFIA
[1] Buhmann, M. D. (2004). Radial Basis Functions: Theory and Implementations.
Cambridge University Press. United Kingdom.
J.
Apuntes
de
C
alculo
Numerico[en
http://ma1.eii.us.es/Material/Cal_Num_itis_Apuntes.pdf
lnea].
[consulta
2012]
[5] Comer E.(2009) Metodos Numericos Instituto Tecnologico de Tijuana.
[6] Mathews J.; Fink K.(2000) Metodos Numericos con MATLAB. Prentice Hall,
Madrid.
[7] Meja C.(2002) Invitacion al An
alisis Numerico. Universidad Nacional de Colombia, Medelln.
[8] Mora W.F.(2010) Introduccion a los Metodos Numericos. Instituto Tecnologico de
Costa Rica.
[9] M
uller H. (1996) Una Introducci
on al An
alisi Numerico. Universidad Mayor de
San Simon. Cochabamba, Bolivia.
[10] Nakamura, S. (1992). Metodos Numericos Aplicados con Software. Pearson Educacion.
BIBLIOGRAFIA
57
G.
APUNTES
DE
MATLAB [en
lnea].