Matlab - Problemas con animatedline para octave

 
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

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder