www.gusucode.com > signal 工具箱matlab源码程序 > signal/@filtdes/@fircband/getconstraints.m
function varargout = getconstraints(hObj) %CONVERTCEM Convert the Constrained Error Magnitudes % Author(s): J. Schickler % Copyright 1988-2003 The MathWorks, Inc. cb = get(hObj, 'ConstrainedBands'); if isempty(cb), cem = []; else n = nbands(hObj.ResponseTypeSpecs, hObj); if any(cb > n), error(message('signal:filtdes:fircband:getconstraints:BandOutOfBounds', getplace( max( cb ) ), n)); end if length(cb) >= n, error(message('signal:filtdes:fircband:getconstraints:TooManyConstraints')); end cem = repmat({'w'}, 1, n); for indx = 1:length(cb) cem{cb(indx)} = 'c'; end end if nargout == 1, varargout = {cem}; else if ~isempty(cem), cem = genmcodeutils('formatcellstr', cem); end varargout = {'CEMs', cem, 'Constrained Error Magnitudes'}; end % -------------------- function p = getplace(n) if n > 3 && n < 21 p = sprintf('%dth', n); else switch rem(n,10) case 1 p = sprintf('%dst', n); case 2 p = sprintf('%dnd', n); case 3 p = sprintf('%drd', n); otherwise p = sprintf('%dth', n); end end % [EOF]