📄 mdscl.m
字号:
function vlpvnew = mdscl(vlpv,vd,nmeas,nctrl)% vlpvnew = mdscl(vlpv,vd,nmeas,nctrl)% Augment lpv array with parameter-dependent d-scales.% nmeas and nctrl are no longer used; the scales are automatically % augmented with identity blocks to fit the system's input/output dimensions.% If vlpv and/or vd is not VARYING, then the program makes copies.[vtyp,nrows,ncols,npts] = minfo(vlpv);if vtyp ~= 'vary' npts = 1; [nrows,ncols] = size(vlpv);end[styp,no,ni,nx] = minfo(xtracti(vlpv,1,1));[dtyp,nr,nc,nd] = minfo(vd);if dtyp ~= 'vary' nd = 1;endviv = getiv(vlpv);if isempty(viv) viv = getiv(vd);endif (npts ~= nd) & (min(npts,nd) > 1) error('Inconsistent number of systems & scales')else npts = max(nd,npts);endvlpvnew = zeros(npts*nrows,ncols);for k = 1:npts dl = daug(xtracti(vd,k,1),eye(no-nr)); dr = daug(minv(xtracti(vd,k,1)),eye(ni-nc)); vlpvnew((k-1)*nrows+1:k*nrows,:) = mmult(dl,xtracti(vlpv,k,1),dr);endif ~isempty(viv) vlpvnew = vpck(vlpvnew,viv);end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -