Matlab - Ayuda con animación de péndulos acoplados

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 8 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda con animación de péndulos acoplados

Publicado por Rodrigo (3 intervenciones) el 11/12/2020 02:48:07
Buenas, tengo un problema, ya que necesito animar dos péndulos acoplados a través de un resorte y al momento de graficar no me aparece nada, estos son los códigos que estoy utilizando.}

Este es mi código ejecutor del péndulo acoplado y la animación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
clc
clear
close all
 
global g m1 m2 L a k c
 
g=9.81;
m1=5;
m2=5;
L=1;
a=0.5;
k=5;
c=0.5;
tmax=50;
 
Dt=0.001;
x10=0;
v10=2;
x20=0;
v20=0;
 
options= odeset('RelTol', 1e-5, 'AbsTol', [1e-5 1e-5 1e-5 1e-5]);
[T,Y] = ode45(@Penduloacoplado, [0 tmax], [x10 v10 x20 v20], options);
 
 
 
figure('position', [300 140 1200 820]);
sub1= subplot('position', [0.13 0.11 0.5 0.8]);
plot(0,0), axis equal, xlim([0 2*L]), ylim([0 6*L/5]);
 
set(gca,'YTick',[],'YTickLabel',[]),set(gca,'XTick',[],'XTickLabel',[])
 
p1=animatedline('Color','r','Marker','S','MarkerFaceColor','r','MaximumNumPoints',1,'Parents',sub1);
La=animatedline('Color','r','Linewidth',0.5,'LineStyle','-','MaximumNumPoints',2,'Parents',sub1);
 
tr1=animatedline('Color',(1/256)*[255, 153, 153],'Parent',sub1);
tr2=animatedline('Color',(1/256)*[255, 153, 153],'Parent',sub1);
 
tr1n=animatedline('Color',(1/256)*[153, 153, 255],'Parent',sub1);
tr2n=animatedline('Color',(1/256)*[153, 153, 255],'Parent',sub1);

Y este código es el que realiza las operaciones.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function dy=Penduloacoplado(t,u)
 
global g m1 m2 L a k c
 
dy=zeros(4,1);
S=sin(u(3))-sin(u(1));
 
M1=m2*L*g*sin(u(3));
M2=k*(a.^2)*S*cos(u(3));
M3=c*u(3);
M4=(m2*(L.^2));
 
N1=m1*L*g*sin(u(1));
N2=k*(a.^2)*S*cos(u(1));
N3=c*u(2);
N4=m1*(L.^2);
 
dy(1)=u(2);
dy(2)=-(N1-N2+N3)/N4;
dy(3)=u(4);
dy(4)=-(M1+M2+M3)/M4;
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder