1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
sensi Scilab Group Scilab Function sensi
NAME
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)];
EXAMPLE
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
|