www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@modeldev/modelinfo.m

    function mdev=modelinfo(mdev,Update)
%MODELINFO fill out modelinfo fields

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

TP= mdevtestplan(mdev);
m= mdev.Model;
Yname= varname(mdev,'Y');
Y= getdata(mdev,'Y');
if size(Y,2)==1
   if isa(Y,'sweepset')
      Yu= get(Y,'Units');
      if isa(Yu,'cell') && length(Yu)==1
         Yu= Yu{1};
      end
   else
      Yu= '';
   end
else
   Yname= 'y';
   Yu='';
end
X= getdata(mdev,'X');
if isa(X,'sweepset')
   Xu= get(X,'Units');
else
   Xu= repmat({''},1,size(X,2));
end

if isa(m,'xregtwostage');
   % handle twostage
   Xg= getdata(TP,'X');
	if iscell(Xg)
		X= Xg{1};
		Xg=Xg{end};
	end
	xs= get(X,'Name');
   gm= model(mdevtestplan(mdev));
   s= [xs; get(gm,'symbol')];
   Xnames= [xs ; get(Xg,'Name')];
   Xu= [Xu ; get(Xg,'Units')];
elseif isa(m,'localmod');
   s= get(X,'Name');
   Xnames= s;
else
   s= get(m,'symbol');
   Xnames= get(X,'Name');
end      

xi = struct('Names',{Xnames},...
   'Units',{Xu},...
   'Symbols',{s});
yi = struct('Name',Yname,...
   'Units',Yu,...
   'Symbol',Yname);

m= xinfo(m,xi);
mdev.Model= yinfo(m,yi);

pointer(mdev);