Code covered by the BSD License

# Reduced-order discrete-time LQG design for systems with white parameters

### Gerard Van Willigenburg (view profile)

22 May 2008 (Updated )

Optimal compensation of time-varying discrete-time linear systems with white stochastic parameters

examp.m
```% EXAMP : Script example from paper [15]
% L.G. van Willigenburg, W.L. De Koning, 1999,
% "Optimal reduced-order compensators for time-varying discrete-time systems
% with deterministic and white parameters",
% Automatica, 35, 129-138
%
% Remark: As opposed to the results listed in table 1 of the paper
%         the (modified) homotopy algorithm 1 does not find the best
%         of the two solutions for lambda=0 and lambda=0.1.
%         It only finds the best one for lambda=0.01.
%
clear;
global lambda;

func='sprtvvex'; lit=0;

%Values for lambda and seeds for random number generators
lt=[0 0.01 0.1]; seedt=[10 5 2];

for lambda=lt

% Compute the full-order compensator
opt=[]; opt(1)=1e-8; opt(6)=1; opt(4)=20; [xfklo,sigpo,sigso,ptto,stto,phto,shto,trpso]=spfotv(func,opt);
disp(' ');
disp(['   Cost full-order compensator lambda=' num2str(lambda)]); disp([sigpo, sigso]);

% Compute the two reduced-order compensators using algorithm 2
rand('seed',0); randn('seed',0);
opt=[]; opt(1)=1e-8; opt(6)=1; opt(4)=20; [xfkl,sigp,sigs,ptt,stt,pht,sht]=sprotvv(func,opt);
disp(['   First solution of Algorithm 2 lambda=' num2str(lambda)]); disp([sigp, sigs]);

lit=lit+1;
rand('seed',seedt(lit)); randn('seed',seedt(lit));
opt=[]; opt(1)=1e-8; opt(6)=2; opt(4)=20; [xfkl1,sigp1,sigs1,ptt1,stt1,pht1,sht1]=sprotvv(func,opt);
disp(['   Second solution of Algorithm 2 lambda=' num2str(lambda)]); disp([sigp1 sigs1]);

% Compute the reduced-order compensator using the homotopy algorithm 1
opt=[]; opt(1)=1e-8; opt(6)=3; opt(4)=20; opt(10)=0.1; [xfklh,sigph,sigsh,ptth,stth,phth,shth]=sprotvv(func,opt);
disp(['   Solution of Algorithm 1 lambda=' num2str(lambda)]); disp([sigph sigsh]);
end```