%
% Show 95 percent confidence ellipses versus time
% jbr
% 3/30/2013
ntsteps = 10;
U=0.5*[sqrt(2), sqrt(2); sqrt(2), -sqrt(2)];
theta = (-25)*360/(2*pi);
A = [cos(theta), sin(theta); -sin(theta), cos(theta)];
n = size(A, 1);
C = [0.5 0.25];
G = eye(2);
m = 2;
B = eye(m);
g = size(G, 2);
p = size(C, 1);
alpha = 0.95;
nell = 281;
bn = chi2inv(alpha, n);
prior = 3;
% Q0 = prior*U*diag([3, 1/2])*U';
Q0 = prior*eye(n);
Q = 0.01*eye(g);
R = 0.01*eye(p);
% steady-state solution
%[Ls, Pmins, Ps, Es] = dlqe(A, G, C, Q, R);
% transient solution
Pminus(1) = {Q0};
for i = 1:ntsteps
L{i} = Pminus{i}*C'*inv(R+C*Pminus{i}*C');
P{i} = Pminus{i} - L{i}*C*Pminus{i};
[exm{i}(:,1), exm{i}(:,2)] = ellipse(inv(Pminus{i}),bn, nell);
[ex{i}(:,1), ex{i}(:,2)] = ellipse(inv(P{i}),bn, nell);
if (i == ntsteps)
break
end
Pminus{i+1} = A*P{i}*A' + G*Q*G';
end
figure()
hold on
for i = 1:ntsteps
plot (ex{i}(:,1),ex{i}(:,2))
end
axis ([-1,1,-2,2]);
figure()
hold on
for i = 1:ntsteps
plot (exm{i}(:,1),exm{i}(:,2))
end
axis();
exx = cell2mat(ex);
save KFpayoff.dat exx