Sei sulla pagina 1di 8

ANLISIS NUMRICO

4.6

ICM ESPOL

INTERPOLACIN CBICA SEGMENTARIA: El Trazador Cbico

El polinomio de interpolacin es til con pocos datos, digamos hasta cuatro, as la


representacin es un polinomio de grado bajo: tres o menor. Si la cantidad de datos es mayor
y se usan todos los puntos para el polinomio de interpolacin, este puede adquirir una forma
inadecuada en la regin fuera de los puntos dados, como se muestra en el siguiente ejemplo:

Ejemplo. Encuentre el polinomio de interpolacin que incluye a los siguientes datos


(2, 5), (4,6), (5,9), (8,5), (10,4)
Con el mtodo de Lagrange obtenemos el polinomio
4
3
2
p(x) = 19/288 x 151/96 x + 1823/144 x 118/3 x + 401/9
19/288*x 4 - 151/96*x 3 + 1823/144*x 2 -118/3*x + 401/9
El grfico se muestrap(x)a=continuacin

10

6
t

10

Se observa que en los intervalos (2, 4), y (8, 10) la forma del polinomio no es apropiada para
expresar la tendencia de los datos.
Una opcin pudiera ser colocar polinomios de interpolacin en tramos. Por ejemplo un
polinomio de segundo grado con los puntos (2, 5), (4,6), (5,9), y otro polinomio de segundo
grado con los puntos (5,9), (8,5), (10,4). Sin embargo, en el punto intermedio (5, 9) en el que
se uniran ambos polinomios de segundo grado se tendra un cambio de pendiente inaceptable.
Una mejor opcin consiste en usar el Trazador Cbico. Este dispositivo matemtico equivale a
la regla flexible que usan algunos dibujantes y que permite acomodarla para seguir de una
manera suave la trayectoria de los puntos sobre un plano.

4.6.1 El Trazador Cbico Natural


Dados los puntos (xi, yi), i = 1, 2, ..., n, el Trazador Cbico Natural es un conjunto de n-1
polinomios de grado tres colocados uno a uno entre cada par de puntos consecutivos, de tal
manera que haya continuidad, manteniendo igual pendiente y curvatura con los polinomios de
intervalos adyacentes.
Definicin:

Trazador Cbico Natural T(x)

a1(x x 1)3 b1(x x1 )2 c1(x x1 ) d1,


x1 x x 2

3
2
x 2 x x3
a (x x 2 ) b2 (x x 2 ) c2 (x x 2 ) d2 ,
T(x) 2
.........

3
2
an1(x x n1) bn1(x xn1 ) cn1(x xn1 ) dn1, xn-1 x xn

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Formulacin para el Trazador Cbico Natural


Polinomio para cada intervalo:

y p(x) ai (x xi )3 bi (x xi )2 ci (x xi ) di
x i x x i 1,

(0)

i 1,2,...,n 1

Para cada uno de estos polinomios deben determinarse los coeficientes


ai, bi, ci, di, i = 1, 2, ..., n-1
Supondremos que los puntos no necesariamente estn espaciados en forma regular por lo que
conviene asignar un nombre a cada una de las distancias entre puntos consecutivos:
hi = xi+1 xi , i = 1, 2, ..., n-1
El siguiente desarrollo basado en las condiciones requeridas para p(x) permite obtener los
coeficientes del polinomio.
Sea y=p(x) el polinomio en cualquier intervalo i, i=1, 2, ..., n-1
Este polinomio debe incluir a los extremos de cada intervalo i:
3
2
x=xi: yi = ai(xI xi) + bi(xI xi) + ci(xI xi) + di = di di = yi (1)
3
2
x=xi+1: yi+1 = ai(xI+1 xi) + bi(xI+1 xi) + ci(xI+1 xi) + di
= ai hi3 + bi hi2 + ci hi + di
(2)
Las dos primeras derivadas de y = p(x)
2
y = 3ai(x xi) + 2bi(x xi) + ci
y = 6ai(x xi) + 2bi

(3)
(4)

Por simplicidad se usa la siguiente notacin para la segunda derivada


y = S = 6ai(x xi) + 2bi
Evaluamos la segunda derivada en los extremos del intervalo i:
S
x=xi: yi = Si = 6ai(xi xi) + 2bi = 2bi
bi = i
2
x=xi+1: yi+1 = Si+1 = 6ai(xi+1 xi) + 2bi = 6ai hi + 2bi
De donde se obtiene

ai =

Si 1 Si
6hi

(5)

(6)

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Sustituimos (1), (5), y (6) en (2)


S Si 3 Si 2
yi+1 = i 1
hi +
hi + ci hi + yi
6hi
2
De donde se obtiene:
y yi 2hi Si hi Si 1

ci = i 1
(7)
hi
6
Con lo que los coeficientes de p(x) quedan expresados mediante los datos dados y los valores
de las segundas derivadas S
Resumen de coeficientes del trazador cbico
ai =

Si 1 Si
6hi

Si
2
yi 1 yi 2hi Si hi Si 1

ci =
hi
6
di = yi
bi =

(8)

i = 1, 2, ..., n-1

En el punto intermedio entre dos intervalos adyacentes, la pendiente de los polinomios debe
ser igual:

Pendiente en el intervalo [xi, xi+1], de (3):


2
y = 3ai(x xi) + 2bi(x xi) + ci
Evaluamos en el extremo izquierdo
2
x=xi: yi = 3ai(xi xi) + 2bi(xi xi) + ci = ci
Pendiente en el intervalo [xi-1, xi], de (3):
2
y = 3ai-1(x xi-1) + 2bi-1(x xi-1) + ci-1
Evaluamos en el extremo derecho
2
2
x=xi: yi = 3ai-1(xi xi-1) + 2bi-1(xi xi-1) + ci-1 = 3ai-1 hi-1 + 2bi-1 hi-1 + ci-1
En el punto xi ambas pendientes deben tener el mismo valor:
ci = 3ai-1 hi2 1 + 2bi-1 hi-1 + ci-1
Finalmente, se sustituyen las definiciones de ci, ai-1, bi-1, ci-1

S
yi 1 yi 2hi Si hi Si 1
S Si 1 2
y yi 1 2hi 1Si 1 hi 1Si

= 3( i
) hi 1 + 2( i 1 )hi-1 + i
2
6hi
6
6hi 1
hi
6
Despus de simplificar se obtiene:
hi-1Si-1 + 2(hi-1 + hi)Si + hiSi+1 = 6 (

yi 1 yi yi yi 1

) , i = 2, 3, ..., n-1
hi
hi 1

(9)

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Esta ecuacin debe evaluarse con los datos dados, con lo que se obtiene un sistema de n 2
ecuaciones lineales con las n variables: S1, S2, ..., Sn
Para obtener dos datos adicionales se considera que en el Trazador Cbico Natural los
puntos extremos inicial y final estn sueltos por lo que no tienen curvatura. Con esta suposicin
el valor de la segunda derivada tiene un valor nulo en los extremos, y se puede escribir:

S1 = 0, Sn = 0

(10)

4.6.2 Algoritmo para obtener el trazador cbico natural


Dados los puntos: (xi, yi), i = 1, 2, ..., n
1) Con la ecuacin (9) y reemplazando los valores dados en (10) obtenga un sistema de
n-2 ecuaciones lineales con las incgnitas S2, S3, ..., Sn-1
2) Resuelva el sistema y obtenga los valores de S2, S3, ..., Sn-1
3) Con las definiciones dadas en (8) obtenga los coeficientes para el trazador cbico.
4) Sustituya los coeficientes en la definicin dada en (0) y obtenga el polinomio del
trazador cbico en cada uno de los intervalos.
hi-1Si-1 + 2(hi-1 + hi)Si + hiSi+1 = 6 (

yi 1 yi yi yi 1

) , i = 2, 3, ..., n-1
hi
hi 1

S1 = 0, Sn = 0
ai =

(9)
(10)

Si 1 Si
6hi

Si
2
yi 1 yi 2hi Si hi Si 1
ci =

hi
6
di = yi
bi =

(8)

i = 1, 2, ..., n-1

y p(x) ai (x xi )3 bi (x xi )2 ci (x xi ) di
x i x x i 1,

i 1,2,...,n 1

(0)

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Ejemplo. Encuentre el trazador cbico natural para los datos (2, 5), (4,6), (5,9), (8,5), (10,4)
Solucin:
Anotamos los datos en la terminologa del trazador cbico
n=5
X = [2, 4, 5, 8, 10]
Y = [5, 6, 9, 5, 4]
h = [2, 1, 3, 2]
S1 = 0, S5 = 0, de acuerdo a la definicin (10)
Al sustituir en (9) se obtiene un sistema de ecuaciones lineales
y yi yi yi 1

) , i = 2, 3, 4
hi-1Si-1 + 2(hi-1 + hi)Si + hiSi+1 = 6 ( i 1
hi
hi 1
i = 2:

h1S1 + 2(h1 + h2)S2 + h2S3 = 6 (

y3 y2 y2 y1

)
h2
h1

96 65

) 6S2 + S3 = 15
1
2
y y3 y3 y2
h2S2 + 2(h2 + h3)S3 + h3S4 = 6 ( 4

)
h3
h2
2(0) + 2(2 + 1)S2 + 1S3 = 6 (

i = 3:

59 96

) S2 + 8S3 + 3S4 = -26


3
1
y y 4 y 4 y3

)
h3S3 + 2(h3 + h4)S4 + h4S5 = 6 ( 5
h4
h3
1S2 + 2(1 + 3)S3 + 3S4 = 6 (

i = 4:

3S3 + 2(3 + 2)S4 + 2(0) = 6 (

59 96

) S3 + 10S4 = 5
3
1

S2 3.2212
6 1 0 S2 15
1 8 3 S 26 Resolviendo este sistema resulta S 4.3269
3

S 4 1.7981
0 3 10 S 4 5
Sustituimos estos valores en las definiciones (8) y se obtienen los coeficientes:
ai
bi
ci
di
0.2684
0
-0.5737
5
-1.2580
1.6106
2.6474
6
0.3403
-2.1635
2.0946
9
-0.1498
0.8990
-1.6987
5
Los coeficientes corresponden a los cuatro polinomios componentes del trazador cbico natural
segn la definicin inicial en la ecuacin (0):
3

y = p(x) = ai(xI xi) + bi(xI xi) + ci(xI xi) + di , i=1, 2, 3, 4


i=1:
i=2:
i=3:
i=4:

y = p(x) = a1(xI xi) + b1(xI xi) + c1(xI xi) + d1 ,


3
2
= 0.2684(x 2) + 0(x 2) 0.5737(x 2) + 5,
3
2
y = p(x) = -1.2580(x 4) + 1.6106(x 4) + 2.6474(x 4) + 6,
3
2
y = p(x) = 0.3403(x 5) 2.1635(x 5) + 2.0946(x 5) + 9,
3
2
y = p(x) = -0.1498(x 8) + 0.8990(x 8) 1.6987(x 8) + 6,

2x4
2x4
4x5
5x8
8 x 10

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

4.6.3

ICM ESPOL

Instrumentacin computacional del trazador cbico natural

La formulacin del trazador cbico natural se ha instrumentado en MATLAB mediante una


funcin denominada trazador la cual proporciona vectores con los coeficientes: a, b, c, d.
Debido a que el sistema resultante es de tipo tridiagonal, se usa un mtodo especfico muy
eficiente para resolver estos sistemas. Debe haber por lo menos 4 puntos datos.
Para graficar el trazador se ha instrumentado la funcin evaltrazador la cual entrega puntos
del trazador. Existe una versin propia de MATLAB equivalente a esta ltima funcin y se
denomina spline

function [a, b, c, d] = trazador(x, y)


% Trazador cbico natural dados los n puntos (x, y), n>3
n=length(x);
if n<4
return
end
for i=1:n-1
h(i)=x(i+1)-x(i);
end
s(1)=0;
s(n)=0;
B(1)=2*(h(1)+h(2));
C(1)=h(2);
D(1)=6*((y(3)-y(2))/h(2)-(y(2)-y(1))/h(1))-h(1)*s(1);
for i=2:n-3
A(i)=h(i);
B(i)=2*(h(i)+h(i+1));
C(i)=h(i+1);
D(i)=6*((y(i+2)-y(i+1))/h(i+1)-(y(i+1)-y(i))/h(i));
end
A(n-2)=h(n-2);
B(n-2)=2*(h(n-2)+h(n-1));
D(n-2)=6*((y(n)-y(n-1))/h(n-1)-(y(n-1)-y(n-2))/h(n-2))-h(n-1)*s(n);
u=Tridiagonal(A,B,C,D);
for i=2:n-1
s(i)=u(i-1);
end
for i=1:n-1
a(i)=(s(i+1)-s(i))/(6*h(i));
b(i)=s(i)/2;
c(i)=(y(i+1)-y(i))/h(i)-(2*h(i)*s(i)+h(i)*s(i+1))/6;
d(i)=y(i);
end

function v=evaltrazador(x,y,z)
% Evaluador del trazador cbico natural
[a,b,c,d]=trazador(x,y);
n=length(x);
m=length(z);
clear v;
for k=1:m
for i=1:n-1
t=z(k);

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

if t>=x(i)& t<=x(i+1)
v(k)=a(i)*(t-x(i))^3+b(i)*(t-x(i))^2+c(i)*(t-x(i))+d(i);
end
end
end
if m>1
k=m;i=n-1;
v(k)=a(i)*(t-x(i))^3+b(i)*(t-x(i))^2+c(i)*(t-x(i))+d(i);
end
Ejemplo. Encuentre el trazador cbico natural usando la funcin anterior para los siguientes
puntos dados. (2, 5), (4,6), (5,9), (8,5), (10,4)

>> x = [2 4 5 8 10];
>> y = [5 6 9 5 4];
>> [a, b, c, d] = trazador(x, y)

Proporciona los vectores de coeficientes

a=
0.2684 -1.2580 0.3403 -0.1498
b=
0 1.6106 -2.1635 0.8990
c=
-0.5737 2.6474 2.0946 -1.6987
d=
5 6 9 5

>> u = 2:0.01:10;
>> v = evaltrazador(x, y, u);
>> plot(x, y, o);
>> hold on, plot(u, v)

Puntos para evaluar el trazador


Evaluacin del trazador
Grfico de los puntos
Grfico del trazador cbico

Se muestra el grfico del trazador cbico natural junto con los puntos dados y el polinomio de
interpolacin obtenido anteriormente:

Puede observarse la notable mejora en la representacin de los datos dados. El trazador


cbico mantiene una curvatura suave y continua. Al mismo tiempo reduce la altura de los picos
y valles del polinomio de interpolacin.

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

4.6.4

ICM ESPOL

El Trazador Cbico Sujeto

En esta versin del trazador cbico, los extremos ya no estn sueltos sino sujetos y con alguna
inclinacin especificada. Por lo tanto, ya no se aplica la definicin anterior (10): S1 = 0, Sn = 0
Dados los puntos (xi, yi), i = 1, 2, ..., n.
Adicionalmente se especifica como datos, la inclinacin del trazador en los extremos:
y(x1) = u
y(xn) = v
Utilizamos la expresin (3) del anlisis anterior:
2
y = 3ai(x xi) + 2bi(x xi) + ci
Sustituimos los datos dados para los polinomios en el primero y ltimo intervalo:
En el primer intervalo:
2
x = x1: y(x1) = u = 3a1(x1 x1) + 2b1(x1 x1) + c1 = c1
Se sustituye la definicin de c1 y se obtiene
u=

y2 y1 2h1S1 h1S2

h1
6

(11)

En el ltimo intervalo:
2
x = xn: y(xn) = v = 3an-1(xn xn-1) + 2bn-1(xn xn-1) + cn-1
2
v = 3an-1 hn 1 + 2bn-1 hn-1 + cn-1
Se sustituyen las definiciones de los coeficientes:
S Sn 1 2
S
y yn 1 2hn 1Sn 1 hn 1Sn
v 3( n
)hn 1 2( n 1 )hn 1 n

6hn 1
2
hn 1
6
De donde finalmente se tiene

v(

Sn Sn 1
y yn 1 2hn 1Sn 1 hn 1Sn
)hn 1 Sn 1hn 1 n

2
hn 1
6

(12)

Las ecuaciones (11) y (12) junto con las ecuaciones que se obtienen de (9) conforman un
sistema de n ecuaciones lineales con las n variables S1, S2, ..., Sn
El resto del procedimiento es similar al que corresponde al trazador cbico natural.

Ing. Luis Rodrguez Ojeda, MSc.

Potrebbero piacerti anche