Code covered by the BSD License  

Highlights from
Optimal reduced-order discrete-time LQG design

Optimal reduced-order discrete-time LQG design

by

 

16 May 2008 (Updated )

Solution of the SDOPE by repeated forward and backward iteration

examp2.m
% Example 2
  clear;
  
% System matrices
  p  = [0.3884    1.6578    0.0613    0.0137         0;
        0.0834    0.6802    0.0948    0.6800         0;
        1.2041    0.9213    0.9395    0.1186         0;
        1.2048    1.4738    1.1904    0.7405         0;
             0         0         0         0    0.9500];
 
  g  = [0.5890    0.0920;
        0.9304    0.6539;
        0.8462    0.4160;
        0.5269    0.7012;
           0         0  ];

  c  = [0.9103    0.2625    0.7361    0.6326    0.9910;
        0.7622    0.0475    0.3282    0.7564    0.3653];

% Criterion matrices
  v = diag([0.2470 0.9826 0.7227 0.7534 0.6515]);
  q = diag([0.8847 0.2727 0.4364 0.7665 0.4777]);
  w = diag([0.0727 0.6316]);
  r = diag([0.2378 0.2749]);  

% Compute reduced-order compensators and associated costs

  disp(' '); disp(' Example 2');
  for nc=5:-1:1
    disp(' ');
    opt=[]; opt(1)=1e-8;
    [f,k,l,sigp,sigs,spr,pt,st,ph,sh,sigc,trps]=dprotin(p,g,c,v,w,q,r,nc,opt);
    disp([' Outcome of the two cost expressions nc=' num2str(nc)]);
    disp([' sigp=' num2str(sigp) ' sigs=' num2str(sigs)]);
  end

  

Contact us