⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdscl.m

📁 线性时变系统控制器设计的工具包
💻 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 + -