%　Octave用 2005/07/25
%　カルマンフィルタゲインを求める.

clear
format;

%　システムの定義
A=[ 0                 1;
    -1                 0];
B=[ 0
    1 ];
C=[1 0];
D=[0];

%重みの定義
W = 1;

V2 = 10^13;

V = B*V2*B';  

%可制御性の確認
disp(' ');
if( rank( eig(ctrb(A',C')) ) > 0)
 disp('controllability is OK');   
else
 disp('No controllability');
end

%可観測性の確認
 disp(' ');
if( rank( eig(obsv(A',B')) ) > 0)
 disp('observability is OK');   
else
 disp('No observability');
end
 disp(' ');

% YA' + AY - YC'W^(-1)CY + V = 0の解 Y　を求める.
Y = are(A',C'*inv(W)*C,V);

% ue = -C'Ky　の K( = W^(-1)CY )  を求める.

disp(' ');

K = inv(W)*C*Y;
K = K'

K1 = K(1)
K2 = K(2)
