Professional Documents
Culture Documents
UNIVERSIDAD NACIONAL
SANTIAGO ANTUNEZ DE MAYOLO
HUARAZ-2017
INTRODUCCION
Los splines cbicos es un tipo de interpolacin que ha demostrado
poseer una gran aproximacin y que inclusive es usado para el
diseo asistido por computadora, por ejemplo tipo de letras,
figuras de animales, objetos, etc. En este trabajo realizare el
diseo de figuras de animales a travs del Matlab. Esta
interpolacin se llama interpolacin segmentaria o interpolacin
por spline.
La idea principal del spline cubico consiste que en vez de usar un
solo polinomio para interpolar todos los datos, se pueden usar
segmentos de polinomios entre pares ordenados de datos y unir
cada uno de ellos adecuadamente para ajustar los datos.
Se puede decir que entre las formas de ajustar los datos, los
splines cbicos han resultado ser los ms eficaces para cualquier
tipo de aplicacin.
DESARROLLO
Spline cbicos:
Teora:
Considere f: [a,b] R y un conjunto de nodos
a=x0,x1,x2,,xn=b
Un spline cubico para f es una funcin S:[a,b] R tal que:
S(xj)=f(xj) aj=f(xj)
De la condicin (3)
Sj+1(xj+1) = Sj(xj+1)
aj+1 = aj + bj(xj-xj+1) + cj(xj-xj+1)2 + dj(xj-xj+1)3
aj+1 = aj + bj(hj+1) + cj(hj+1)2 + dj(hj+1)3
Sj+1(xj+1)=Sj(xj+1)
bj+1=bj + 2cj(xj+1-xj) + 3dj(xj+1-xj)2 (36)
bj+1=bj + 2cjhj + 3djh j2
Sj+1(xj+1)=Sj(xj+1)
2cj+1=2cj + 6dj(xj+1-xj) (37)
cj+1=c j + 3djhj
+1
dj =
3
Si reemplazamos dj en (35) se tiene:
2
aj+1 = aj + bjhj + (2+ )
3 +1
bj= 1
(+1 ) 3
(2+ +1) (38)
De la ltima ecuacin:
11
1 (2 + ) (39)
= 1
+1 +1+1 ( 1 ) 3
De nuevo, al reemplazar dj (37) en (36)
+1 = + (+ +1) (40)
Resumiendo: tenemos las ecuaciones (38) y (39)
3
1
Bj = (+1 ) (2+ +1) (41)
1 1
Bj-1 =
1 ( 1) 3 (21 + )
La ecuacin (40) se puede expresar como
= 1 + 1(1 + ) (42)
Finalmente reemplazamos (41) en (42)
= 1 + 1(1 + )
1 1 1
3
(+1 ) 3 (2+ +1) = 1 ( 1) (21 + ) + 1(1 + )
3 3
El lado derecho se puede escribir como
Facultad de Ingeniera Civil - UNASAM
Mtodos Numricos - Spline cubico
= 11 + 2(+ 1)+ +1
Obtenemos para los coeficientes cj el sistema de ecuaciones
3 3
11 + 2(+ 1)+ +1 = ( 1)
(+1 )
Con j= 1,2,3,4,,n-1 1
El sistema es (n-1)x(n+1)
S(x0)=S(xn)=0
De (34)
Ahora todo depende del clculo de los cis. estos se calculan resolviendo el
sistema (n-1)x(n+1)
1 0 0 0
0 2(0 + 1) 1 0 1
0 1 2(0 + 1) .
.
2(3 + 2) 2 .
0
[0
00 0
0 .1 ] (
)
3([2, 1] [1,0])
= 3([3, 2] [2,1])
.
3([ , 1] 0 [1,2]) (
)
n=length(x);
syms X;
for i=1:n-1
h(i)=x(i+1)-x(i);
end
for i=2:n-1
p(i)=3*(y(i+1)*h(i-1)-y(i)*(x(i+1)-x(i-1))+y(i-1)*h(i))/(h(i-1)*h(i));
end
l(1)=1;u(1)=0;z(1)=0;
for i=2:n-
l(i)=2*(x(i+1)-x(i-1))-h(i-1)*u(i-1);
u(i)=h(i)/l(i);
z(i)=(p(i)-h(i-1)*z(i-1))/l(i);
end
l(n)=1;z(n)=0;c(n)=0;
for j=n-1:-1:1
c(j)=z(j)-u(j)*c(j+1);
b(j)=((y(j+1)-y(j))/h(j))-h(j)*(c(j+1)+2*c(j))/3;
d(j)=(c(j+1)-c(j))/(3*h(j));
end
for i=1:n-1
sj=x(i):.01:x(i+1);
s=y(i)+b(i)*(sj-x(i))+c(i)*(sj-x(i)).^2+d(i)*(sj-x(i)).^3;
hold on
plot(x,y,'x')
plot(sj,s,'m')
end
for i=1:n-1
s=y(i)+b(i)*(X-x(i))+c(i)*(X-x(i))^2+d(i)*(X-x(i))^3
end
>>A= [-6 -5 -4 -2 3 6 8 ];
>> B= [-3 -1 3 4 4 3 0 ];
>> splinecubico2(A,B)
s =X - (X + 11)^3/10 + 14
EJEMPLO N2
Para mi ejemplo N2 escog la siguiente figura:
Murcilago
b. Parte 2
c. Parte 3
d. Parte 4
e. Parte 5
>> I=[7 8 9 11 13 15];
>> J=[-18 -14 -12 -10 -8 -7];
>> splinecubico2(I,J);
f. Parte 6
>>K=[-6 -4 -1 1 5 7];
g. Parte 7
M=[-18 -17 -14 -13 -12 -11 -10 -8 -6];
>> N=[-15 -14.7 -13 -12 -11.8 -12 -13 -15 -17];
>> splinecubico2(M,N);
s =(5349843261103533*X)/18014398509481984 + (6972965342857579*(X +
18)^3)/2305843009213693952 - 86959399471183083/9007199254740992
s =(2756636068163379*X)/9007199254740992 + (326857750446449*(X +
17)^2)/36028797018963968 + (1868711285945195*(X +
17)^3)/72057594037927936 - 427715079429575697/45035996273704960
s =(921250314425685*(X + 12)^2)/36028797018963968 -
(190608861351699*X)/36028797018963968 - (7936400856866753*(X +
12)^3)/36028797018963968 - 534283888949994013/45035996273704960
h. Parte 8
i. Parte 9
j. Parte 10
>> S=[-19 -15 -12 -10 -7 -4 -3 -2.6 -2.5 -2];
>> T=[0 -2 -4 -5 -6 -6.1 -5 -3 -1 1];
>> splinecubico2(S,T);
s =- (3959647273909501*X)/9007199254740992 - (543952353460995*(X +
19)^3)/144115188075855872 - 75233298204280519/9007199254740992
s =(3221066890586539*(X + 12)^2)/72057594037927936 -
(5607497045609773*X)/9007199254740992 + (4778091129482273*(X +
12)^3)/576460752303423488 - 25829690391570311/2251799813685248
s =(1701158809424561*(X + 10)^2)/18014398509481984 -
(3101071513538577*X)/9007199254740992 - (272562939130955*(X +
10)^3)/9007199254740992 - 38023355704545365/4503599627370496
s =(114221328910361*X)/70368744177664 + (4130764280787639*(X +
4)^2)/4503599627370496 - (6486969740943199*(X + 4)^3)/4503599627370496 +
34544970197117/87960930222080
s =(5091530225584793*X)/281474976710656 + (1786831195257123*(X +
13/5)^2)/35184372088832 - (2785923898679299*(X + 13/5)^3)/8796093022208 +
61967768281942469/1407374883553280
s =(1318993298816015*X)/70368744177664 - (6225109932632155*(X +
5/2)^2)/140737488355328 + (8300146576842873*(X + 5/2)^3)/281474976710656 +
6454229005724747/140737488355328
k. Parte 11
>> X=[-2 0 1 2 3 3.5 5 6];
>> Y=[1 -1 -0.5 0 1 3 -1 -2];
>> splinecubico2(X,Y);
CONCLUSIONES
En la vida real es muy necesario representar las formas y figuras que se nos presentan,
con el programa Matlab (Matrix laboratory) se puede representar dicha formas y
figuras, en este caso lo realize a travs de la aproximacin por splines cbicos o
trazadores cbicos.
De mis figuras representadas el caracol y el murcilago tuve una buena aproximacin a
la forma real, es por esto que el dibujo asistido por Matlab es una herramienta ah
considerar en trabajos de aproximaciones