% Esercitazione Fondamenti di Automatica
% 
% Sistema Massa-Molla-Smorzatore
% Richiama il file: mms_freq.m (Matlab 4.xx) 
%                 o mms_freq.dml (Matlab 5.xx)
%
% (ultima modifica 19/03/99)
%
% Risposta in evoluzione forzata del sistema
% Massa-Molla-Smorzatore
% ad un ingresso sinusoidale
% caso smorzamento basso (coppia aut. c.c.)
%
% Si possono generare diverse situazioni
% variando la pulsazione del segnale di ingresso omu
% più o meno vicina alla pulsazione naturale
% del sistema puls_nat
% oppure variando i parametri del sistema


clc
clear all
close all

echo on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pulsazione del segnale di ingresso  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

echo off

omu = 1

% caso smorzamento basso (coppia aut. c.c.)

m = 3;
k = 2;
mu = 0.11;
A = [0, 1; -k/m, -mu/m];

la=eig(A)
smorzamento=-real(la(1))/abs(la(1))
puls_nat=abs(la(1))
B = [0; 1/m];
C = [1, 0];

Guadagno= dcgain(A,B,C,0)

om=logspace(-1,1,500);
[Mag,Phase]=bode(A,B,C,0,1,om);
MagdB=20*log10(Mag);
subplot(211)
semilogx(om,MagdB),grid
title('Diagramma del modulo in dB')
axis([0.1,10,-20,20])
subplot(212)
semilogx(om,Phase),grid
title('Diagramma della fase in gradi')
axis([0.1,10,-180,10])

x0 = [0; 0];

mms_freq

echo on

% LANCIARE LA SIMULAZIONE DALLO SCHEMA SIMULINK

echo off
