www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@localusermod/features.m

    function [Feats,Defaults,Values]= features(f);
% USERLOCAL/FEATURES

%  Copyright 2000-2005 The MathWorks, Inc. and Ford Global Technologies, Inc.



lab= labels(f);
np = length(lab);

lab= lab(:)';
func=lab;
dgfunc= lab;

% parameters as response features
for i=1:length(lab);
   lab{i}= strrep(lab{i},'\','');
   func{i}= sprintf('p(%d)',i);
   dgfunc{i}= sprintf('delparam(f,%d)',i);
end
Feats= struct('Display',lab,...
   'Function',func,...
   'delG',dgfunc,...
   'Name',lab,...
   'IsDatum',0,...
   'index',num2cell(1:np),...
	'IsLinear',1);

try
    % possible userdefined
    [rf,dGl]= rfvals(f.userdefined);
    [rnames,Defaults]= rfnames(f.userdefined);
    if ~isempty(rnames) && (~iscellstr(rnames) || length(rf)~=length(rnames))
        error(message('mbc:xregtransient:InvalidFile'))
    end
    for i= 1:length(rf)
        Feats(np+i)= struct('Display',rnames{i},...
            'Function',sprintf('rfvals(f,%d)',i),...
            'delG',sprintf('delrf(f,%d)',i),...
            'Name',rnames{i},...
            'IsDatum',0,...
            'index',np+i,...
            'IsLinear',0);
    end
catch
    error(message('mbc:xregtransient:InvalidFile'))
end
if nargout==3
   Values= zeros(np,nfactors(f));
end