root/matlab/testKF.m @ 7

Revision 7, 0.7 kB (checked in by smidl, 16 years ago)

nefunkcni!!!

  • Property svn:eol-style set to native
  • Property svn:keywords set to Rev Author Date
Line 
1if 0
2A=[1 -0.5; 1 0];
3B=[1;0];
4C=[1 0];
5D=[0];
6R=[0.1];
7Q=[0.2 0 ; 0 0.02];
8
9sQ = chol(Q)';
10sR = chol(R)';
11
12N =1000;
13
14u = ones(1,N);
15x = zeros(2,N);
16y = zeros(1,N);
17
18x(:,1) = [10;10];
19for i=2:N;
20        et(1:2,i) = sQ*randn(2,1);
21        x(:,i) = A*x(:,i-1) + B*u(i) + et(:,i);
22        y(:,i) = C*x(:,i) + D*u(i) + sR*randn(1,1);
23end
24
25d=[y;u];
26itsave('testKF.it',d)
27else
28%!cd ../testKF
29
30% init
31mu = [0;0];
32P = 200*eye(2);
33
34for t=2:N
35        mu = A*mu + B*u(t);
36        P  = A*P*A' + Q;
37
38        %Data update
39        Ry = C*P*C' + R;
40        iRy = inv(Ry);
41        K = P*C'*iRy;
42        P = P- K*C*P; % P = P -KCP;
43        mu = mu + K*(y(t)-C*mu-D*u(t));
44        Mu(1:2,t)=mu;
45end
46
47
48
49itload('testKF_res.it');
50
51hold off
52plot(x');
53hold on
54plot(xth','--');
55plot(Mu',':');
56end
Note: See TracBrowser for help on using the browser.