Chapter 2 RobustnessAnalysis
MATRIXx Xmath Robust Control Module 2-16 ni.com
VOPT=ssv(M,{scaling="OPT"})
VOPT (a scalar) = 2.43952
VSVD = max(svd(M))
VSVD (a scalar) = 2.65886
osscale( )
[v, vD] = osscale(M)
The osscale( ) function scales a matrix using the Osborne Algorithm.
A diagonal scaling DOS is found that minimizes the Frobenius norm of
, which is the square root of the sum of the squares of its
singular values. If M is reducible, osscale( ) may encounter a divide
byzero. To avoid this, use ssv( ) with the Osborne scaling option:
[v,vD]=ssv(M,{scaling="OS"})
pfscale( )
[v, vD] = pfscale(M)
The pfscale( ) function scales a matrix using the Perron-Frobenius
Algorithm. This scaling is optimal for matrices with all positive entries.
The matrix M must be irreducible for this function. If M is reducible,
use ssv( ) with the Perron-Frobenius scaling option instead:
[v,vD]=ssv(M,{scaling="PF"})
The optimum diagonal scaling is found for M using the Perron-Frobenius
theory of non-negative matrices. This scaling is given by
where p and q are right and left eigenvectors of | associated with its largest
eigenvalue:
DOSMDOS
1
Di
PF pi
qi
----=
Mp λmaxp,=MTqλmaxq,=p0q≠≠