0001 function txt = display(p, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 VERSION = '$Id: display.m,v 1.5 2008/02/12 19:54:16 hewitson Exp $';
0022 CATEGORY = 'Output';
0023
0024
0025 if nargin == 2
0026 if isa(p, 'zero') && ischar(varargin{1})
0027 in = char(varargin{1});
0028 if strcmp(in, 'Params')
0029 txt = plist();
0030 return
0031 elseif strcmp(in, 'Version')
0032 txt = VERSION;
0033 return
0034 elseif strcmp(in, 'Category')
0035 txt = CATEGORY;
0036 return
0037 end
0038 end
0039 end
0040
0041 txt = {};
0042
0043 for i=1:numel(p)
0044 banner = sprintf('---- zero %d ----', i);
0045 txt{end+1} = banner;
0046
0047
0048 name = get(p(i), 'name');
0049 f = get(p(i), 'f');
0050 q = get(p(i), 'q');
0051 ri = get(p(i), 'ri');
0052
0053
0054 if ~isempty(f)
0055 if q > 0.5
0056 txt{end+1} = [ sprintf('%s: %g Hz, Q=%g [', name, f, q) num2str(ri(1)) ']'];
0057 else
0058 txt{end+1} = sprintf('%s: %g Hz', name, f);
0059 end
0060 end
0061
0062 banner_end(1:length(banner)) = '-';
0063 txt{end+1} = banner_end;
0064
0065 end
0066
0067 if nargout == 0
0068 for ii=1:length(txt)
0069 disp(txt{ii});
0070 end
0071 end
0072
0073