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

  1. %----------------------------------------------------------------------------
  2. %                      DEMONSTRATION ROUTINE  ML_DEMO1.M
  3. %          FOR MMLE.M  MAXIMUM LIKELIHOOD IDENTIFICATION FUNCTION
  4. %            Uses TESTCASE1 from Maine and Iliff , NASA TP 1690
  5. %             results identical to Table 2, p573  of reference
  6. %             SIAM J. APPL MATH Vol 41 No. 3 Dec 81, pp558,579.
  7. %----------------------------------------------------------------------------
  8.  
  9. %----------------- SEE   ML_DEMO3.M   FOR A SELF-CONTAINED TUTORIAL EXAMPLE.
  10. format compact
  11.  
  12. load ml_demo1,clc %          ml_dem1g.m GENERATES THIS IN 16 MIN. (ATT 6300)
  13. %      MMLE3 IGNORES FIRST SAMPLE. DO LIKEWISE TO GET EXACT TESTCASE1 RESULT
  14. le=size(uydata);le=le(1);uydata=uydata(2:le,:);
  15.  
  16. diary ml_demo1.log
  17.  
  18. clear xnonoise;clear xnosig;clear statnoise;clear measnoise;
  19. %                  ABOVE ARRAYS ARE UNNECESSARY. THEY CAN REMAIN IF DESIRED.
  20.  
  21. '-----------------------------------------------------------------------------';
  22. rule=ans;disp(ans)
  23. disp('                          MMLE DEMONSTRATION  No 1')
  24. disp('                        TESTCASE 1 FROM NASA TP 1690')
  25. gg0=.5;
  26. pidq=[2];       % ID    INPUT MATRIX
  27. pidm=[1 2 5];   % ID    DYNAMICS MATRIX, INPUT MATRIX, PROCESS COVARIANCE
  28. pidf=[1 2 5];
  29. p2snam='ml_p2ss1';
  30. pert=.001;
  31. p0=[-.5 0 1 0 3 0 .01];
  32. opt=[1 0 5 5 0 .001 .001 1];%        GIVES RESULTS IN TABLE 2 OF ABOVE PAPER.
  33. %                              CLEARING OPT GIVES THE DEFAULT OPTION FOR OPT.
  34. p=p0;%                               WHICH GIVES QUICKER CONVERGENCE.
  35.  
  36.  % =========================================================================
  37.  %               DEMO OF A-PRIORI WEIGHTING OPTION
  38.  %
  39.  % TO DEMONSTRATE THE A-PRIORI OPTION, CREATE aprioridemo BEFORE RUNNING THIS.
  40.  %
  41.  % SINCE ONLY THE PRODUCTS, p(2)p(3) AND p(3)p(5) ARE IDENTIFIABLE, AN
  42.  % IDENTIFIABILITY PROBLEM WILL OCCUR IF MORE THAN ONE ELEMENT IN THE
  43.  % PRODUCTS IS IDENTIFIED. INTRODUCING A-PRIORI WEIGHTING ON p(3) SOLVES
  44.  % THE IDENTIFIABILITY PROBLEM. pref(3) IS SET TO .5, AND WITH THE HIGH
  45.  % WEIGHTING, p(3) CONVERGES TO IT. p(2) AND p(5) DOUBLE TO KEEP THE
  46.  % PRODUCT CORRECT, DEMONSTRATING THE RISK IN FALSE A-PRIORI WEIGHTINGS.
  47.  
  48.    if exist('aprioridemo')==1,%       ONLY DO LOOP IF aprioridemo EXISTS
  49.       rms0=ones(p0)*1e9;rms0(3)=.1;%  HUGE A-PRIORI RMS ERRORS ON ALL BUT p3
  50.       pref=p0;pref(3)=.5;%   FALSELY SET pref(3) TO .5 OF ITS CORRECT VALUE
  51.       pidm=[1 2 3 5];pidf=pidm;%      INCLUDE p(3) IN THE ID LIST
  52.    end% apr
  53.  %==========================================================================
  54. disp(rule)
  55.  
  56. mmle % DO THE IDENTIFICATION
  57.  
  58. diary off
  59. ml_dem1p % RUN THE PLOT ROUTINE
  60. 'To test the a-priori option, make aprioridemo = 1, and then rerun mmle.m';
  61. disp(ans),
  62. disp('Run ml_tut1.m to illustrate uncertainty ellipsoid facts')
  63. shg
  64. %------------------------------------------------------------ end ml_demo1.m
  65.