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);