Problemas con animatedline para octave
Publicado por Rodrigo (3 intervenciones) el 09/12/2020 23:06:08
Buenas tardes, tengo un problema ya que debo animar el movimiento de un péndulo doble en octave y no se me ocurre como puedo animar esto, los códigos que estoy ocupando son estos dos.
Este es el código ejecutor de péndulo doble.
Y este es el otro codigo:
Tengo muchos problemas para hacer la animación del movimiento del péndulo doble.
Este es el código ejecutor de péndulo doble.
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
clc
close all
clear
global L1 L2 g alfa beta gamma m1 m2
m1=input('Ingrese el valor de la masa 1: ');
m2=input('Ingrese el valor de la masa 2: ');
L1=input('Ingrese el valor del largo 1: ');
L2=input('Ingrese el valor del largo 2: ');
tmax=input('Ingrese el tiempo maximo de integracion: ');
disp("La gravedad sera la de la tierra, siendo esta 9.81 m/s^2");
g=9.81;
alfa=(m1/m2);
beta=(L1/L2);
gamma=(g/L1);
x1=1;
v1=1;
x2=3.5;
v2=2;
options=odeset('Reltol',1e-5,'Abstol',[1e-5 1e-5 1e-5 1e-5]);
[T,U]= ode45(@pendulodoble_grupo1,[0 tmax],[x1 v1 x2 v2],options)
Y este es el otro codigo:
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
function dy=pendulodoble_grupo1(t,u)
global alfa beta gamma
O=u(1)-u(3);
S=1+alfa;
N1=S*gamma*(sin(u(1)));
N2=alfa*beta*((u(4)).^2)*(sin(O));
N3=alfa*(cos(O));
N4=((u(2)).^2)*(sin(O));
N5=gamma*(sin(u(3)));
N6=1+alfa*((sin(O)).^2);
M1=S*(((u(2)).^2)*(sin(O)))-(gamma*(sin(u(3))));
M2=cos(O);
M3=S*gamma*sin(u(1));
M4=alfa*beta*((u(4)).^2)*(sin(O));
M5=beta*(1+(alfa*((sin(O)).^2)));
dy=zeros(4,1);
dy(1)=u(2);
dy(2)=-(N1+N2+N3*(N4-N5))/(N6);
dy(3)=u(4);
dy(4)=(M1+M2*(M3+M4))/(M5);
endfunction
Tengo muchos problemas para hacer la animación del movimiento del péndulo doble.
Valora esta pregunta


0