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
Top Related