Home > classes > @ao > inv.m

inv

PURPOSE ^

INV overloads the inverse function for Analysis Objects.

SYNOPSIS ^

function varargout = inv(varargin)

DESCRIPTION ^

 INV overloads the inverse function for Analysis Objects.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: INV overloads the inverse function for Analysis Objects.

 CALL:        a = inv(a1)   % only with data = cdata

 VERSION:     $Id: inv.m,v 1.7 2007/06/22 08:32:49 ingo Exp $

 The following call returns a parameter list object that contains the
 default parameter values:

 >> pl = inv(ao, 'Params')

 HISTORY: 08-05-07 A Monsky
             Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function varargout = inv(varargin)
0002 % INV overloads the inverse function for Analysis Objects.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: INV overloads the inverse function for Analysis Objects.
0007 %
0008 % CALL:        a = inv(a1)   % only with data = cdata
0009 %
0010 % VERSION:     $Id: inv.m,v 1.7 2007/06/22 08:32:49 ingo Exp $
0011 %
0012 % The following call returns a parameter list object that contains the
0013 % default parameter values:
0014 %
0015 % >> pl = inv(ao, 'Params')
0016 %
0017 % HISTORY: 08-05-07 A Monsky
0018 %             Creation
0019 %
0020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0021 
0022 %% Check if this is a call for parameters
0023 
0024 if nargin == 2
0025   if isa(varargin{1}, 'ao') && ischar(varargin{2})
0026     in = char(varargin{2});
0027     if strcmp(in, 'Params')
0028       varargout{1} = getDefaultPL();
0029       return
0030     end
0031   end
0032 end
0033 
0034 % capture input variable names
0035 invars = {};
0036 
0037 ALGONAME = mfilename;
0038 VERSION  = '$Id: inv.m,v 1.7 2007/06/22 08:32:49 ingo Exp $';
0039 
0040 as = [];
0041 bs = [];
0042 ps = [];
0043 
0044 for j=1:nargin
0045   invars = [invars cellstr(inputname(j))];
0046   if isa(varargin{j}, 'ao')
0047     as = [as varargin{j}];
0048   end
0049   if isa(varargin{j}, 'plist')
0050     ps = [ps varargin{j}];
0051   end
0052 end
0053 
0054 
0055 
0056 % check plist
0057 if isempty(ps)
0058   pl = getDefaultPL();
0059 else
0060   pl = combine(ps, getDefaultPL);
0061 end
0062 
0063 %% go through analysis objects
0064 for j=1:length(as)
0065   a = as(j);
0066   d = get(a, 'data');
0067   dinfo = whos('d');
0068 
0069   % Which data type do we have
0070   dtype = dinfo.class;
0071   switch dtype
0072     case 'cdata'
0073       disp('* INVERSE of cdata object');
0074 
0075       % make a new cdata object
0076       [h, c] = single_operation(d, 'inv', pl);
0077 
0078       % make output analysis object
0079       h = set(h, 'invars', [a.hist]);
0080       b = ao(c, h);
0081       b = set(b, 'name',  sprintf('inv(%s)', char(invars{1})));
0082 
0083     case {'tsdata','fsdata','xydata'}
0084       error('### this function works for cdata type AO only')
0085     otherwise
0086       error('### unknown data type.')
0087 
0088   end
0089 
0090   % add to output
0091   bs = [bs b];
0092 end
0093 varargout{1} = bs;
0094 
0095 %% Get default params
0096 function plo = getDefaultPL()
0097 
0098 disp('* creating default plist...');
0099 plo = plist();
0100 disp('* done.');
0101 
0102 % END

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003