www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@modeldev/getdata.m
function [X,Y]=getdata(MD,var,RemOutliers) %GETDATA Get data used by node % % [X Y] = GETDATA(MDEV, VAR, REMOVE_OUTLIERS) % var is 'X','Y','DATA','VAL','FIT', 'ALLDATA % Copyright 2000-2011 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin<3 RemOutliers=1; end X= i_GetData(MD.X); if RemOutliers Y= i_GetData(MD.Y,outliers(MD)); else Y= i_GetData(MD.Y); end if nargin>1 switch upper(var) case 'Y' X=Y; case 'X' case 'DATA' X=i_GetData(MD.Data,outliers(MD)); case 'VAL' [X,Y]= valdata(MD); case 'FIT' TP= mdevtestplan(MD); [X,YG]= getdata(TP,'X',0); if ~iscell(X) % make X data a cell array for consitency with twostage X={X}; end case 'ALLDATA' TP= mdevtestplan(MD); X= DataLink(TP); if RemOutliers X(outliers(MD),:)= NaN; end otherwise error(message('mbc:modeldev:InvalidArgument9')) end end function Data= i_GetData(p,Outliers) switch class(p) case 'xregpointer' if length(p)>1 Data= infoarray(p); for i=1:length(p) Data{i}= sweepset(Data{i}); end else Data= sweepset(info(p)); end case 'sweepsetfilter' Data= sweepset(p); case 'struct' Data= p.ptr.info(:,p.index); case {'double','sweepset'} Data= p; otherwise error(message('mbc:modeldev:InvalidArgument10')) end if nargin > 1 Data(Outliers,:)=NaN; end