clear all
close all

% Definizione delle costanti del modello
m=100;     % Massa (kg)
k=10;      % Costante elastica (kg/s^2)
beta=25;   % Coefficiente di attrito (kg/s)

% Definizione delle matrici del sistema
A=[ 0 1 ; -k/m -beta/m ];
B=[ 0 ; 1/m ];
C=[ 1 0 ];
D=0;

% Creazione del sistema
S=ss(A,B,C,D);

% Calcolo degli autovalori del sistema
pole(S)

% Calcolo del guadagno in continua del sistema
dcgain(S)

% Prima simulazione del sistema
X0=[ 2 ; 0 ];
T=0:0.1:50;
U=zeros(length(T),1);
Y=lsim(S,U,T,X0);
figure(1)
plot(T,Y)
xlabel('t')
ylabel('s(t)')
title('Sistema massa-molla-smorzatore')

% Seconda simulazione del sistema
X0=[ 0 ; 0 ];
T=0:0.1:50;
umax=3;
U=umax*ones(length(T),1);
Y=lsim(S,U,T,X0);
figure(2)
plot(T,Y)
xlabel('t')
ylabel('s(t)')
title('Sistema massa-molla-smorzatore')

% Terza simulazione del sistema
X0=[ 0 ; 0 ];
T=0:0.1:80;
umax=5;
omega=0.8;
U=umax*sin(omega*T');
Y=lsim(S,U,T,X0);
figure(3)
plot(T,Y)
xlabel('t')
ylabel('s(t)')
title('Sistema massa-molla-smorzatore')