1.4.- Práctica Matlab

download 1.4.- Práctica Matlab

of 7

Transcript of 1.4.- Práctica Matlab

  • 8/18/2019 1.4.- Práctica Matlab

    1/7

    Dado el sistema masa-muelle-amortiguador de la figura,

    cuyas ecuaciones diferenciales se adjuntan, proceder a su

    simulación mediante Matlab.

    Suelo

    K1 R1

    M1

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    2/7

    % Ejemplo de modelo para ecuaciones diferenciales en forma explicita.% Resolucion utilizando ode45 (Runge-Kutta) para sistemas no stiff.function masamuelle1gl_ode45()

    global M1 K1 R1 g V0;M1 = 250; %Masa suspendidaK1 = 10000; %Rigidez suspensionR1 = 1000; %Amortiguador suspensiong = 9.81; %GravedadV0=0; %Excitacion

    %y(1)= velocidad masa suspendida

    %y(2)= desplazamiento suspensiony=zeros(2,1);y=[0 0]; %Condiciones Iniciales. Vector solucion

    [t,y] = ode45(@sistema,[0:0.01:5],y,[]);

    % Graficasnfilas=2;ncolumnas=1;subplot(nfilas,ncolumnas,1);plot(t,y(:,1));title('Velocidad masa suspendida')ylabel('Vs (m/s)')xlabel('t (s)')

    subplot(nfilas,ncolumnas,2);plot(t,y(:,2));title('Desplazamiento suspension')ylabel('Xs (m)')xlabel('t (s)')

    Algoritmo de resolución…

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    3/7

    % Ejemplo de modelo para ecuaciones diferenciales en forma explicita.% Resolucion utilizando ode45 (Runge-Kutta) para sistemas no stiff.function masamuelle1gl_ode45()

    global M1 K1 R1 g V0;M1 = 250; %Masa suspendidaK1 = 10000; %Rigidez suspensionR1 = 1000; %Amortiguador suspensiong = 9.81; %GravedadV0=0; %Excitacion

    %y(1)= velocidad masa suspendida%y(2)= desplazamiento suspensiony=zeros(2,1);y=[0 0]; %Condiciones Iniciales. Vector solucion

    [t,y] = ode45(@sistema,[0:0.01:5],y,[]);

    % Graficasnfilas=2;ncolumnas=1;subplot(nfilas,ncolumnas,1);plot(t,y(:,1));title('Velocidad masa suspendida')ylabel('Vs (m/s)')xlabel('t (s)')

    subplot(nfilas,ncolumnas,2);plot(t,y(:,2));title('Desplazamiento suspension')ylabel('Xs (m)')xlabel('t (s)')

    function dy = sistema(t,y)global M1 K1 R1 g V0;

    dy=zeros(2,1);

    dy(1) = -g + 1/M1*(R1*(V0-y(1)) + K1*y(2));dy(2) = V0 - y(1);

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    4/7

    % Ejemplo de modelo para ecuaciones diferenciales en forma explicita.% Resolucion utilizando ode45 (Runge-Kutta) para sistemas no stiff.function masamuelle1gl_ode45()

    global M1 K1 R1 g V0;M1 = 250; %Masa suspendidaK1 = 10000; %Rigidez suspensionR1 = 1000; %Amortiguador suspensiong = 9.81; %GravedadV0=0; %Excitacion

    %y(1)= velocidad masa suspendida%y(2)= desplazamiento suspensiony=zeros(2,1);y=[0 0]; %Condiciones Iniciales. Vector solucion

    [t,y] = ode45(@sistema,[0:0.01:5],y,[]);

    % Graficasnfilas=2;ncolumnas=1;subplot(nfilas,ncolumnas,1);plot(t,y(:,1));title('Velocidad masa suspendida')ylabel('Vs (m/s)')xlabel('t (s)')

    subplot(nfilas,ncolumnas,2);plot(t,y(:,2));title('Desplazamiento suspension')ylabel('Xs (m)')xlabel('t (s)')

    function dy = sistema(t,y)global M1 K1 R1 g V0;

    dy=zeros(2,1);

    dy(1) = -g + 1/M1*(R1*(V0-y(1)) + K1*y(2));dy(2) = V0 - y(1);

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    5/7

    Suelo

    K1 R1

    M1

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    6/7

    % Ejemplo de modelo para ecuaciones diferenciales en forma explicita.% Resolucion utilizando ode45 (Runge-Kutta) para sistemas no stiff.function masamuelle1gl_ode45()

    global M1 K1 R1 g V0;M1 = 250; %Masa suspendidaK1 = 10000; %Rigidez suspensionR1 = 1000; %Amortiguador suspensiong = 9.81; %GravedadV0=0; %Excitacion

    %y(1)= velocidad masa suspendida

    %y(2)= desplazamiento suspensiony=zeros(2,1);y=[0 0]; %Condiciones Iniciales. Vector solucion

    [t,y] = ode45(@sistema,[0:0.01:5],y,[]);

    % Graficasnfilas=2;ncolumnas=1;subplot(nfilas,ncolumnas,1);plot(t,y(:,1));title('Velocidad masa suspendida')ylabel('Vs (m/s)')xlabel('t (s)')

    subplot(nfilas,ncolumnas,2);plot(t,y(:,2));title('Desplazamiento suspension')ylabel('Xs (m)')xlabel('t (s)')

    function dy = sistema(t,y)global M1 K1 R1 g V0;

    dy=zeros(2,1);

    dy(1) = -g + 1/M1*(R1*(V0-y(1)) + K1*y(2));dy(2) = V0 - y(1);

    Prácticas en MATLAB

  • 8/18/2019 1.4.- Práctica Matlab

    7/7

    Dado el fichero Matlab adjunto, realizar las modificaciones oportunas para los

    siguientes 5 casos diferentes (generar 5 ficheros):

    1. Estimar la frecuencia natural del modelo.

    2. Realizar la simulación con R1 = 0.

    3. Obtener un sistema con una frecuencia natural muy alta.

    4. Obtener un sistema sobreamortiguado.

    5. Realizar una simulación con V0 como función senoidal.

    Una vez pensado, dichos casos deberán ser introducidos y validados en el ordenador

    para su correcto análisis, lo cual deberá realizarse por cada alumno el día de prácticas.

    Suelo

    K1 R1

    M1

    Prácticas en MATLAB