Anónimo
Anónimo preguntado en Ciencias y matemáticasIngeniería · hace 8 años

¿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

Calificación
  • hace 8 años
    Respuesta 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
¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.