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

    function PEV= evalpev(x,m,varargin)
%EVALPEV default evalpev 
% 
% PEV= evalpev(x,m)

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



if nfactors(m)==1 
   x=x(:);
elseif any(size(x)==1) 
   x=x(:)';
end

Ri= var(m);
if ~isempty(Ri)
    FX= jacobian(m,x,true);
    if ~isempty(FX)
        % calculate inverse and use multiplication
        pev= FX*Ri;
        PEV= sum(pev.^2,2);
    else
        PEV= zeros(size(x,1),1);
        PEV(:)=NaN;
    end
else
    PEV= zeros(size(x,1),1);
    PEV(:)=NaN;
end