Function: COMP_DVPurpose. Computes the variations of the right and left eigenvectors, input and output directions, that are induced by a variation of K0. Synopsis. [lam,v,w,u,t,Xv,Yv,Xw,Xu,Yu,Yt] = comp_dv(lambda,sys,K0); Description. Let k, v, w, u, and
t denote respectively the variation of K0, the
right and left eigenvectors, the input and output directions. The
variations of these vectors are given by:
The constraints generated using the output arguments of comp_dv can be added to those in CSTR by using k2ksi and ab2cstr (see also cstr_ini for initializing CSTR). This function belongs to the tuning sub-toolbox. Input arguments.
Output arguments.
See also:k2ksi, ksi2k, ab2cstr, cstr_ini Example. Let us consider an example consisting of plugging into the matrix CSTR a constraint relative to the gain variation of the form d(u X v) < -0.1, where u and v are left and right eigenvectors and X is a given fixed matrix. First, we have to find the expression of d(u X v) = du X v + u X dv. Using the notations given in the ``description'' paragraph, the above variation is given by Xu*k*Yu*X*v - u*Xv*k*Yv*u*X*v + u*X*Xv*k*Yv. As it is a scalar, we can use the trace operator and permute matrices so that the above variation becomes trace((Yu*X*v*Xu - Yv*u*X*v*u*Xv + Yv*u*X*Xv)*k). Therefore, let us consider the following command lines: X = rand(6,6); sys = demodata(1); [lam,v,w,u,t,Xv,Yv,Xw,Xu,Yu,Yt] = comp_dv(-0.92,sys,0); M = Yu*X*v*Xu - Yv*u*X*v*u*Xv + Yv*u*X*Xv;It remains to plug the constraint into the matrix CSTR (which is initialized here using cstr_ini): A = k2ksi(M')'; b = -0.1; CSTR = cstr_ini(2,4); CSTR = ab2cstr(CSTR,[],[],A,b); Discussion. This function permits the designer to compute the gradient (with respect to gain variations) of all kinds of formulas in which appear the right and left eigenvectors or the input and output directions. |