Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
An
alisis Numerico MAT-270
Laboratorio 4 Interpolaci
on
1.
Nociones B
asicas
El objetivo de este laboratorio es aprender tecnicas de interpolacion, polinomial y por splines, y su utilizaci
on
para crear gr
aficos.
Dado dos vectores x e y de la misma longitud m, el comando MATLAB polifit determina los coeficientes del
polinomio de grado n:
p(x) = c1 xn + ....cn x + cn+1
Cuya gr
afica ajusta por cuadrados mnimos los puntos (x1 , y1 ), ..., (xm , ym ). En particular, cuando n = m 1,
p(x) es el polinomio de interpolaci
on determinado por esos puntos.
1. Justifique esta u
ltima afirmaci
on (apoyese en la diferencia entre el polinomio de interpolacion de Lagrange
y el de mnimos cuadrados).
2. Aprenda a utilizar el comando polyfit mediante help de MATLAB.
En MATLAB se pueden almacenar los n + 1 pares (xi , yi ) en los vectores x e y, y entonces la
instrucci
on c = polyf it(x, y, n) proporcionara los coeficientes del polinomio de interpolacion.
Para ser m
as precisos, c(1) contendra el coeficiente de xn, c(2) el de xn+1 , ... y c(n + 1) el
Q
valor de m (0).
(a) Genere los puntos (x, sin(x)) para x = 0, 1, ...., 10.
(b) Dibuje en un mismo gr
afico estos puntos y los polinomios de grados 5 y 10 que los ajustan en el
sentido de los cuadrados mnimos. Utilice para ello los comandos polyfit y polyval.
p = polyval(c, z) permite calcular el valor p(j) alcanzado por el polinomio de interpolaci
on
en z(j); con j = 1, .., n siendo este u
ltimo un conjunto de n puntos arbitrarios.
3. Dibuje en un mismo gr
afico:
(a) La funci
on f (x) =
1
1+x2
2.
Splines
Para formar un spline c
ubico S(x) de la forma:
Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3
(1)
Donde j = 0, 1, ..., n 1 es el n
umero de intervalos (o nodos) de los puntos a interpolar.
Luego aplicando la condici
on:
Sj (xj+1 ) = Sj+1 (xj+1 ), j = 0, 1, ..., n 2
CSC/FGM
(2)
1
Universidad T
ecnica Federico Santa Mara
Departamento de Matem
atica
An
alisis Numerico MAT-270
Tenemos que:
aj+1 = Sj (xj+1 ) = Sj+1 (xj+1 )
(3)
(4)
Se define adem
as:
bn = S 0 (xn )
0
(5)
2
(6)
Si aplicamos la condici
on de que la derivada debe ser igual en los extremos de cada spline.
0
Sj0 (xj+1 ) = Sj+1
(xj+1 ), j = 0, 1, ..., n 2
(7)
0
bj+1 = Sj0 (xj+1 ) = Sj+1
(xj+1 ) = bj + 2cj (hj ) + 3dj (hj )2
(8)
Por lo que:
Adem
as digamos que:
cn =
S 00 (xn )
2
(9)
Y con la condici
on de que la segunda derivada debe ser igual en los extremos de cada spline:
00
Sj00 (xj+1 ) = Sj+1
(xj+1 ), j = 0, 1, ..., n 2
(10)
cj+1 = cj + 3dj hj
(11)
cj+1 cj
3hj
(12)
Si si utilizamos la ecuaci
on 3 tenemos que:
aj+1 = aj + bj hj + cj h2j + dj h3j
(13)
h2j
(3cj + cj+1 )
3
(14)
(15)
CSC/FGM
1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3
(16)
Universidad T
ecnica Federico Santa Mara
Departamento de Matem
atica
An
alisis Numerico MAT-270
3
hj1
(aj+1 aj )
(2cj1 + cj )
hj
3
(17)
Notar que aj y hj son valores conocidos (ecuacion 4). Por lo que el sistema lineal Ax=b queda:
h0
A= .
..
...
2(h0 + h1 )
h1
...
2(h1 + h2 ) h2
..
..
.
.
...
..
.
0
..
.
h1
..
.
...
hn1
...
0
0
..
..
.
.
c0
3
3
c1
h1 (a2 a1 ) h0 (a1 a0 )
..
..
b=
.
;x = .
.
..
..
.
3
3
(a
a
)
(a
a
)
cn
n
n1
n1
n2
hn1
hn2
0
(18)
(19)
1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3
cj+1 cj
dj =
.
3hj
(20)
(21)
3.
Archivos .MAT
En el archivo pieza.mat contiene los valores valores medidos en un sistema de coordenadas rectangulares
del plano de la secci
on de una pieza mecanica. El contorno de esta pieza consta de tres curvas suaves que
se cortan en distintos
angulos. Por ello, las coordenadas de estos puntos se almacenaron en tres grupos,
(x1 , y1 ), (x2 , y2 ), (x3 , y3 ), uno para cada una de estas curvas.
1. Dibuje en un mismo gr
afico los tres conjuntos de puntos. Verifique que las tres curvas determinan un
contorno cerrado y que se cortan formando angulos.
2. Justifique por que no puede utilizarse un u
nico spline c
ubico para dibujar la seccion de la pieza.
3. Dibuje la secci
on de la pieza mediante tres splines c
ubicos, uno para cada curva suave.
El archivo espiral.mat contiene valores medidos de las coordenadas de una espiral.
1. Grafique los puntos y la espiral correspondiente mediante el comando plot de Matlab.
2. Interpole por separado los puntos (i, xi ) e (i, yi ) mediante splines c
ubicos y grafique la curva parametrizada que se obtiene.
CSC/FGM