2
Juan Manuel de Rosas 325 Tel/Fax (+54 3755) 422 179 – 422 170 www.fiobera.unam.edu.ar e-mail: [email protected] CP3360 Oberá Misiones Argentina Universidad Nacional de Misiones SOLUCIÓN DE LA ECUACIÓN DIFERENCIAL MASA-RESORTE-AMORTIGUADOR clc % Limpia la pantalla clear all % Borra todas las variables close all % Cierra todos los programas % --------------------------------------------------------------------------------------- % Datos: G = 2 ; % Masa en kg ka = 10 ; % Constante de amortiguamiento N.s/m kr = 100 ; % Constante del resorte en N/m Wm = 1 ; % Amplitud de la fuerza en N To = [0 3] ; % Intervalo de estudio en s Xo = [1;0] ; % Condiciones iniciales f = 10 ; % Frecuencia de la fuerza en Hz % ---------------------------------------------------------------------------------------- % Resolución de las ecuaciones diferenciales: % x(1) = desplazamiento ; x(2) = velocidad A = [0 1;-kr/G -ka/G]; B = [0;1/G]; [t,x]=ode45(@(t,x)[A*[x(1);x(2)]+ B*Wm*sin(2*pi*f*t)],To,Xo); % ---------------------------------------------------------------------------------------- % Representación gráfica de resultados: subplot(1,2,1) plot(t,x(:,1)) xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Desplazamiento [m]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') grid on subplot(1,2,2) plot(t,x(:,2)) grid on xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Velocidad [m/s]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') set(gca,'fontsize',10,'fontangle','normal','fontname','times new roman')

Solución sistema masa resorte amortiguador

Embed Size (px)

Citation preview

  • Juan Manuel de Rosas 325 Tel/Fax (+54 3755) 422 179 422 170 www.fiobera.unam.edu.ar e-mail: [email protected] CP3360 Ober Misiones Argentina

    Universidad Nacional de Misiones

    SOLUCIN DE LA ECUACIN DIFERENCIAL

    MASA-RESORTE-AMORTIGUADOR

    clc % Limpia la pantalla clear all % Borra todas las variables close all % Cierra todos los programas % --------------------------------------------------------------------------------------- % Datos: G = 2 ; % Masa en kg ka = 10 ; % Constante de amortiguamiento N.s/m kr = 100 ; % Constante del resorte en N/m Wm = 1 ; % Amplitud de la fuerza en N To = [0 3] ; % Intervalo de estudio en s Xo = [1;0] ; % Condiciones iniciales f = 10 ; % Frecuencia de la fuerza en Hz % ---------------------------------------------------------------------------------------- % Resolucin de las ecuaciones diferenciales: % x(1) = desplazamiento ; x(2) = velocidad A = [0 1;-kr/G -ka/G]; B = [0;1/G]; [t,x]=ode45(@(t,x)[A*[x(1);x(2)]+ B*Wm*sin(2*pi*f*t)],To,Xo); % ---------------------------------------------------------------------------------------- % Representacin grfica de resultados: subplot(1,2,1) plot(t,x(:,1)) xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Desplazamiento [m]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') grid on subplot(1,2,2) plot(t,x(:,2)) grid on xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Velocidad [m/s]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') set(gca,'fontsize',10,'fontangle','normal','fontname','times new roman')

  • Sistema masa-resorte-amortiguador

    MODELACIN EN INGENIERA Ao 2013 2

    Otra forma de definir la ecuacin diferencial con una funcin definida

    por el usuario

    archivo principal

    global ka kr G f Wm % ---------------------------------------------------------------------------------------- % Datos: G = 2 ; % Masa en kg ka = 10 ; % Constante de amortiguamiento N.s/m kr = 100 ; % Constante del resorte en N/m Wm = 1 ; % Amplitud de la fuerza en N To = [0 3] ; % Intervalo de estudio en s Xo = [1;0] ; % Condiciones iniciales f = 10 ; % Frecuencia de la fuerza en Hz % ---------------------------------------------------------------------------------------- [t,x]=ode45(@fode_masa_resorte,To,Xo); subplot(1,2,1) plot(t,x(:,1)) xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Desplazamiento [m]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') grid on subplot(1,2,2) plot(t,x(:,2)) grid on xlabel('t [s]','fontsize',10,'fontangle','oblique','fontname','times new roman') ylabel('Velocidad [m/s]','fontsize',10,'fontangle','oblique','fontname', ... 'times new roman') set(gca,'fontsize',10,'fontangle','normal','fontname','times new roman')

    IMPORTANTE : el script se llama: fode_masa_resorte.m

    Y el programa se corre desde el archivo principal

    function dxdt= fode_masa_resorte(t,x) global ka kr G f Wm z = x(1) ; % desplazamiento v = x(2); % velocidad dxdt= [v 1/G*(-kr*z - ka*v +Wm*sin(2*pi*f*t))];