sensi

sensi — sensitivity functions

Calling sequence

[Se,Re,Te]=sensi(G,K)  
[Si,Ri,Ti]=sensi(G,K,flag)  

Parameters

G : standard plant (syslin list)
K : compensator (syslin list)
flag : character string 'o' (default value) or 'i'
Se : output sensitivity function (I+G*K)^-1
Re : K*Se
Te : G*K*Se (output complementary sensitivity function)

Description

sensi computes sensitivity functions. If G and K are given in state-space form, the systems returned are generically minimal. Calculation is made by lft, e.g., Se can be given by the commands P = augment(G,'S'), Se=lft(P,K). If flag = 'i', [Si,Ri,Ti]=sensi(G,K,'i') returns the input sensitivity functions.



[Se;Re;Te]= [inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];
[Si;Ri;Ti]= [inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+K*G)];
   
    

Examples



G=ssrand(1,1,3);K=ssrand(1,1,3);
[Se,Re,Te]=sensi(G,K);
Se1=inv(eye()+G*K);  //Other way to compute
ss2tf(Se)    //Se seen in transfer form
ss2tf(Se1)
ss2tf(Te)
ss2tf(G*K*Se1)
[Si,Ri,Ti]=sensi(G,K,'i');
w1=[ss2tf(Si);ss2tf(Ri);ss2tf(Ti)]
w2=[ss2tf(inv(eye()+K*G));ss2tf(G*inv(eye()+K*G));ss2tf(K*G*inv(eye()+K*G))];
clean(w1-w2)
 
  

See also

augment, lft, h_cl