jueves, 8 de mayo de 2014
miércoles, 7 de mayo de 2014
TALLER FINAL DE SIMULACIÓN
Para que estudien para el parcial final!!! Exitos!!
https://www.dropbox.com/s/1dxyw8uxo3gc1vn/TALLER%20FINAL%20SIMULACI%C3%93N.pdf
https://www.dropbox.com/s/1dxyw8uxo3gc1vn/TALLER%20FINAL%20SIMULACI%C3%93N.pdf
jueves, 24 de abril de 2014
Simulación cuerda elástica
Realizar la simulación de una cuerda utilizando las ecuaciones del péndulo elástico, como mínimo se deben utilizar 3 eslabones conectados.
Fecha de entrega en clase: Martes 13 de Mayo de 2014
Fecha de entrega en clase: Martes 13 de Mayo de 2014
Tarea simulación partículas
Realizar la simulación de una explosión, similar a la que ocurre en el siguiente ejemplo.
Fecha de entrega: Martes 6 de Mayo de 2014
martes, 8 de abril de 2014
3er Corte - Pocentajes
Proyectos y trabajos 50 %
Endorphine 10 %
Parcial Final 40 % (Fecha Jueves 15 de Mayo de 2014)
Endorphine 10 %
Parcial Final 40 % (Fecha Jueves 15 de Mayo de 2014)
Endorphine simulation - 10% Tercer Corte
El proyecto de simulación sobre Endorphine, será realizado en grupos de 2 personas cómo máximo y deberá ser entregado via link en youtube a mi correo electrónico con plazo máximo Jueves 15 de Mayo a la media noche. En la escena del endorphine deben colocar sus nombres utilizando las herramientas de modelado como cajas o figuras que vienen predeterminadas o en su defecto utilizando MAYA.
Este es el link de Endorphine oficial en el encontraran tutoriales y manuales importantes para que realicen su proyecto:
http://www.naturalmotion.com/middleware/endorphin-2-7/
Este es uno de los proyectos que me entregaron el semestre pasado para que se guíen:
Este es un link tutorial de como realizar la simulación de personajes en Endorphine:
Este es el link de Endorphine oficial en el encontraran tutoriales y manuales importantes para que realicen su proyecto:
http://www.naturalmotion.com/middleware/endorphin-2-7/
Este es uno de los proyectos que me entregaron el semestre pasado para que se guíen:
Este es un link tutorial de como realizar la simulación de personajes en Endorphine:
Simulación sistemas rotacionales (Rueda)
function rotacional
R=1;
% declara variables
time=0:1/10:30;
condicionesiniciales=[0 10];
% desarrolla las ecuaciones diff rk 4 orden
[t,theta]=ode45(@fk,time,condicionesiniciales)
x=R*sin(theta(:,1));
y=-R*cos(theta(:,1));
% Animación graficas
for i=1:length(time)
% plot velocidad angular
pause(1/100)
subplot(2,2,1)
plot(time(i),theta(i,2),'-')
xlabel('tiempo (s)')
ylabel('w (rad/s)')
hold on
% plot rotacion angular
subplot(2,2,2)
plot(time(i),theta(i,1),'-')
xlabel('tiempo (s)')
ylabel('Angulo (rad)')
hold on
% grafico circulo
xc=0; yc=0; r=1; % Centro y radio
n = 50; k=0:n; fi=2*pi*k/n;
xx=xc+r*cos(fi); yy = yc+r*sin(fi);
subplot(2,2,3)
plot(xc,yc,'x',xx,yy);
axis([-2 2 -2 2]), axis equal;
hold on
%plot linea para visualizar la velocidad angular
subplot(2,2,3)
plot([0 x(i)],[0 y(i)])
axis([-2 2 -2 2])
xlabel('x(m)')
ylabel('y(m)')
hold off
end
end
%Ecuacion diferencial
function rk=fk(t,y)
m=2;
b=0.1;
R=1;
rk=[y(2);-(b/(m*R))*y(2)];
end
R=1;
% declara variables
time=0:1/10:30;
condicionesiniciales=[0 10];
% desarrolla las ecuaciones diff rk 4 orden
[t,theta]=ode45(@fk,time,condicionesiniciales)
x=R*sin(theta(:,1));
y=-R*cos(theta(:,1));
% Animación graficas
for i=1:length(time)
% plot velocidad angular
pause(1/100)
subplot(2,2,1)
plot(time(i),theta(i,2),'-')
xlabel('tiempo (s)')
ylabel('w (rad/s)')
hold on
% plot rotacion angular
subplot(2,2,2)
plot(time(i),theta(i,1),'-')
xlabel('tiempo (s)')
ylabel('Angulo (rad)')
hold on
% grafico circulo
xc=0; yc=0; r=1; % Centro y radio
n = 50; k=0:n; fi=2*pi*k/n;
xx=xc+r*cos(fi); yy = yc+r*sin(fi);
subplot(2,2,3)
plot(xc,yc,'x',xx,yy);
axis([-2 2 -2 2]), axis equal;
hold on
%plot linea para visualizar la velocidad angular
subplot(2,2,3)
plot([0 x(i)],[0 y(i)])
axis([-2 2 -2 2])
xlabel('x(m)')
ylabel('y(m)')
hold off
end
end
%Ecuacion diferencial
function rk=fk(t,y)
m=2;
b=0.1;
R=1;
rk=[y(2);-(b/(m*R))*y(2)];
end
simulación doble masa
function doblemasa
% declara variables
x1d=5;
x2d=20;
time=0:1/10:120;
condicionesiniciales=[x1d+10 0 x2d+20 0];
y=0*time;
% desarrolla las ecuaciones diff rk 4 orden
[t,x]=ode45(@fk,time,condicionesiniciales);
% graficas
for i=1:length(time)
pause(1/1000)
plot(x(i,1)+x1d,0,'ko','Markersize',10,'MarkerFaceColor','green');
hold all;
plot(x(i,3)+x2d,0,'ko','Markersize',10,'MarkerFaceColor','red');
hold off;
xlabel('DistanciaX(Metros)');
ylabel('DistanciaY(Metros)');
grid on;
axis([-50, 50,-2, 2]);
drawnow
end
end
function rk=fk(t,x)
m=1;
k1=2;
k2=2;
b=1;
rk=[x(2);-(k1/m)*x(1)-(k2/m)*(x(1)-x(3))-(b/m)*(x(2)-x(4));x(4);-(k2/m)*(x(3)-x(1))-(b/m)*(x(4)-x(2))];
end
% declara variables
x1d=5;
x2d=20;
time=0:1/10:120;
condicionesiniciales=[x1d+10 0 x2d+20 0];
y=0*time;
% desarrolla las ecuaciones diff rk 4 orden
[t,x]=ode45(@fk,time,condicionesiniciales);
% graficas
for i=1:length(time)
pause(1/1000)
plot(x(i,1)+x1d,0,'ko','Markersize',10,'MarkerFaceColor','green');
hold all;
plot(x(i,3)+x2d,0,'ko','Markersize',10,'MarkerFaceColor','red');
hold off;
xlabel('DistanciaX(Metros)');
ylabel('DistanciaY(Metros)');
grid on;
axis([-50, 50,-2, 2]);
drawnow
end
end
function rk=fk(t,x)
m=1;
k1=2;
k2=2;
b=1;
rk=[x(2);-(k1/m)*x(1)-(k2/m)*(x(1)-x(3))-(b/m)*(x(2)-x(4));x(4);-(k2/m)*(x(3)-x(1))-(b/m)*(x(4)-x(2))];
end
lunes, 10 de marzo de 2014
Caída libre con rebotes
function rebote(elasticidad,yo)
v = 0;
dt = 1/10;
tf = 50;
g=-9.81;
times = 0:dt:tf;
x=0*times;
z=0*times;
y = zeros(size(times))
for idx = 1:length(times)
newy = yo + (v+g*dt/2)*dt;
v = v + g*dt;
if newy < 0
newy = 0;
v = -v*elasticidad;
end
y(idx) = newy;
yo = newy;
end
for i=1:length(times)
pause(1/100)
plot3(x(i),z(i),y(i),'o r','MarkerFaceColor','m')
grid on
axis([-2 2 -2 2 min(y) max(y)])
end
end
v = 0;
dt = 1/10;
tf = 50;
g=-9.81;
times = 0:dt:tf;
x=0*times;
z=0*times;
y = zeros(size(times))
for idx = 1:length(times)
newy = yo + (v+g*dt/2)*dt;
v = v + g*dt;
if newy < 0
newy = 0;
v = -v*elasticidad;
end
y(idx) = newy;
yo = newy;
end
for i=1:length(times)
pause(1/100)
plot3(x(i),z(i),y(i),'o r','MarkerFaceColor','m')
grid on
axis([-2 2 -2 2 min(y) max(y)])
end
end
lunes, 3 de marzo de 2014
Caida fricción sobre resorte amortiguado
function total2
clc
% solucion caida libre
time1=0:1/10:5;
condini=[100 0];
x=0*time1;
z=0*time1; %Resuelvo las ecuaciones diff
[t,y]=ode45(@cfr,time1,condini); %solucion masa resorte
time2=5:1/10:35;
alturafinal=y(length(y(:,1)),1);
velocidadfinal=y(length(y(:,2)),2);
condicionesiniciales=[alturafinal velocidadfinal];
x2=0*time2;
z2=0*time2; % desarrolla las ecuaciones diff rk 4 orden
[t2,y2]=ode45(@fk,time2,condicionesiniciales); % Unir programa a simular
tt=[time1 time2];
yt=[y;y2];
xt=[x x2];
zt=[z z2] % graficar resultado
for i=1:length(tt)
pause(1/100)
subplot(2,2,1)
plot(tt,yt(:,2))subplot(2,2,2)
plot(tt,yt(:,1))subplot(2,2,3)
plot3(xt(i),zt(i),yt(i,1),'o r','MarkerFaceColor','m')
grid on
axis([-2 2 -2 2 min(yt(:,1)) max(yt(:,1))]) end
end function rk=cfr(t,y)
% Ecuaciones diferenciales caida libre
m=2;
b=0.01;
g=-9.81;
rk=[y(2);g-(b/m)*y(2)];
end function rk=fk(t,y)
m=2;
k=10;
c=1;
g=9.81;
rk=[y(2);g-(k/m)*y(1)-(c/m)*y(2)];
end
clc
% solucion caida libre
time1=0:1/10:5;
condini=[100 0];
x=0*time1;
z=0*time1; %Resuelvo las ecuaciones diff
[t,y]=ode45(@cfr,time1,condini); %solucion masa resorte
time2=5:1/10:35;
alturafinal=y(length(y(:,1)),1);
velocidadfinal=y(length(y(:,2)),2);
condicionesiniciales=[alturafinal velocidadfinal];
x2=0*time2;
z2=0*time2; % desarrolla las ecuaciones diff rk 4 orden
[t2,y2]=ode45(@fk,time2,condicionesiniciales); % Unir programa a simular
tt=[time1 time2];
yt=[y;y2];
xt=[x x2];
zt=[z z2] % graficar resultado
for i=1:length(tt)
pause(1/100)
subplot(2,2,1)
plot(tt,yt(:,2))subplot(2,2,2)
plot(tt,yt(:,1))subplot(2,2,3)
plot3(xt(i),zt(i),yt(i,1),'o r','MarkerFaceColor','m')
grid on
axis([-2 2 -2 2 min(yt(:,1)) max(yt(:,1))]) end
end function rk=cfr(t,y)
% Ecuaciones diferenciales caida libre
m=2;
b=0.01;
g=-9.81;
rk=[y(2);g-(b/m)*y(2)];
end function rk=fk(t,y)
m=2;
k=10;
c=1;
g=9.81;
rk=[y(2);g-(k/m)*y(1)-(c/m)*y(2)];
end
Simulación masa resorte vertical
function resorte_clase
% declara variables
time=0:1/10:30;
condicionesiniciales=[20 0];
x=0*time;
z=0*time;
% desarrolla las ecuaciones diff rk 4 orden
[t,y]=ode45(@fk,time,condicionesiniciales)
y1=-y(:,1)
% graficas
for i=1:length(time)
pause(1/100)
subplot(2,2,1)
plot(time(i),y(i,2),'-')
xlabel('tiempo (s)')
ylabel('velocidad (m/s)')
hold on
subplot(2,2,3)
plot(time(i),y1(i))
xlabel('tiempo (s)')
ylabel('posición (m)')
hold on
subplot(2,2,2)
plot(y(i,2),y1(i))
ylabel('posición (m)')
xlabel('velocidad (m/s)')
hold on
subplot(2,2,4)
plot3(x(i),z(i),y1(i),'o r','MarkerFaceColor','m')
axis([-2 2 -2 2 min(y1)-2 max(y1)+2])
grid on
ylabel('posición (m)')
xlabel('posición (m)')
zlabel('posición (m)')
end
end
function rk=fk(t,y)
m=2;
k=2;
b=0.5;
g=9.81;
rk=[y(2);g-(k/m)*y(1)-(b/m)*y(2)];
end
jueves, 13 de febrero de 2014
Solución de ecuaciones diferenciales ODE45
jueves, 6 de febrero de 2014
Taller Métodos Numéricos Simulación
Entregar en físico el día de clase, Jueves 13 de Febrero de 2014. Los programas de las simulaciones se deben entregar el martes 18 de Febrero de 2014, según corresponda con el listado de clase para el desarrollo del trabajo (par o impar).
Descargar el archivo del taller en el siguiente link:
https://www.dropbox.com/s/soyvyotdb2h11bl/Taller_Ecuaciones_Diferenciales.pdf
Descargar el archivo del taller en el siguiente link:
https://www.dropbox.com/s/soyvyotdb2h11bl/Taller_Ecuaciones_Diferenciales.pdf
jueves, 23 de enero de 2014
Plantillas LyX para presentación de trabajos
Este es el link, dónde podrán descargar las plantillas de presentación de trabajos en LyX.
https://www.dropbox.com/sh/n0npcm2tl62ce9h/rphxQUz3WE
https://www.dropbox.com/sh/n0npcm2tl62ce9h/rphxQUz3WE
martes, 21 de enero de 2014
Suscribirse a:
Comentarios (Atom)


