www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@conellipsoid/pMapToNaturalUnits.m

    function con = pMapToNaturalUnits(con, m)
%PMAPTONATURALUNITS Map a constraint defined in coded units to one defined
%in natrual units
%
%   CON = PMAPTONATURALUNITS(CON, FRIEND)

%   Copyright 2005 The MathWorks, Inc.

% Need to map "xc" and "W" from coded units to natural units.
[mn, mx] = range( m );
mn = pFilterFactors( con, mn );
mx = pFilterFactors( con, mx );
if ~any( isinf( mn ) ) || ~any( isinf( mx ) ),
    D = (mx - mn)/2;
    C = (mx + mn)/2;
    con.xc = D .* con.xc + C;
    Di = diag( 1./D );
    con.W = Di * con.W * Di;
end