% Prova intermedia di autovalutazione
% Giuseppe Oriolo, dicembre 2002
% Esercizio 1, soluzione via assegnazione dei poli

clear all;clg;echo on

% eq stato processo

A=-10;B=11;C=-1;D=1;

% determiniamo la funzione di trasferimento del processo

[numP,denP]=ss2tf(A,B,C,D)

% determiniamo il controllore per assegnazione dei poli: innanzitutto
% aggiungiamo al denominatore un polo nell'origine (astatismo d1) 
% e poli in +j,-j (astatismo d2); non sono necessari altri poli "liberi" 
% perche' il grado di denP e' 1 (1-1=0);
% il denominatore di G(s) e' dunque s(s^2+1)=s^3+s

denG=[1 0 1 0];

% il polinomio da aggiungere a numeratore e' as^3+bs^2+cs+d (controllore
% proprio) e i coefficienti vengono calcolati imponendo l'uguaglianza del
% denominatore ad anello chiuso con e(s+1)^4 (vedi soluzione)

a=3/8;b=-33/8;c=25/8;d=-11/8;

numG=[a b c d];

numF=conv(numP,numG);
denF=conv(denP,denG);

[numW,denW]=cloop(numF,denF,-1)
roots(denW)
