www.gusucode.com > rctutil 工具箱 matlab源码程序 > rctutil/+rctutil/fillNoBlocks.m
function [SM,DSV,INFO,ST] = fillNoBlocks(Need,M,B,muB) % Populates ROBUSTSTAB outputs for systems with no blocks. % Author(s): MUSYN % Copyright 2004-2011 The MathWorks, Inc. DSV = struct; SM = struct('LowerBound',Inf,'UpperBound',Inf,... 'DestabilizingFrequency',NaN); INFO = struct('Sensitivity',struct,... 'Frequency',NaN,... 'BadUncertainValues',DSV,... 'MussvBnds',NaN(1,2),... 'MussvInfo',[]); if Need.Mussv4Info [~,INFO.MussvInfo] = mussv([],[0 0]); INFO.MussvBnds = [0 0]; end ST = ''; if nargin==4 && Need.Mussv4Info if isfield(M.IC,'Frequency') Frequency = M.IC.Frequency; else Frequency = 0; end Mdata = fresp(M.IC,Frequency); szB = iosize(B); M11 = Mdata(1:szB(2),1:szB(1),:); % ULFTDATA [Blocks;IO], M11, 3-D double-array [~,tinfo] = mussv(M11,muB.muBlkNby2); Ts = M.IC.Ts; INFO.Frequency = Frequency; INFO.MussvInfo.bnds = ltipack.frddata(tinfo.bnds,Frequency,Ts); INFO.MussvInfo.dvec = ltipack.frddata(tinfo.dvec,Frequency,Ts); INFO.MussvInfo.pvec = ltipack.frddata(tinfo.pvec,Frequency,Ts); INFO.MussvInfo.gvec = ltipack.frddata(tinfo.gvec,Frequency,Ts); INFO.MussvInfo.sens = ltipack.frddata(tinfo.sens,Frequency,Ts); INFO.MussvBnds = ltipack.frddata(tinfo.bnds,Frequency,Ts); end