www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregrbf/modelproperties.m
function p = modelproperties(m,p) %MODELPROPERTIES interface to model properties % % p = modelproperties(m,p); % 'Kernel' % 'Continuity' only defined for wendland % Copyright 2006-2007 The MathWorks, Inc. persistent enum if isempty(enum) enum = findtype('mbcmodel.rbf.kernels'); end ID = getType(m); [p,OK] = PersistentStore(p,ID); if ~OK p = addprop(p,'Kernel',... @( m ) get( m, 'kernel' ),... @( m,v ) i_SetKernel( m, v ),... 'enum',enum.Strings,... 'RBF kernel'); p = addprop(p,'Continuity',... @( m ) get( m, 'cont' ),... @( m,v ) i_SetContinuity( m, v ),... 'int',[0 6],... 'Continuity for Wendland kernel (0,2,4,6)'); p = modelproperties(m.xreglinear,p); PersistentStore(p,ID); end %% Set function for RBF Kernel function m = i_SetKernel( m, v ) m = set( m, 'kernel', v ); % Need to reset the model so that it will fit correctly m = reset( m ); %% Set function for RBF Continuity function m = i_SetContinuity( m, v ) % Need to check that the continuity is one of [0, 2, 4, 6] if isscalar( v ) && any( v == [0, 2, 4, 6] ), m = set( m , 'cont', v ); % Need to reset the model so that it will fit correctly m = reset( m ); else error(message('mbc:mbcmodel:rbfproperties:InvalidInput')); end