www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@localpspline/modelproperties.m
function p = modelproperties(m,p) %MODELPROPERTIES interface to model properties % % p = modelproperties(m,p); % HighOrder % LowOrder % Copyright 2006-2007 The MathWorks, Inc. ID = p.Type; [p,OK] = PersistentStore(p,ID); if ~OK % * *order* integer vector [get/set( m, 'order' )] p = addprop(p,'HighOrder',... @( m ) iGetHigh(m),... @( m,v ) iSetHigh(m,v),... 'int',[2 Inf],... 'Polynomial order above knot'); p = addprop(p,'LowOrder',... @( m ) iGetLow(m),... @( m,v ) iSetLow(m,v),... 'int',[2 Inf],... 'Polynomial order below knot'); % standard localmod properties p = modelproperties(m.localmod,p,m); PersistentStore(p,ID); end %% iGetHigh function v = iGetHigh(L) v = getorder(L); v = v(1); %% iSetHigh function L = iSetHigh(L,v) if v<2 error(message('mbc:localpspline:InvalidValue')); end ord = getorder(L); ord(1) = v; L = setorder(L,ord); %% iGetLow function v = iGetLow(L) v = getorder(L); v = v(2); %% iSetLow function L = iSetLow(L,v) if v<2 error(message('mbc:localpspline:InvalidValue')); end ord = getorder(L); ord(2) = v; L = setorder(L,ord);