home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l455 / 3.ddi / MMLE3.DI$ / MMLELIKE.M < prev    next >
Encoding:
Text File  |  1993-03-11  |  1.1 KB  |  30 lines

  1. function [llf,wersuml,rr,dt,k,c]=mmlelike(p,p2snam,gg)
  2. %                IS USED BY MMLE.M  TO  COMPUTE WERSUML
  3. % LLF CALC USES SPECIFIED gg, NOT rr. LLF ONLY TRUE WHEN rr = gg
  4.  
  5. global uydata
  6. global yest
  7. global inovt
  8. global wapriori
  9. global pref
  10. global rowinq
  11.  
  12. [a,phi,gam,c,d,q,x0,dt,rowinq]=eval([p2snam,'(p)']); %   GET PLANT MATRICES
  13.  
  14. [nm,nx]=size(c);[ndp,num]=size(uydata); %       YEST,INOV,LLF FOR NOMINAL P
  15. if sum(diag(q))==0, k=zeros(nx,nm); %  NO KALMAN GAIN
  16. else
  17.    k=lqe(a,eye(nx),c,q*q'/dt/dt,gg)*dt;
  18. end
  19. % YES, THAT IS THE CONT. LQE   [MAINE,ILIFF EQN30, REF. IN MMLESTEP.M]
  20.  
  21. inovt=-ltitr(phi-phi*k*c,[gam-phi*k*d,phi*k],uydata,x0) * c' +  ...
  22. uydata*[-d,eye(nm)]';%                                        KALMAN FILTER
  23. wersuml=sum(sum((inovt/gg).*inovt))/ndp/nm;
  24. p-pref;wersuml=wersuml+(ans.*wapriori)*ans'/ndp/nm;%   A-PRIORI TERM
  25. rr=(inovt'*inovt)/ndp;
  26. llf=ndp/2*(wersuml*nm+log(det(gg))); %       TRUE LLF USES rr IN PLACE OF gg
  27. yest=uydata(:,num-nm+1:num)-inovt;
  28. %------------------------------------------------------------end mmlelike.m
  29.  
  30.