www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregtransient/plot.m
function h= plot(L,X,Y,DataOK,Options,AxHand) %XREGTRANSIENT/PLOT plot xregtransient with data % % h= plot(m,X,Y,ax,BDflag,Trans,CI) % % Inputs % m model % X x data % Y observed ydata % DataOK logical array indicating whether data % Options [ShowBD,Trans,CI] % ax axes handle % Outputs % h main data line handle % Copyright 2000-2015 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin < 4 || isempty(DataOK); DataOK= isfinite(Y); end if nargin < 5 Options= [1 0 1]; end if nargin < 6 AxHand= gca; end BDflag = Options(1) && ~all(DataOK); Trans = Options(2) && HasTransform(L); CI = Options(3); set(ancestor(AxHand,'figure'),'CurrentAxes',AxHand) % Plot regressed and actuals y= EvalModel(L,X); if Trans Y(:,1) = ytrans(L,double(Y)); y= ytrans(L,y); end if CI % only do confidence intervals for good data Xs= double(X(DataOK,:)); if CI==1 alpha=0.95; else alpha= CI; end [ci_hi,ci_lo]= cicalc(L,Xs,alpha,Trans); ciargs = {Xs(:,1),ci_lo, 'b--',Xs(:,1),ci_hi,'b--'}; else ciargs = {}; end % Plot regressed and actuals. if BDflag % mark data as bad in sweepset Y(~DataOK,1) = NaN; % display bad data h=plot(X(~DataOK,1),Y(~DataOK,1),... X(DataOK,1),Y(DataOK,1),'b',... X(:,1),y(:,1),'k',ciargs{:},... 'LineWidth',1,'parent',AxHand,'bd'); % first line is bad data plot - remove from list of h(1) = []; else % don't display bad data h=plot(X(DataOK,1),Y(DataOK,1),'b',... X(:,1),y(:,1),'k',ciargs{:},... 'LineWidth',1,'Parent',AxHand); end set(h(1),'Tag','main line',... 'Marker','o',... 'MarkerFaceColor','b',... 'MarkerSize',5); set(h(2),'LineStyle','-','Marker','none','HitTest','off'); set(h(3:end),'Marker','none','HitTest','off'); set(AxHand,'XGrid','on','YGrid','on'); set(get(AxHand,'YLabel'),... 'String',ResponseLabel(L,Trans),... 'Interpreter','none',... 'FontSize',8);