Mu Analysis and Synthesis Toolbox | ![]() ![]() |
Compute upper and lower bounds for the complex and mixed (real and complex) structured singular value (referred to as mixed µ) of a VARYING/CONSTANT matrix
Syntax
[bnds,dvec,sens,pvec,gvec] = mu(matin,blk,options); [dl,dr,gl,gm,gr,pert] = muunwrap(dvec,gvec,pvec,blk); [dl,dr,gl,gm,gr] = muunwrap(dvec,gvec,blk); [dl,dr] = muunwrap(dvec,blk); pert = randel(blk,nrm,opt); [dl,dr] = unwrapd(dvec,blk); pert = unwrapp(pvec,blk);
The default value of options is 'lu'
, meaning that a lower bound will be computed using the power method, Young and Doyle 1990 and Packard et al. 1988, and an upper bound will be computed, using the balanced/AMI technique, Young et al., 1992, for computing the upper bound from Fan et al., 1991.
[dl,dr,gl,gm,gr] =muunwrap
(dvec
,gvec
,blk
); The upper bound inbnds
for a matrix M is a number> 0 such that there are scaling matrices Dl, Dr, Gl, Gm, Gr (
see
Young et al., 1992, for details) satisfying
sens
is a row vector which contains the sensitivity of
dkit
, dkitgui
, and autodkit
.
pvec
is a row vector containing a perturbation matrix that has the structure defined by blk
. As with dvec
and gvec
, pvec
is the same data type as matin
and is stored as a vector. It can be unwrapped into the actual perturbation with the command, unwrapp
:
After being unwrapped, the perturbation matrix pert
satisfies three conditions:
blk
;
pert
is equal to the reciprocal of the lower bound in bnds
(when the lower bound is not zero);
mmult(matin,pert)
has an eigenvalue equal to 1 at each independent variable.
Examples
Suppose sys
is a system matrix with four inputs and four outputs, and that it is stable. sys_g
is a frequency response of sys
.
% Calculate µ on frequency response
% Unwrap the D scaling matrices
% Generate scaled matrix
% Verify the upper bound
% Unwrap the perturbation
% Check that perturbation is correct structure
% Check lower bound and perturbation
% Form M
% Verify M has an eigenvalue at 1
% with the first 2 real, and the last 2 complex
% Calculate mixed µ on frequency response
% Unwrap the D and G scaling matrices
% Generate scaled matrix
dmd =mmult
(dl,sys_g
,minv
(dr)); oobdmd =veval
('*',dmd,minv
(sel
(bnds
,1,1))); oobdmdjg =msub
(oobdmd,mscl
(gm,j)); scall =madd
(eye(4),mmult
(gl,gl)); scalr =madd
(eye(4),mmult
(gr,gr)); scall =veval
(,scall,-0.25); scalr =veval
(",scalr,-0.25); scaledmat =mmult
(scall,oobdmdjg,scalr);
% Verify the upper bound (scaledmat should have norm
1)
% Unwrap the perturbation
% Check that perturbation is correct structure
% Check lower bound and perturbation
% Form M
% Verify M has an eigenvalue at 1
Algorithm
Peter Young and Matt Newlin helped write the mu
program and supporting routines.
The lower-bound power algorithm is from Young and Doyle, 1990, and Packard et al. 1988.
The upper-bound is an implementation of the bound from Fan et al., 1991, and is described in detail in Young et al., 1992. In the upper bound computation, the matrix is first balanced using either a variation of Osborne's method (Osborne, 1960) generalized to handle repeated scalar and full blocks, or a Perron approach. This generates the standard upper bound for the associated complex µ problem. The Perron eigenvector method is based on an idea of Safonov, (Safonov, 1982). It gives the exact computation of µ for positive matrices with scalar blocks, but is comparable to Osborne on general matrices. Both the Perron and Osborne methods have been modified to handle repeated scalar and full blocks. Perron is faster for small matrices but has a growth rate of n3, compared with less than n2 for Osborne. This is partly due to the MATLAB implementation, which greatly favors Perron. The default is to use Perron for simple block structures and Osborne for more complicated block structures. A sequence of improvements to the upper bound is then made based on various equivalent forms of the upper bound. A number of descent techniques are used which exploit the structure of the problem, concluding with general purpose AMI optimization (Boyd et al.), 1993, to obtain the final answer.
Reference
S. Boyd, and L. El Ghaoui, "Methods of centers for minimizing generalized eigenvalues," Linear Algebra and Its Applications, vol. 188-189, pp. 63-111, 1993.
M. Fan, A. Tits, and J. Doyle, "Robustness in the presence of mixed parametric uncertainty and unmodeled dynamics," IEEE Transactions on Automatic Control, vol. AC-36, pp. 25-38, 1991.
E. Osborne, "On preconditioning of matrices," Journal of Associated Computer Machines, vol. 7, pp. 338-345, 1960.
A. Packard, M. Fan and J. Doyle, "A power method for the structured singular value," Proc. of 1988 IEEE Conference on Control and Decision, pp. 2132-2137, December 1988.
M. Safonov, "Stability margins for diagonally perturbed multivariable feedback systems," IEEE Proc., vol. 129, Part D, pp. 251-256, 1982.
P. Young and J. Doyle, "Computation of with real and complex uncertainties," Proceedings of the 29th IEEE Conference on Decision and Control, pp. 1230-1235, 1990.
P. Young, M. Newlin, and J. Doyle, "Practical computation of the mixed problem," Proceedings of the American Control Conference, pp. 2190-2194, June, 1992.
See Also
blknorm
, dypert
, genmu
, norm
, vnorm
, vrho
, vsvd
![]() | mscl, sclin, sclout | musynfit, musynflp, muftbtch | ![]() |