www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregcovariance/eval.m
function [Wc]= eval(c,varargin) %EVAL % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. Wc=1; if ~isempty(c.wfunc) % simple weighting function w= feval(c.wfunc,c,varargin{:}); nc= length(w); if nc<100 Wc= diag(w); else % use sparse matrices if > 100x100 Wc= spdiags(w,0,nc,nc); end end if ~isempty(c.cfunc) % correlation function C= feval(c.cfunc,c,varargin{:}); w2= sqrt(diag(Wc)); if issparse(Wc) & length(Wc)>1 w2= spdiags(w2,0,nc,nc); else w2= diag(w2); end Wc= w2*C*w2; end