⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixing2.m

📁 it is a source code from internet
💻 M
字号:
%FIXING2 Filter version of Examples 12.4 and 12.7.
%	      Shows the impact on introducing constraints 
%	      as observations with zero variance 

%Kai Borre 07-10-97
%Copyright (c) by Kai Borre
%$Revision: 1.0 $  $Date: 06-10-97  $

format short
A = [-1      0	     1      0      0      0       0      0;
      0.707  0.707  0      0     -0.707 -0.707   0      0
      0.707 -0.707  0      0      0      0      -0.707  0.707;
      0      0      0.924  0.383 -0.924 -0.383   0      0;
      0      0      0      0      0     -1       0      1;
      0      0      0.924 -0.383  0      0      -0.924  0.383];
b = [0.01; 0.02; 0.03; 0.01; 0.02; 0.03];
Cov = eye(6);
x = zeros(8,1);
P = 1.e6*eye(8);

% Regular update
for i = 1:6
   [x,P] = k_update(x,P,A(i,:),b(i),Cov(i,i));
   for j = 1:8
      fprintf('%8.4f',x(j))
   end
   fprintf('\n')
end
fprintf('\n')

% Update with constraints, that is observations with variance zero
G = [   1      0       1      0       1   0    1      0;
        0      1       0      1       0   1    0      1;
     -170.71 170.71 -170.71 270.71 -100 100 -241.42 100;
      170.71 170.71  270.71 170.71  100 100  100    241.42]';
% Baarda theory  
Sp = [zeros(4,8); -G(5:8,:)*inv(G(1:4,:)) eye(4)];
Cov = (norm(b-A*x))^2*pinv(A'*A);
Sigma_xp = Sp*Cov*Sp';   

% Fixing the first four coordinates to zero values
H = zeros(1,8);
b_fix = 0;
Cov_fix = 0;
for i = 1:4
   H(i) = 1;
   [x,P] = k_update(x,P,H,b_fix,Cov_fix);
   fprintf('\n')
   for j = 1:8
      fprintf('%8.4f',x(j))
   end 
end
fprintf('\n')

% Filter for a similarity transformation
b_fix = 0;
Cov_fix = 0;
for i = 3:4
   [x,P] = k_update(x,P,G(:,i)',b_fix,Cov_fix);
   fprintf('\n')
   for j = 1:8
      fprintf('%8.4f',x(j))
   end 
end
fprintf('\n')   
Sigma = (norm(b-A*x))^2*P;   
%%%%%%%%%%%%%%% end fixing2.m  %%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -