www.gusucode.com > sloptim工具箱matlab源码程序 > sloptim/sloptim/@sroengine/@FrequencySpec/checkSettings.m
function [hasObj,hasConstr,overlappingConstr] = checkSettings(this) % CHECKSETTINGS Check requirement specification settings % % Author(s): A. Stothert 13-Dec-2007 % Copyright 2007-2009 The MathWorks, Inc. %Set default return values hasObj = false; hasConstr = false; overlappingConstr = []; %Check types of requirements in specification reqs = this.Requirements; reqs = reqs(reqs.isEnabled); if numel(reqs)==0 %Quick return this.Optimized = false; return end %Check enabled requirements have valid ports for ct=1:numel(reqs) rSrc = reqs(ct).getSource; if isempty(rSrc) reqs(ct).isEnabled = false; else isValid = this.Model.isValidPort(rSrc); if ~all(isValid) reqs(ct).isEnabled = false; badPorts = sroengine.utGetPortNameList(rSrc(~isValid)); ctrlMsgUtils.warning('Sloptim:engine:warnReqWithInvalidPorts',... badPorts,reqs(ct).Name,this.Model.getName) end end end reqs = reqs(reqs.isEnabled); %only look at requirements included in optimization if isempty(reqs) %Nothing to do this.Optimized = false; hasObj = false; hasConstr = false; overlappingConstr = []; else hasObj = any(reqs.isObjective); hasConstr = any(reqs.isConstraint); if nargout > 2 [isFeasible,overlappingConstr] = sroengine.utCheckFeasibleConstr(reqs); end end