mucomp
mu (structured singular value) calculation
Syntax
[BOUND, D, G] = mucomp(Z, K, T)
Arguments
- Z
the complex n-by-n matrix for which the structured singular value is to be computed
- K
the vector of length m containing the block dimensions of the structured uncertainty Δ. The uncertainty Δ is supposed to be a block diagonal matrix.
- T
the vector of length m indicating the type of each uncertainty block. T(I) = 1 if the corresponding block is real T(I) = 2 if the corresponding block is complex.
- BOUND
the upper bound on the structured singular value.
- D, G
vectors of length n containing the diagonal entries of the diagonal matrices D and G, respectively, such that the matrix
Z'*diag(D)^2*Z + sqrt(-1)*(diag(G)*Z-Z'*diag(G)) - bound^2*diag(D)^2
is negative semidefinite.
Description
This function computes an upper bound on the structured singular value for a given square complex matrix and given block structure of the uncertainty.
The structured singular value μ(Z) is defined as the inverse of the norm of the smallest
uncertainty Δ that makes det(I- ΔZ)=0
. Here Δ is supposed to be a
block diagonal matrix.
Examples
K=[1,1,2,1,1]; T=[1,1,2,2,2]; Z=[-1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16; -1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16]; [BOUND, D, G] = mucomp(Z, K, T) spec(Z'*(diag(D)^2)*Z + %i*(diag(G)*Z-Z'*diag(G)) - BOUND^2*diag(D)^2)
M1 = [ .. 5.2829 5.7683 -2.4004 1.2205 -6.4148 9.7769e-01 2.9786 -3.0408 5.0257e-01 -2.6504 7.0819 9.6324 -3.5750 3.3016 -6.7030 -1.6261 -2.9763 1.6870 -1.0603 1.2211 2.3056 4.3712 -2.4785 2.6152 -1.9832 ]; M2 = [ .. -1.1308 -1.7785 8.7974e-01 -7.5206e-01 1.2089 -3.5255e-01 -5.7002e-01 2.9305e-01 -2.5442e-01 3.7691e-01 -1.3724 -2.1501 1.0741 -9.1188e-01 1.4669 3.5839e-01 5.5101e-01 -2.7290e-01 2.3565e-01 -3.7663e-01 -4.9015e-01 -7.8706e-01 4.0215e-01 -3.3617e-01 5.3261e-01]; //******************************************************* M = M1 + %i * M2; // Let the structure be all scalar blocks K = [1 1 1 1 1]'; // Let the first, the third and the fifth blocks be real, // and let the rest of blocks be complex T = [1 2 1 2 1]'; [bound, D, G] = mucomp(M, K, T); spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2) // Now, we compute it again with respect to all complex blocks T = [2 2 2 2 2]'; [bound, D, G] = mucomp(M, K, T); spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2) K = [2 3]'; T = [2 2]'; [bound, D, G] = mucomp(M, K, T);
Used functions
This function is based on the Slicot routine AB13MD.
References
Fan, M.K.H., Tits, A.L., and Doyle, J.C. Robustness in the presence of mixed parametric uncertainty and unmodeled dynamics. IEEE Trans. Automatic Control, vol. AC-36, 1991, pp. 25-38. Slicot routine AB13MD.
Report an issue | ||
<< linmeq | Matrix Computation | ricc >> |