Sei sulla pagina 1di 3

Universidad T

ecnica Federico Santa Mara


Departamento de Matem
atica

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

para 5 <= x <= 5.

(b) Los puntos (x, f (x)) para x = 5, 4, ..., 4, 5.


(c) Los polinomios de grado 6 y 10 que ajusta esos puntos en el sentido de los cuadrados mnimos.
Explique la raz
on delas oscilaciones que observa.
4. Dibuje en un mismo gr
afico la funcion y los puntos del item anterior, y el spline c
ubico natural que
interpola esos mismos puntos. Para hacerlo, vea como se utiliza el comando spline mediante help. Adem
as
formule una funci
on que haga las splines, utilizando el metodo mencionado a continuacion.

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)

Luego usaremos la siguiente notaci


on hj = xj+1 xj , para j = 0, 1, ..., n 2. Por lo que aj es igual a :
aj = f (xj ) = yj

(4)

Se define adem
as:
bn = S 0 (xn )
0

(5)
2

S (x) = bj + 2cj (x xj ) + 3dj (x xj )

(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)

Por lo que cj+1 es igual a:

Por lo que podemos dejar a dj en funci


on de:
dj =

cj+1 cj
3hj

(12)

Si si utilizamos la ecuaci
on 3 tenemos que:
aj+1 = aj + bj hj + cj h2j + dj h3j

(13)

Reemplazando 12 en 8 y en 3 quedan las ecuaciones:


aj+1 = aj + bj hj +

h2j
(3cj + cj+1 )
3

bj+1 = bj + hj (cj + cj+1

(14)
(15)

Por lo que podemos dejar a bj en funci


on de aj+1 , aj y cj , cj+1 .
bj =

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

Finalmente si tomamos la ecuaci


on 15 y la evaluamos en j (en vez de j + 1) podemos reemplazar la ecuaci
on 16
evaluada en j y j 1. Con lo que queda la siguientes ecuaciones lineales:
hj1 cj1 + 2(hj1 hj )cj + hj cj+1 =

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

..
..
.
.

2(hn2 + hn1 ) hn1


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)

Conociendo los coeficientes cj despejamos los bj y dj tal que:


bj =

1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3
cj+1 cj
dj =
.
3hj

(20)
(21)

Como A es diagonal dominante existe una u


nica solucion al sistema, por lo que podemos resolverlo por el metodo
PA=LU.

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

Potrebbero piacerti anche