www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgpreclookupfix/physresolve.m
function PhysValuesOut = physresolve(obj, PhysValuesIn) %PHYSRESOLVE Resolve to achievable physical values. % % PhysValuesOut = PHYSRESOLVE(OBJ, PhysValuesIn) converts potentially % inadmissible physical values PhysValuesIn to admissible physical values % PhysValuesOut using the achievable physical range specified by the % object. % Copyright 2005-2008 The MathWorks, Inc. and Ford Global Technologies, Inc. % Error check on PhysValues PhysValuesIn = i_check(PhysValuesIn, 'PhysValues'); % Set Output = Input PhysValuesOut = PhysValuesIn; % Get physical range from the cgpreclookupfix object PhysRange = get(obj, 'PhysRange'); % The minimum achievable value is PhysRange(1) PhysValuesOut(PhysValuesIn<PhysRange(1)) = PhysRange(1); % The maximum achievable value is PhysRange(2) PhysValuesOut(PhysValuesIn>PhysRange(2)) = PhysRange(2); function out = i_check(in, VarName) % Check input variables switch VarName case 'PhysValues' if ~isnumeric(in) % PhysValues is nonnumeric error(message('mbc:cgpreclookupfix:InvalidArgument7')); elseif ~isreal(in) % PhysValues is not real error(message('mbc:cgpreclookupfix:InvalidArgument8')); else % PhysValues is valid out = in; end % if end % switch