¿Graficas en Matlab y graficas?
Hola!
Estoy haciendo la simulación de un sitema- masa-resorte amortiguador
y cuando voy a graficarlo en 3D sólo me sale la posición inicial y la final del resorte
¿Cómo hago para que gráfique la simulación del movimiento, una animación ?
Otra pregunta la gráfica de Posicion vs la velocidad es una espiral, alguna idea de como gráficar estos fasores?
La fórmula para poder gráficar esto
Gracias por su atención.
function dibujomasa(t1)
l1=2; h1=1;
%masa1=plot(0,0);
t1=0:1000:10;
for i=1:length(t1)
p1=t1(i)+1.25;
pause(0.01)
xm=[0,l1,l1,0,0];
ym=[0,0,h1,h1,0];
plot3(0,( xm+p1(i)), ym(i), '--or')
xlabel('')
ylabel('')
zlabel('')
%axis(handles.axes4,[0 tMax -5 5 -10 10 ])
hold('all')
grid('on')
end
La verdad lo que estoy buscando es como simular el movimiento en x del resorte así disminuyendo su velocidad debido al resorte y busco La gráfica de posición vs Velocidad que sería como círculos concentricos, Pero Gracias por tu tiempo y respuesta, me ayuda a guiarme :)
1 respuesta
- AntonioLv 4hace 8 añosRespuesta preferida
Hola!!
Refiriendome a la última nota que pusiste.
La gráfica de una variable vs su derivada se conoce como PLANO DE FASE en control y en análisis de sistemas dinámicos.
El siguiente código, hace esa gráfica. No tienes mas que hacer plot(x, v) y listo. Obviamente, x y v las obtienes de tu simulación. Si estás usando simulink solo toma de tu modelo esas variables y las graficas con el plot de esa manera.
En el código que te escribo abajo, yo generé "artificialmente" la posición x y luego la derivé para que correspondiera a la velocidad, pero si tu tienes el modelo en simulink ya no tienes que hacer esto sino tomar ambas variables de allí.
f=10; % frecuencia de la señal en Hz
w=2*pi*f; % Frecuencia de la señal en rad/s
Fs=32000; % Frecuencia de muestreo en Hz
tf=1.5; % Duracion de la simulacion
t=(0:1/Fs:tf )'; % Genero mi vector tiempo
x = 4*sin(w*t).*exp(-5*t); %vector de posicion
dxdt = 4*exp(-5*t).*(-5*sin(w*t) + w*cos(w*t)); %derivada de la posicion = velocidad
plot(x,dxdt)
xlabel('Posicion')
ylabel('Velocidad')
title('Plano de fase')
Fuente(s): MANUALES DE MATLAB