1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| function ds=observateur(x,S)
u=1;
teta=5;
r=1;
Q=zeros(3);
S=zeros(13,1);
ds=zeros(13,1);
A=[0 -S(13,1) u;0 0 0;0 0 0];
ds11=-S(1,1)*teta+r;
ds12=-S(2,1)*teta-A(1,2)*S(1,1);
ds13=-S(3,1)*teta-A(1,3)*S(1,1);
ds22=-S(5,1)*teta-2*A(1,2)*S(2,1);
ds23=-S(6,1)*teta-A(1,2)*S(3,1)-A(1,3)*S(2,1);
ds33=-S(9,1)*teta-A(1,3)*S(3,1)-A(1,3)*S(3,1);
dx1chap=A(1,2)*S(11,1)+A(1,3)*S(12,1)-r*Q(1,1)*(S(10,1)-S(13,1));
dx2chap=-Q(1,2)*(S(10,1)-S(13,1));
dx3chap=-Q(1,3)*(S(10,1)-S(13,1));
P=[S(1,1) S(2,1) S(3,1);S(4,1) S(5,1) S(6,1);S(7,1) S(8,1) S(9,1)];
Q=inv(P);
ds(1,1)=ds11;
ds(2,1)=ds12;
ds(3,1)=ds13;
ds(4,1)=ds12;
ds(5,1)=ds22;
ds(6,1)=ds23;
ds(7,1)=ds13;
ds(8,1)=ds23;
ds(9,1)=ds33;
ds(10,1)=dx1chap;
ds(11,1)=dx2chap;
ds(12,1)=dx3chap;
ds(13,1)=x; |
Partager