martes, 22 de noviembre de 2011
lunes, 14 de noviembre de 2011
SNOOPY ( por Winston Quispe)
Aqui les dejo la gráfica completa de Soopy, si les gusta descarguenla de :
http://www.4shared.com/file/--wjUwOD/SNOOPY_Winston_Quispe_Yujra_.html
Etiquetas:
Snoopy por Winston Quispe
Spline Snoopy
programa
function splinem(mx,my,nk)
m=length(nk);
for z=1:m
for t=1:nk(z)
x(t)=mx(z,t);
y(t)=my(z,t);
end
n=nk(z);
for i=1:n;
a(i)=y(i);
end
for i=1:n-1;
h(i)=x(i+1)-x(i);
end
for i=2:n-1;
alfa(i)=3/h(i)*(a(i+1)-a(i))-3/h(i-1)*(a(i)-a(i-1));
end
l(1)=1;
mu(1)=0;
z(1)=0;
for i=2:n-1;
l(i)=2*(x(i+1)-x(i-1))-h(i-1)*mu(i-1);
mu(i)=h(i)/l(i);
z(i)=(alfa(i)-h(i-1)*z(i-1))/l(i);
end
l(n)=1;
z(n)=0;
c(n)=0;
for i=n-1:-1:1;
c(i)=z(i)-mu(i)*c(i+1);
b(i)=(a(i+1)-a(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3;
d(i)=(c(i+1)-c(i))/(3*h(i));
end
for i=1:n-1;
xf=x(i):0.1:x(i+1);
yf=a(i)+b(i)*(xf-x(i))+c(i)*(xf-x(i)).^2+d(i)*(xf-x(i)).^3;
%if(x(i)<=x0 & x0<=x(i+1))
% y0=y(i)+b(i)*(x0-x(i))+c(i)*((x0-x(i))^2)+d(i)*((x0-x(i))^3);
%end
hold on;
plot(xf,yf,'b');
end
for i=1:n;
hold on;
plot (x(i),y(i),'b','MarkerEdgeColor','r','LineWidth',1);
end
end
p=0:0.1:0.5;
h=p.*20;
plot(p,h,'.');
plot(23,4.6,'.');
end
LA MATRIZ QUE GUARDA LOS DATOS DEL SNOOPY
function [mx,my,nk]=snopyb()
mx(1,:)=[1.3 1.6 2.6 0 0];
mx(2,:)=[2.6 5.1 0 0 0];
mx(3,:)=[5.1 6.2 7.8 11 0];
mx(4,:)=[11 13 15.5 17 0];
mx(5,:)=[17 19 22 23.8 0];
mx(6,:)=[23.8 25.3 28 0 0];
mx(7,:)=[1.3 1.6 2 0 0];
mx(8,:)=[2 7.3 0 0 0];
mx(9,:)=[7.3 8 8.7 0 0];
mx(10,:)=[8 8.4 8.7 0 0];
mx(11,:)=[8 8.9 10.2 11.4 13.1];
mx(12,:)=[13.1 13.4 13.8 0 0];
mx(13,:)=[13.8 14.2 14.6 0 0];
mx(14,:)=[14.6 17.3 0 0 0];
mx(15,:)=[17.3 17.8 18.7 0 0];
mx(16,:)=[18.7 22.4 23.5 0 0];
mx(17,:)=[23.5 23.9 24.1 0 0];
mx(18,:)=[24.1 24.6 25 0 0];
mx(19,:)=[25 26.2 27 27.6 28];
mx(20,:)=[28 28.5 28.8 0 0];
mx(21,:)=[27.6 28.4 28.8 0 0];
mx(22,:)=[27.8 29.2 29.9 0 0];
mx(23,:)=[29.2 29.6 29.9 0 0];
mx(24,:)=[28.8 29.1 29.2 0 0];
mx(25,:)=[28.3 28.7 29.2 0 0];
mx(26,:)=[26.6 28.6 0 0 0];
mx(27,:)=[27 29 0 0 0];
mx(28,:)=[27 28.6 0 0 0];
mx(29,:)=[26.6 28 0 0 0];
mx(30,:)=[26.6 27.8 0 0 0];
mx(31,:)=[24.9 25 25.1 0 0];
mx(32,:)=[23.9 24 24.1 0 0];
mx(33,:)=[23 23.4 23.5 0 0];
mx(34,:)=[19.8 21.6 23.4 24.6 24.9];
mx(35,:)=[17 19 20.6 0 0];
mx(36,:)=[20.2 20.3 20.6 0 0];
mx(37,:)=[20.2 20.4 20.5 0 0];
mx(38,:)=[18.7 19.4 20.2 20.5 0];
mx(39,:)=[17 16.8 16.9 17.3 0];
mx(40,:)=[14.6 14.7 14.8 0 0];
mx(41,:)=[13.6 13.7 13.8 0 0];
mx(42,:)=[12.8 13 13.1 0 0];
mx(43,:)=[11.5 12.7 14 14.8 0];
mx(44,:)=[11.5 11.6 12.1 12.7 0];
mx(45,:)=[11.1 11.2 12.5 12.7 0];
mx(46,:)=[6.2 11.1 12.7 0 0];
mx(47,:)=[22.6 23 23.5 23.8 0];
mx(48,:)=[22.4 22.8 23.5 24.1 0];
mx(49,:)=[22.2 22.9 23.6 24.2 0];
mx(50,:)=[22.4 22.8 23.1 0 0];
mx(51,:)=[22.4 23.2 23.7 0 0];
mx(52,:)=[23.1 23.2 23.3 0 0];
mx(53,:)=[22.6 22.8 23.1 0 0];
mx(54,:)=[15 16.3 16.8 0 0] ;
mx(55,:)=[14.4 14.7 15 0 0];
mx(56,:)=[14.8 14.6 14.4 0 0];
my(1,:)=[3.5 3.8 4 0 0];
my(2,:)=[4 4.1 0 0 0];
my(3,:)=[4.1 4.4 6.1 7.5 0];
my(4,:)=[7.5 7 5.7 5.1 0];
my(5,:)=[5.1 7 7 5.7 0];
my(6,:)=[5.7 5.9 4 0 0];
my(7,:)=[3.5 3.1 3 0 0];
my(8,:)=[3 3.1 0 0 0];
my(9,:)=[3.1 3.3 3.5 0 0];
my(10,:)=[2.4 2.9 3.5 0 0];
my(11,:)=[2.4 1.9 2.1 2.2 1.9];
my(12,:)=[1.9 1.8 1.9 0 0];
my(13,:)=[1.9 1.8 2 0 0];
my(14,:)=[2 2.1 0 0 0];
my(15,:)=[2.1 1.6 1.9 0 0];
my(16,:)=[1.9 1.4 1.5 0 0];
my(17,:)=[1.5 1.4 1.5 0 0];
my(18,:)=[1.5 1.4 1.6 0 0];
my(19,:)=[1.6 1.6 2 2.5 4];
my(20,:)=[4.3 4 3.4 0 0];
my(21,:)=[2.4 2.7 3.4 0 0];
my(22,:)=[4.6 4 3 0 0];
my(23,:)=[2.6 2.7 3 0 0];
my(24,:)=[3.2 2.9 2.6 0 0];
my(25,:)=[2.6 2.4 2.6 0 0];
my(26,:)=[4 5.8 0 0 0];
my(27,:)=[4 5.4 0 0 0];
my(28,:)=[3.5 2.5 0 0 0];
my(29,:)=[3.4 2.1 0 0 0];
my(30,:)=[3 1.8 0 0 0];
my(31,:)=[2.5 2 1.6 0 0];
my(32,:)=[2 1.7 1.5 0 0];
my(33,:)=[1.8 1.6 1.5 0 0];
my(34,:)=[2.8 2.67 2.8 2.9 2.5];
my(35,:)=[4.9 6.6 7 0 0];
my(36,:)=[6 6.6 7 0 0];
my(37,:)=[6 5.5 4.8 0 0];
my(38,:)=[1.9 2.4 3.6 4.8 0];
my(39,:)=[4.9 4.2 2.9 2.1 0];
my(40,:)=[2 2.3 2.7 0 0];
my(41,:)=[2.7 2.4 1.9 0 0];
my(42,:)=[2.6 2.3 1.9 0 0];
my(43,:)=[3.1 3.3 3.2 2.6 0];
my(44,:)=[3.1 3.6 4.1 4.8 0];
my(45,:)=[6.4 6.3 5.7 4.8 0];
my(46,:)=[4.4 6.4 4.8 0 0];
my(47,:)=[4 3.8 3.9 4.4 0];
my(48,:)=[3.8 3.6 3.7 4.2 0];
my(49,:)=[3.6 3.2 3.4 4 0];
my(50,:)=[4.7 5.5 5.6 0 0];
my(51,:)=[4.7 4.9 5.3 0 0];
my(52,:)=[4.3 4.6 4.9 0 0];
my(53,:)=[4.7 4.4 4.3 0 0];
my(54,:)=[4.6 4.4 5.1 0 0];
my(55,:)=[5.1 4.9 4.5 0 0];
my(56,:)=[6 5.6 5.1 0 0];
nk=[3 2 4 4 4 3 3 2 3 3 5 3 3 2 3 3 3 3 5 3 3 3 3 3 3 2 2 2 2 2 3 3 3 5 3 3 3 4 4 3 3 3 4 4 1 3 4 4 4 3 3 3 3 3 3 3];
end
function splinem(mx,my,nk)
m=length(nk);
for z=1:m
for t=1:nk(z)
x(t)=mx(z,t);
y(t)=my(z,t);
end
n=nk(z);
for i=1:n;
a(i)=y(i);
end
for i=1:n-1;
h(i)=x(i+1)-x(i);
end
for i=2:n-1;
alfa(i)=3/h(i)*(a(i+1)-a(i))-3/h(i-1)*(a(i)-a(i-1));
end
l(1)=1;
mu(1)=0;
z(1)=0;
for i=2:n-1;
l(i)=2*(x(i+1)-x(i-1))-h(i-1)*mu(i-1);
mu(i)=h(i)/l(i);
z(i)=(alfa(i)-h(i-1)*z(i-1))/l(i);
end
l(n)=1;
z(n)=0;
c(n)=0;
for i=n-1:-1:1;
c(i)=z(i)-mu(i)*c(i+1);
b(i)=(a(i+1)-a(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3;
d(i)=(c(i+1)-c(i))/(3*h(i));
end
for i=1:n-1;
xf=x(i):0.1:x(i+1);
yf=a(i)+b(i)*(xf-x(i))+c(i)*(xf-x(i)).^2+d(i)*(xf-x(i)).^3;
%if(x(i)<=x0 & x0<=x(i+1))
% y0=y(i)+b(i)*(x0-x(i))+c(i)*((x0-x(i))^2)+d(i)*((x0-x(i))^3);
%end
hold on;
plot(xf,yf,'b');
end
for i=1:n;
hold on;
plot (x(i),y(i),'b','MarkerEdgeColor','r','LineWidth',1);
end
end
p=0:0.1:0.5;
h=p.*20;
plot(p,h,'.');
plot(23,4.6,'.');
end
LA MATRIZ QUE GUARDA LOS DATOS DEL SNOOPY
function [mx,my,nk]=snopyb()
mx(1,:)=[1.3 1.6 2.6 0 0];
mx(2,:)=[2.6 5.1 0 0 0];
mx(3,:)=[5.1 6.2 7.8 11 0];
mx(4,:)=[11 13 15.5 17 0];
mx(5,:)=[17 19 22 23.8 0];
mx(6,:)=[23.8 25.3 28 0 0];
mx(7,:)=[1.3 1.6 2 0 0];
mx(8,:)=[2 7.3 0 0 0];
mx(9,:)=[7.3 8 8.7 0 0];
mx(10,:)=[8 8.4 8.7 0 0];
mx(11,:)=[8 8.9 10.2 11.4 13.1];
mx(12,:)=[13.1 13.4 13.8 0 0];
mx(13,:)=[13.8 14.2 14.6 0 0];
mx(14,:)=[14.6 17.3 0 0 0];
mx(15,:)=[17.3 17.8 18.7 0 0];
mx(16,:)=[18.7 22.4 23.5 0 0];
mx(17,:)=[23.5 23.9 24.1 0 0];
mx(18,:)=[24.1 24.6 25 0 0];
mx(19,:)=[25 26.2 27 27.6 28];
mx(20,:)=[28 28.5 28.8 0 0];
mx(21,:)=[27.6 28.4 28.8 0 0];
mx(22,:)=[27.8 29.2 29.9 0 0];
mx(23,:)=[29.2 29.6 29.9 0 0];
mx(24,:)=[28.8 29.1 29.2 0 0];
mx(25,:)=[28.3 28.7 29.2 0 0];
mx(26,:)=[26.6 28.6 0 0 0];
mx(27,:)=[27 29 0 0 0];
mx(28,:)=[27 28.6 0 0 0];
mx(29,:)=[26.6 28 0 0 0];
mx(30,:)=[26.6 27.8 0 0 0];
mx(31,:)=[24.9 25 25.1 0 0];
mx(32,:)=[23.9 24 24.1 0 0];
mx(33,:)=[23 23.4 23.5 0 0];
mx(34,:)=[19.8 21.6 23.4 24.6 24.9];
mx(35,:)=[17 19 20.6 0 0];
mx(36,:)=[20.2 20.3 20.6 0 0];
mx(37,:)=[20.2 20.4 20.5 0 0];
mx(38,:)=[18.7 19.4 20.2 20.5 0];
mx(39,:)=[17 16.8 16.9 17.3 0];
mx(40,:)=[14.6 14.7 14.8 0 0];
mx(41,:)=[13.6 13.7 13.8 0 0];
mx(42,:)=[12.8 13 13.1 0 0];
mx(43,:)=[11.5 12.7 14 14.8 0];
mx(44,:)=[11.5 11.6 12.1 12.7 0];
mx(45,:)=[11.1 11.2 12.5 12.7 0];
mx(46,:)=[6.2 11.1 12.7 0 0];
mx(47,:)=[22.6 23 23.5 23.8 0];
mx(48,:)=[22.4 22.8 23.5 24.1 0];
mx(49,:)=[22.2 22.9 23.6 24.2 0];
mx(50,:)=[22.4 22.8 23.1 0 0];
mx(51,:)=[22.4 23.2 23.7 0 0];
mx(52,:)=[23.1 23.2 23.3 0 0];
mx(53,:)=[22.6 22.8 23.1 0 0];
mx(54,:)=[15 16.3 16.8 0 0] ;
mx(55,:)=[14.4 14.7 15 0 0];
mx(56,:)=[14.8 14.6 14.4 0 0];
my(1,:)=[3.5 3.8 4 0 0];
my(2,:)=[4 4.1 0 0 0];
my(3,:)=[4.1 4.4 6.1 7.5 0];
my(4,:)=[7.5 7 5.7 5.1 0];
my(5,:)=[5.1 7 7 5.7 0];
my(6,:)=[5.7 5.9 4 0 0];
my(7,:)=[3.5 3.1 3 0 0];
my(8,:)=[3 3.1 0 0 0];
my(9,:)=[3.1 3.3 3.5 0 0];
my(10,:)=[2.4 2.9 3.5 0 0];
my(11,:)=[2.4 1.9 2.1 2.2 1.9];
my(12,:)=[1.9 1.8 1.9 0 0];
my(13,:)=[1.9 1.8 2 0 0];
my(14,:)=[2 2.1 0 0 0];
my(15,:)=[2.1 1.6 1.9 0 0];
my(16,:)=[1.9 1.4 1.5 0 0];
my(17,:)=[1.5 1.4 1.5 0 0];
my(18,:)=[1.5 1.4 1.6 0 0];
my(19,:)=[1.6 1.6 2 2.5 4];
my(20,:)=[4.3 4 3.4 0 0];
my(21,:)=[2.4 2.7 3.4 0 0];
my(22,:)=[4.6 4 3 0 0];
my(23,:)=[2.6 2.7 3 0 0];
my(24,:)=[3.2 2.9 2.6 0 0];
my(25,:)=[2.6 2.4 2.6 0 0];
my(26,:)=[4 5.8 0 0 0];
my(27,:)=[4 5.4 0 0 0];
my(28,:)=[3.5 2.5 0 0 0];
my(29,:)=[3.4 2.1 0 0 0];
my(30,:)=[3 1.8 0 0 0];
my(31,:)=[2.5 2 1.6 0 0];
my(32,:)=[2 1.7 1.5 0 0];
my(33,:)=[1.8 1.6 1.5 0 0];
my(34,:)=[2.8 2.67 2.8 2.9 2.5];
my(35,:)=[4.9 6.6 7 0 0];
my(36,:)=[6 6.6 7 0 0];
my(37,:)=[6 5.5 4.8 0 0];
my(38,:)=[1.9 2.4 3.6 4.8 0];
my(39,:)=[4.9 4.2 2.9 2.1 0];
my(40,:)=[2 2.3 2.7 0 0];
my(41,:)=[2.7 2.4 1.9 0 0];
my(42,:)=[2.6 2.3 1.9 0 0];
my(43,:)=[3.1 3.3 3.2 2.6 0];
my(44,:)=[3.1 3.6 4.1 4.8 0];
my(45,:)=[6.4 6.3 5.7 4.8 0];
my(46,:)=[4.4 6.4 4.8 0 0];
my(47,:)=[4 3.8 3.9 4.4 0];
my(48,:)=[3.8 3.6 3.7 4.2 0];
my(49,:)=[3.6 3.2 3.4 4 0];
my(50,:)=[4.7 5.5 5.6 0 0];
my(51,:)=[4.7 4.9 5.3 0 0];
my(52,:)=[4.3 4.6 4.9 0 0];
my(53,:)=[4.7 4.4 4.3 0 0];
my(54,:)=[4.6 4.4 5.1 0 0];
my(55,:)=[5.1 4.9 4.5 0 0];
my(56,:)=[6 5.6 5.1 0 0];
nk=[3 2 4 4 4 3 3 2 3 3 5 3 3 2 3 3 3 3 5 3 3 3 3 3 3 2 2 2 2 2 3 3 3 5 3 3 3 4 4 3 3 3 4 4 1 3 4 4 4 3 3 3 3 3 3 3];
end
SNOOPY COMPLETO
MILTON MENDOZA CASAS
LO BAJAN POR FAVOR DE LA SIGUIENTE DIRECCION:
http://www.4shared.com/file/-uRy1vOp/156Snoopy.html
SON DOS ARCHIVOS QUE PUEDEN ABRIRLO EN EL MATLAB
EL ARCHIVO snopy.m genera automaticamente los puntos de todos lo spline y esta almecenado estrategicamente en dos matrices mx, my. Es facil!!!
EL ARCHIVO mtspline.m(mx,my,nk) nk es un vector que contiene en cada posicion el numerode datos n, de cada spline del snoopy. Buena suerte!!!
AYUDA: SUBAN ABRAN O HAGAN QUE LOS DOS ARCHIVOS PUEDAN CORRER EN EL MATLAB.
1PASO: Ejecutan lo siguiente: [mx,my,nk]=snopy
2PASO: Ahora dibujen haciendo: mtspline(mx,my,nk)
Suscribirse a:
Entradas (Atom)