www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregnnet/xregnnet.m
function nn = xregnnet(varargin) %XREGNNET Neural network object constructor % % nn = xregnnet('nfactors',nf); % nn = xregnnet; % Copyright 2000-2014 The MathWorks, Inc. and Ford Global Technologies, Inc. % check that neural net models are available persistent gotlicense if isempty(gotlicense) || ~gotlicense % try to get license gotlicense=mbcchecklicenses(3); end if ~gotlicense error(message('mbc:xregnnet:InvalidLicense')); end % Object properties nn.version = 4; nn.param = []; nn.lambda = 0; if nargin == 1 && isstruct(varargin{1}) nn = varargin{1}; m = nn.xregmodel; nn = rmfield(nn,'xregmodel'); elseif nargin == 1 && isa(varargin{1},'xregnnet') % xregnnet object m = varargin{1}; % update version number m.version = nn.version; nn = m; return elseif nargin == 1 && isa(varargin{1},'network') nn.param = varargin{1}; m=xregmodel('nfactors',varargin{1}.numInputs); elseif nargin==2 && ischar(varargin{1}) % nfactors interface switch lower(varargin{1}) case 'nfactors' nf = varargin{2}; % make new network object P = repmat([-1 1],nf,1); OtherArgs = {'learngdm','mse',{},{},''}; nn.param = newff(P,[0 1],[10 5],{'tansig' 'tansig' 'purelin'},'trainbr',OtherArgs{:}); nn.param=i_setdefaults(nn.param); m=xregmodel('nfactors',varargin{2}); otherwise error(message('mbc:xregnnet:InvalidArguments')) end else nf = 4; P = repmat([-1 1],nf,1); % make new network object OtherArgs = {'learngdm','mse',{},{},''}; nn.param = newff(P,[0 1],[10 5],{'tansig' 'tansig' 'purelin'},'trainbr',OtherArgs{:}); nn.param=i_setdefaults(nn.param); m=xregmodel('nfactors',4); end nn = class(nn,'xregnnet',m); function nn=i_setdefaults(nn) % nn= init(nn); return