www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregrbf/updateallparameters.m
function m= updateallparameters(m,b) %UPDATEALLPARAMETERS update all parameters for xregrbf % % b= [nc; size(widths); lambda; widths(:); centers(:); weights(:); qralg]; % Copyright 2000-2006 The MathWorks, Inc. and Ford Global Technologies, Inc. nf= nfactors(m); nc= b(1); nw= b(2:3)'; lambda= b(4); n= prod(nw)+4; w= reshape(b(5:n),nw); c= reshape(b(n+1:n+nc*nf),nc,nf); n= n+nc*nf; blin= b(n+1:n+nc); set(m,'lambda',lambda); m.width= w; m.centers= c; m.xreglinear = updateallparameters(m.xreglinear,blin); % set qr algorithm up correctly if all(lambda==0) m.xreglinear=set(m.xreglinear,'qr','ols'); elseif n+nc<length(b) % qr algorithm stored in allparameters qralg = {'ols','ridge','rols','smooth'}; m.xreglinear=set(m.xreglinear,'qr',qralg{b(end)}); else % old models didn't store qr explicitly so we tried to guess try switch lower(getname(get(m.om,'CenterSelectionAlg'))) case {'rols','wigglecenters'} m.xreglinear=set(m.xreglinear,'qr','rols'); otherwise m.xreglinear=set(m.xreglinear,'qr','ridge'); end catch m.xreglinear=set(m.xreglinear,'qr','ridge'); end end