📄 vlpvmucd.m
字号:
function [vdnew,vbnd,vmupk] = vlpvmucd(vlpv,blk,w,vdold)% [vdnew,vbnd,vmupk] = vlpvmucd(vlpv,blk,w,vdold)% [vdnew,vbnd,vmupk] = vlpvmucd(vlpv,blk,w)% mu upper bound analysis with constant D-scales at each grid point.% This function calls lmi1cd.m,tinitial.m,blk2strc.m.% INPUTS: % vlpv varying array of systems% blk total perturbation block structure% w frequency grid % vdold varying array of old scalings (omit for 1st iteration)% OUTPUTS: % vdnew varying array of new scalings% vbnd varying array of frequency-dependent mu upper bounds: % vmupk peak (vs. w) values of vbnd% Created: 5/24/96 by Lawton H. Lee% Last modified: 7/11/96 by Lawton H. Lee% NOTE: The performance-block scales (the last block) are normalized to% identity. If the system is not square, vdnew's identity blocks are% truncated to fit min{# inputs, # outputs}. (See also mdscl.m)if nargin < 3 disp('[vdnew,vbnd,vmupk] = vlpvmucd(vlpv,blk,w,vdold)'); returnendtic[mtyp,no,ni,ns] = minfo(vlpv);if mtyp ~= 'vary' vlpv = vpck(vlpv,1);end[mtyp,no,ni,ns] = minfo(xtracti(vlpv,1,1));niomin = min([ni no]);vindx = getiv(vlpv);if ~exist('vdold') vdold = [];endif isempty(vdold) vdold = eye(min([no ni]));endvdnew = [];vbnd = [];vmupk = [];% square down the block structurefor k = 1:size(blk,1) [maxdim,maxi] = max(blk(k,:)); [mindim,mini] = min(blk(k,:)); if maxdim > mindim & mindim > 0 blk(k,mini) = blk(k,maxi); endendfor kk = 1:length(vindx) disp(['Point ' int2str(kk) ' of ' int2str(length(vindx))]); % Add dummy inputs or outputs if the system is not square lpvsys = xtracti(vlpv,kk,1); if ni < no lpvsys = sbs(lpvsys,zeros(no,no-ni)); elseif no < ni lpvsys = abv(lpvsys,zeros(ni-no,ni)); end% [Dc,Dw,ubnd,ubnd_pk] = lmi1b(lpvsys,w,blk2strc(blk),[0 0],[0 0 0 0 1]); [Dc,ubnd,ubnd_pk] = lmi1cd(lpvsys,w,blk2strc(blk),[0 0 0 0 1]); Dc = Dc(1:niomin,1:niomin) / Dc(niomin,niomin); vbnd = sbs(vbnd,ubnd); vmupk = [vmupk; ubnd_pk]; dold = xtracti(vdold,kk,1); vdnew = [vdnew; mmult(Dc,dold)];endvmupk = vpck(vmupk,vindx);vdnew = vpck(vdnew,vindx);toc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -