Home > classes > @ao > mpower.m

mpower

PURPOSE ^

MPOWER implements power operator for analysis objects.

SYNOPSIS ^

function b = mpower(varargin)

DESCRIPTION ^

 MPOWER implements power operator for analysis objects.

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

 DESCRIPTION: MPOWER implements power operator for analysis objects.
              computes b^c where b is an analysis object and c is either
              another analysis object or a constant.

 CALL:        a = a1^2
              a = a1^a2     % with a2.data.vals = scalar

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

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

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

 HISTORY: 01-02-07 M Hewitson
             Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function b = mpower(varargin)
0002 % MPOWER implements power operator for analysis objects.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: MPOWER implements power operator for analysis objects.
0007 %              computes b^c where b is an analysis object and c is either
0008 %              another analysis object or a constant.
0009 %
0010 % CALL:        a = a1^2
0011 %              a = a1^a2     % with a2.data.vals = scalar
0012 %
0013 % VERSION:     $Id: mpower.m,v 1.9 2007/06/22 08:32:49 ingo Exp $
0014 %
0015 % The following call returns a parameter list object that contains the
0016 % default parameter values:
0017 %
0018 % >> pl = mpower(ao, 'Params')
0019 %
0020 % HISTORY: 01-02-07 M Hewitson
0021 %             Creation
0022 %
0023 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0024 
0025 %% Check if this is a call for parameters
0026 if nargin == 2
0027   if isa(varargin{1}, 'ao') && ischar(varargin{2})
0028     in = char(varargin{2});
0029     if strcmp(in, 'Params')
0030       b = getDefaultPL();
0031       return
0032     end
0033   end
0034 end
0035 
0036 %% capture input variable names
0037 invars = {};
0038 for j=1:nargin
0039   iname = inputname(j);
0040   if isempty(iname) & isnumeric(varargin{j})
0041     iname = num2str(varargin{j});
0042   elseif isempty(iname) & ischar(varargin{j})
0043     iname = varargin{j};
0044   end
0045   invars = [invars cellstr(iname)];
0046 end
0047 
0048 ALGONAME = mfilename;
0049 VERSION  = '$Id: mpower.m,v 1.9 2007/06/22 08:32:49 ingo Exp $';
0050 
0051 op = '^';
0052 
0053 [a1,a2,do] = aooperate(varargin, op);
0054 
0055 %--------- create output AO
0056 
0057 % make a new history object
0058 h = history(ALGONAME, VERSION, [], [a1.hist a2.hist]);
0059 h = set(h, 'invars', invars);
0060 
0061 % get names for output
0062 if isempty(char(invars{1}))
0063   n1 = a1.name;
0064 else
0065   n1 = char(invars{1});
0066 end
0067 if isempty(char(invars{2}))
0068   n2 = a2.name;
0069 else
0070   n2 = char(invars{2});
0071 end
0072 
0073 % make output analysis object
0074 % op = op(2:end);
0075 b = ao(do, h);
0076 b = set(b, 'name', sprintf('%s %s %s', n1, op, n2));
0077 
0078 
0079 %% Get default params
0080 function pl_default = getDefaultPL()
0081 
0082 disp('* creating default plist...');
0083   pl_default = plist();
0084 disp('* done.');
0085 
0086 
0087 % END

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