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

¿Graficando en Matlab?

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

1 respuesta

Calificación
  • hace 8 años
    Respuesta preferida

    Tienes algunas inconsistencias en tu código.

    Nada más generas un valor de t1. Revisa t1 despues de correr tu codigo y lo verás.

    Sumas en tu codigo t1(i) + xm. Es un elemento mas un vector de 4 elementos.

    A la hora de graficar: plot3(0,( xm+p1(i)), ym(i), '--or')

    no te mueves en la x

    etc.

    Te sugiero que primero generes tu datos en tres vectores x, y, z y luego grafiques:

    plot3(x, y, z)

    fuera del ciclo de generación de los datos.

    Revisa el siguiente código. Este haría más o menos lo que buscas. Es un movimiento armonico amortiguado con dos compomentes espaciales y el tiempo a través del cual se amortigua:

    -----------------------------------------------------------------------------------------------------------------------------------------

    f = 100; % 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; % para que dure 1 s

    t = (0:1/Fs:tf)'; %Generación del vector de tiempo

    y=sin(w*t).*exp(-2*t); % Generación de la señal sinusoidal

    x=cos(w*t).*exp(-2*t);

    %tamaño de la ventana grafica

    scrsz = get(0,'ScreenSize');

    figure('Position',[1*50 scrsz(2)*50 scrsz(3)*.9 scrsz(4)*.8])

    plot3(x,y,t)

    %axis([0 tf -1.2 1.2]) % ventana para ver la señal

    grid

    set(gca,'FontSize', 18)

    zlabel('Tiempo (s)')

    ylabel('Amplitud Y')

    xlabel('Amplitud X')

    title('Señal sinusoidal amortiguada \omega = 100 Hz, \tau = -2 s')

    Fuente(s): Manuales de MATLAB
¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.