%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: Builtin model for C%% This model builds an AO with a vector in it.%%% CALL:% p = ao(plist('built-in','c'))%% INPUTS:%%%% OUTPUTS:% - p: an AO object representing a%%% VERSIONS:% 'initial' = Reason: this version returns an AO with values 3,4,5% Who: Martin% When: 06-09-10% 'second' = Reason: this version returns an AO with values 6,7,8% Who: Martin% When: 06-09-10%%% REFERENCES:%%% VERSION: $Id: ao_model_c.m,v 1.3 2010/09/15 10:30:04 hewitson Exp $%% HISTORY:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function varargout = ao_model_c(varargin) % Process inputs [info, pl, constructorInfo, fcn] = utils.models.processModelInputs(varargin(:), mfilename, @getModelDescription, @getModelDocumentation, @getVersion, @versionTable); if ~isempty(info) varargout{1} = info; return; end % Build the object out = fcn(); % Set the method version string in the minfo object if ~isempty(constructorInfo) % If this is a user-call via a constructor, then we add history out = addHistoryStep(out, constructorInfo, pl); end if nargout > 0 varargout{1} = out; varargout{2} = pl; else error('!!! Invalid number of output') endend%--------------------------------------------------------------------------% AUTHORS EDIT THIS PART%--------------------------------------------------------------------------% This is the main description for the model. Additional descriptions of% each version should be added in the version function.function desc = getModelDescription desc = 'A model which builds a 3 element vector AO.';endfunction doc = getModelDocumentation doc = '';end% A lookup table which defines which function to call for a given version% name.function vt = versionTable() vt = {'initial', @initialVersion, ... 'second', @secondVersion};end% This version uses:% model b, version 'alpha'% model c, version 'initial'%function varargout = initialVersion(varargin) if nargin == 1 && ischar(varargin{1}) switch varargin{1} case 'plist' varargout{1} = plist(); case 'description' varargout{1} = 'returns an AO with values 3,4,5'; case 'info' varargout{1} = []; otherwise error('unknown inputs'); end return; end % build model varargout{1} = ao([3 4 5]);end% This version uses:% model b, version 'alpha'% model c, version 'second'%function varargout = secondVersion(varargin) if nargin == 1 && ischar(varargin{1}) switch varargin{1} case 'plist' varargout{1} = plist('a', 1); case 'description' varargout{1} = 'returns an AO with values 6,7,8'; case 'info' varargout{1} = []; otherwise error('unknown inputs'); end return; end % build model varargout{1} = ao([6 7 8]);end%--------------------------------------------------------------------------% AUTHORS SHOULD NOT NEED TO EDIT BELOW HERE%--------------------------------------------------------------------------%--------------------------------------------------------------------------% Get Version%--------------------------------------------------------------------------function v = getVersion v = '$Id: ao_model_c.m,v 1.3 2010/09/15 10:30:04 hewitson Exp $';end