You are on page 1of 12

142

6.9 El trazador cbico



El polinomio de interpolacin es til si se usan pocos datos y que adems tengan un
comportamiento polinomial, as su representacin es un polinomio de grado bajo y adecuado.
Si no se cumplen estas condiciones, el polinomio puede tomar una forma inaceptable para
representar a los datos, 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
p(x) = 19/288 x
4
151/96 x
3
+ 1823/144 x
2
118/3 x + 401/9

El grfico se muestra a continuacin

2 3 4 5 6 7 8 9 10
2
3
4
5
6
7
8
9
10
t




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.

6.9.1 El trazador cbico natural

Dados los puntos (x
i
, y
i
), 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)


3 2
1 1 1 1 1 1 1 1 2
3 2
2 2 2 2 2 2 2 2 3
3 2
n 1 n 1 n 1 n 1 n 1 n 1 n 1 n-1 n
a (x x ) b (x x ) c (x x ) d , x x x
a (x x ) b (x x ) c (x x ) d , x x x
T(x)
. . .
a (x x ) b (x x ) c (x x ) d , x x x

+ + +

+ + +
=

+ + +



143


Formulacin para el trazador cbico natural

Polinomio para cada intervalo:


3 2
i i i i i i i
i i 1
y p(x) a (x x ) b (x x ) c (x x ) d
x x x , i 1,2,...,n 1
+
= = + + +
=
(0)




Para cada uno de estos polinomios deben determinarse los coeficientes
a
i
, b
i
, c
i
, d
i
, i = 1, 2, ..., n-1

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:
h
i
= x
i+1
x
i
, 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:
x=x
i
: y
i
= a
i
(x
I
x
i
)
3
+ b
i
(x
I
x
i
)
2
+ c
i
(x
I
x
i
) + d
i
= d
i
d
i
= y
i
(1)
x=x
i+1
: y
i+1
= a
i
(x
I+1
x
i
)
3
+ b
i
(x
I+1
x
i
)
2
+ c
i
(x
I+1
x
i
) + d
i

= a
i
3
i
h + b
i
2
i
h + c
i
h
i
+ d
i
(2)

Las dos primeras derivadas de y = p(x)
y = 3a
i
(x x
i
)
2
+ 2b
i
(x x
i
) + c
i
(3)
y = 6a
i
(x x
i
) + 2b
i
(4)

Por simplicidad se usa la siguiente notacin para la segunda derivada
y = S = 6a
i
(x x
i
) + 2b
i


Evaluamos la segunda derivada en los extremos del intervalo i:
x=x
i
: y
i
= S
i
= 6a
i
(x
i
x
i
) + 2b
i
= 2b
i
b
i
=
i
S
2
(5)
x=x
i+1
: y
i+1
= S
i+1
= 6a
i
(x
i+1
x
i
) + 2b
i
= 6a
i
h
i
+ 2b
i


De donde se obtiene a
i
=
i 1 i
i
S S
6h
+

(6)
144


Sustituimos (1), (5), y (6) en (2)
y
i+1
=
i 1 i
i
S S
6h
+

3
i
h +
i
S
2
2
i
h + c
i
h
i
+ y
i

De donde se obtiene:
c
i
=
i 1 i i i i i 1
i
y y 2h S h S
h 6
+ +
+
(7)
Con lo que los coeficientes de p(x) quedan expresados mediante los datos dados y los valores
de las segundas derivadas S

Resumen de coefi cientes del trazador cbico

a
i
=
i 1 i
i
S S
6h
+


b
i
=
i
S
2
(8)
c
i
=
i 1 i i i i i 1
i
y y 2h S h S
h 6
+ +
+

d
i
= y
i
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 [x
i
, x
i+1
], de (3):
y = 3a
i
(x x
i
)
2
+ 2b
i
(x x
i
) + c
i


Evaluamos en el extremo izquierdo
x=x
i
: y
i
= 3a
i
(x
i
x
i
)
2
+ 2b
i
(x
i
x
i
) + c
i
= c
i


Pendiente en el intervalo [x
i-1
, x
i
], de (3):
y = 3a
i-1
(x x
i-1
)
2
+ 2b
i-1
(x x
i-1
) + c
i-1


Evaluamos en el extremo derecho
x=x
i
: y
i
= 3a
i-1
(x
i
x
i-1
)
2
+ 2b
i-1
(x
i
x
i-1
) + c
i-1
= 3a
i-1
h
i-1
2
+ 2b
i-1
h
i-1
+ c
i-1


En el punto x
i
ambas pendientes deben tener el mismo valor:
c
i
= 3a
i-1
2
i 1
h


+ 2b
i-1
h
i-1
+ c
i-1


Finalmente, se sustituyen las definiciones de c
i
, a
i-1,
b
i-1
, c
i-1


i 1 i i i i i 1
i
y y 2h S h S
6h 6
+ +
+
= 3(
i i 1
i 1
S S
6h

)
2
i 1
h

+ 2(
i 1
S
2

)h
i-1
+
i i 1 i 1 i 1 i 1 i
i
y y 2h S h S
h 6

+

Despus de simplificar se obtiene:

h
i-1
S
i-1
+ 2(h
i-1
+ h
i
)S
i
+ h
i
S
i +1
= 6
i 1 i i i 1
i i 1
y y y y
( )
h h
+


, i = 2, 3, ..., n-1 (9)

145


Esta ecuacin debe evaluarse con los datos dados, con lo que se obtiene un sistema de n 2
ecuaciones lineales con las n variables: S
1
, S
2
, ..., S
n


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:


S
1
= 0, S
n
= 0 (10)



6.9.2 Al goritmo del trazador cbico natural
Dados los puntos: (x
i
, y
i
), 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 S
2
, S
3
, ..., S
n-1
, (Sistema tridiagonal de
ecuaciones lineales)


2. Resuelva el sistema y obtenga los valores de S
2
, S
3
, ..., S
n-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.

h
i-1
S
i-1
+ 2(h
i-1
+ h
i
)S
i
+ h
i
S
i +1
= 6
i 1 i i i 1
i i 1
y y y y
( )
h h
+


, i = 2, 3, ..., n-1 (9)
S
1
= 0, S
n
= 0 (10)

a
i
=
i 1 i
i
S S
6h
+


b
i
=
i
S
2
(8)
c
i
=
i 1 i i i i i 1
i
y y 2h S h S
h 6
+ +
+

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



3 2
i i i i i i i
i i 1
y p(x) a (x x ) b (x x ) c (x x ) d
x x x , i 1,2,...,n 1
+
= = + + +
=
(0)


146




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
i x
i
y
i
h
i
= x
i+1
- x
i
1 2 5 2
2 4 6 1
3 5 9 3
4 8 5 2
5 10 4

S
1
= 0, S
5
= 0, de acuerdo a la definicin (10)

Al sustituir en (9) se obtiene un sistema de ecuaciones lineales
h
i-1
S
i-1
+ 2(h
i-1
+ h
i
)S
i
+ h
i
S
i +1
= 6
i 1 i i i 1
i i 1
y y y y
( )
h h
+


, i = 2, 3, 4
i = 2: h
1
S
1
+2(h
1
+h
2
)S
2
+h
2
S
3
=6
3 2 2 1
2 1
y y y y
( )
h h


2(0) +2(2 +1)S
2
+1S
3
=6
9 6 6 5
( )
1 2

6S
2
+S
3
=15
i = 3: h
2
S
2
+2(h
2
+h
3
)S
3
+h
3
S
4
=6
4 3 3 2
3 2
y y y y
( )
h h


1S
2
+2(1 +3)S
3
+3S
4
=6
5 9 9 6
( )
3 1

S
2
+8S
3
+3S
4
=-26
i = 4: h
3
S
3
+2(h
3
+h
4
)S
4
+h
4
S
5
=6
5 4 4 3
4 3
y y y y
( )
h h


3S
3
+2(3 +2)S
4
+2(0) =6
5 9 9 6
( )
3 1

S
3
+10S
4
=5


2
3
4
6 1 0 S 15
1 8 3 S 26
0 3 10 S 5
( ( (
( ( (
=
( ( (
( ( (

Resolviendo este sistema resulta
2
3
4
S 3.2212
S 4.3269
S 1.7981
( (
( (
=
( (
( (



Sustituimos estos valores en las definiciones (8) y se obtienen los coeficientes:
a
i
b
i
c
i
d
i
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 segmentarios del trazador cbico natural
segn la definicin inicial en la ecuacin (0):

y = p(x) = a
i
(x
I
x
i
)
3
+ b
i
(x
I
x
i
)
2
+ c
i
(x
I
x
i
) + d
i
, i = 1, 2, 3, 4

i=1: y = p(x) = a
1
(x
I
x
i
)
3
+ b
1
(x
I
x
i
)
2
+ c
1
(x
I
x
i
) + d
1
,
= 0.2684(x 2)
3
+ 0(x 2)
2
0.5737(x 2) + 5, 2 x 4
i=2: y = p(x) = -1.2580(x 4)
3
+ 1.6106(x 4)
2
+ 2.6474(x 4) + 6, 4 x 5
i=3: y = p(x) = 0.3403(x 5)
3
2.1635(x 5)
2
+ 2.0946(x 5) + 9, 5 x 8
i=4: y = p(x) = -0.1498(x 8)
3
+ 0.8990(x 8)
2
1.6987(x 8) + 6, 8 x 10
147


6.9.3 Instrumentacin computacional del trazador cbi co natural

La formulacin del trazador cbico natural se ha instrumentado en MATLAB mediante una
funcin denominada trazador la cual proporciona un vector con puntos del trazador o los
vectores con los coeficientes: a, b, c, d. Existe una versin propia de MATLAB equivalente a
esta ltima funcin y se denomina spline

Debido a que el sistema resultante es de tipo tridi agonal, se usa un mtodo especfico muy
eficiente para resolver estos sistemas. Debe haber por lo menos 4 puntos datos.

function [a,b,c,d]=trazador(x,y,z)
% Trazador Cbico Natural: a(i)(x-x(i))^3+b(i)(x-x(i))^2+c(i)(x-x(i))+d(i), n>3
% z es opcional: es el vector de puntos para evaluar al trazador
% Entrega puntos del trazador o los coeficientes de los polinomios segmentarios
n=length(x);
clear A B C D;
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 % Sistema tridiagonal para obtener S
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 % Coeficientes del trazador cbico natural
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
if nargin==3 % Puntos del trazador cbico natural
p=[ ];
m=length(z);
for k=1:m
t=z(k);
for i=1:n-1
if t>=x(i) & t<=x(i+1)
p(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;
p(k)=a(i)*(t-x(i))^3+b(i)*(t-x(i))^2+c(i)*(t-x(i))+d(i);
end
clear a b c d;
a=p;
end


148


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];
>> z = [2: 0.01: 10]; Puntos para evaluar el trazador
>> p = trazador(x, y, z); Puntos del trazador
>> plot(x, y, o); Grfico de los puntos
>> hold on
>> plot(z, p) Grfico del trazador

Grfico del trazador cbico natural junto con los puntos dados y el polinomio de interpolacin:



Puede observarse la notable mejora en la representacin de los datos dados.
El trazador cbico mantiene una curvatura suave y continua y sigue mejor la tendencia
de los puntos.

Coeficientes del trazador cbico

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

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


149


6.9.4 El trazador cbico suj eto

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): S
1
= 0, S
n
= 0

Dados los puntos (x
i
, y
i
), i = 1, 2, ..., n.

Adicionalmente se especifica como datos, la inclinacin del trazador en los extremos:
y(x
1
) = u
y(x
n
) = v

Utilizamos la expresin (3) del anlisis anterior:
y = 3a
i
(x x
i
)
2
+ 2b
i
(x x
i
) + c
i

Sustituimos los datos dados para los polinomios en el primero y ltimo intervalo:

En el primer intervalo:
x = x
1
: y(x
1
) = u = 3a
1
(x
1
x
1
)
2
+ 2b
1
(x
1
x
1
) + c
1
= c
1


Se sustituye la definicin de c
1
y se tiene
u =
2 1 1 1 1 2
1
y y 2h S h S
h 6
+

Finalmente,


2 1
1 1 1 2
1
y y 1 1
h S h S u
3 6 h

= (11)

En el ltimo intervalo:
x = x
n
: y(x
n
) = v = 3a
n-1
(x
n
x
n-1
)
2
+ 2b
n-1
(x
n
x
n-1
) + c
n-1

v = 3a
n-1

2
n 1
h

+ 2b
n-1
h
n-1
+ c
n-1


Se sustituyen las definiciones de los coeficientes:

2 n n 1 n 1 n n 1 n 1 n 1 n 1 n
n 1 n 1
n 1 n 1
S S S y y 2h S h S
v 3( )h 2( )h
6h 2 h 6



+
= + +
De donde se tiene

n n 1 n n 1 n 1 n 1 n 1 n
n 1 n 1 n 1
n 1
S S y y 2h S h S
v ( )h S h
2 h 6

+
= + +
Finalmente:


n n 1
n 1 n 1 n 1 n
n 1
y y 1 1
h S h S v
6 3 h

+ = (12)

Las ecuaciones (11) y (12) junto con las ecuaciones que se obtienen de (9) conforman un
sistema tridiagonal de n ecuaciones lineales con las n variables S
1
, S
2
, ..., S
n


El resto del procedimiento es similar al que corresponde al trazador cbico natural.

150


6.9.5 Al goritmo del trazador cbico sujeto

Dados los puntos: (x
i
, y
i
), i = 1, 2, ..., n

1. Con las ecuaciones (9), (11) y (12) obtenga un sistema de n ecuaciones lineales con
las incgnitas S
1
, S
2
, ..., S
n
,

(Sistema tridiagonal de ecuaciones lineales)
2. Resuelva el sistema y obtenga los valores de S
1
, S
2
, ..., S
n

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.


1 1 1 2
1 1
h S h S
3 6
=
2 1
1
y y
u
h

(11)
h
i-1
S
i-1
+ 2(h
i-1
+ h
i
)S
i
+ h
i
S
i +1
= 6
i 1 i i i 1
i i 1
y y y y
( )
h h
+


, i = 2, 3, ..., n-1 (9)
n 1 n 1 n 1 n
1 1
h S h S
6 3

+ =
n n 1
n 1
y y
v
h

(12)


a
i
=
i 1 i
i
S S
6h
+


b
i
=
i
S
2
(8)
c
i
=
i 1 i i i i i 1
i
y y 2h S h S
h 6
+ +
+

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



3 2
i i i i i i i
i i 1
y p(x) a (x x ) b (x x ) c (x x ) d
x x x , i 1,2,...,n 1
+
= = + + +
=
(0)


151


6.9.6 Instrumentacin computacional del trazador cbi co sujeto

La formulacin del trazador cbico sujeto se ha instrumentado en MATLAB mediante una
funcin denominada trazadorsujeto la cual proporciona un vector con puntos del trazador o
los vectores con los coeficientes: a, b, c, d.

function [a,b,c,d]=trazadorsujeto(x,y,u,v,z)
% Trazador Cbico Sujeto
% u,v son las pendientes en los extremos
% a(i)(z-x(i))^3+b(i)(z-x(i))^2+c(i)(z-x(i))+d(i), n>3
% z es opcional: es el vector de puntos para evaluar al trazador
% Entrega puntos del trazador o los coeficientes de los polinomios segmentarios
n=length(x);
clear A B C D;
if n<4
return
end
for i=1:n-1
h(i)=x(i +1)-x(i);
end
B(1)=-2*h(1)/6;
C(1)=-h(1)/6;
D(1)=u-(y(2)-y(1))/h(1);
for i=2:n-1
A(i)=h(i-1);
B(i)=2*(h(i-1)+h(i));
C(i)=h(i);
D(i)=6*((y(i+1)-y(i))/h(i)-(y(i)-y(i-1))/h(i-1));
end
A(n)=h(n-1)/6;
B(n)=h(n-1)/3;
D(n)=v-(y(n)-y(n-1))/h(n-1);
s=tridi agonal(A,B,C,D);
for i=1:n-1 % Coeficientes del trazador cbico sujeto
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
if nargin==5 % Puntos del trazador cbico sujeto
p=[ ];
m=length(z);
for k=1:m
t=z(k);
for i =1:n-1
if t>=x(i) & t<=x(i+1)
p(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;
p(k)=a(i)*(t-x(i))^3+b(i)*(t-x(i))^2+c(i)*(t-x(i))+d(i );
end
clear a b c d;
a=p;
end




152


Ejemplo. Encuentre el trazador cbico sujeto usando la funcin anterior para los siguientes
puntos dados. (2, 5), (4,6), (5,9), (8,5), (10,4). En el extremo izquierdo debe inclinarse 45
0
y
debe terminar horizontal en el extremo derecho.

>> x = [2 4 5 8 10];
>> y = [5 6 9 5 4];
>> z = [2: 0.01: 10]; Puntos para evaluar el trazador
>> p = trazadorsujeto(x, y, 1, 0, z); Puntos del trazador
>> plot(x, y, o); Grfico de los puntos
>> hold on
>> plot(z, p) Grfico del trazador
>> axi s([0,10,0,10]);

Grfico del trazador cbico sujeto junto con los puntos dados:

0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10

Coeficientes de los polinomios segmentarios del trazador cbico sujeto

>> [a, b, c, d] = trazadorsujeto(x, y, 1, 0)

a =
0.5870 -1.4461 0.3535 -0.1728
b =
-1.4240 2.0980 -2.2402 0.9412
c =
1.0000 2.3480 2.2059 -1.6912
d =
5 6 9 5



Ejemplo comparativo

Comparacin grfica del polinomio de interpolacin y los trazadores cbicos, incluyendo el
trazador cbico proporcionado con la funcin spline de MATLAB

Datos: (2, 7), (4, 8), (5, 9), (6, 8), (8,6)

>>x=[2 4 5 6 8];
>>y=[7 8 9 8 6];
>>plot(x,y,'o'),grid on,hold on
>>p=lagrange(x,y);
>>ezplot(p,[2,8])
>>z=[2:0.01:8];
153


>>v=trazador(x,y,z);
>>plot(z,v)
>>w=spline(x,y,z);
>>plot(z,w)
>>t=trazadorsujeto(x,y,0,0,z);
>>plot(z,t)

2 3 4 5 6 7 8
5.5
6
6.5
7
7.5
8
8.5
9
t
(13 t
4
)/144 - (263 t
3
)/144 +(919 t
2
)/72 -...+122/3
lagrange
spline
trazador sujeto con 0, 0
trazador natural




6.9.7 Ejercicios del trazador cbico

1. Con los siguientes datos (x, y): (1.2, 4.6), (1.5, 5.3), (2.4, 6.0), (3.0, 4.8), (3.8, 3.1)

a) Encuentre el trazador cbi co natural
b) Encuentre el valor interpolado para x=2.25


2. Con los siguientes datos (x, y): y(1.2) = 1, (1.5, 5.3), (2.4, 6.0), (3.0, 4.8), y (3.8) = -1

a) Encuentre el trazador cbico sujeto
b) Encuentre el valor interpolado para x=2.25


Use las funciones instrumentadas en MATLAB para comprobar sus resultados

You might also like