Projet

Général

Profil

« Précédent | Suivant » 

Révision 252

Ajouté par clbouillot2 il y a presque 4 ans

Manque l'ajout de la fonction Copy_mat

Voir les différences:

branch/bouillot/sp4a3/sp4a3_kalman.c
// Kalman
// X = F*X
double Res1 [4][1];
X=Mul_Mat_Mat(4,4,F,4,1,X,Res1);
Mul_Mat_Mat(4,4,F,4,1,X,Res1);
X=Copy_mat(Res1);
Plot_Mat(X," X(k+1|k) = ");
//P = F*P*F'+Q;
......
//X = X + K*([xb(i);yb(i)]-H*X);
//Plot_Mat(Delta,"DELTA = Obs - H.X(k+1|k)");
double Res14 [2][1], Res15[4][1], Res16[?][?], Res17[?][?],HX[2][1],Vect[2][1], KVect[4][1],KVectHX[2][1];
double Res14 [2][1], Res15[4][1], Res16[2][1], Res17[?][?],HX[2][1],Vect[2][1], KVectHX[4][1],VectHX[2][1];
Vect[0][0]=x;
Vect[1][0]=y;
HX=Mul_Mat_Mat(2,4,H,4,1,X,Res14);
Vect=[x[i],y[i]];
KVect=Mul_Mat_Mat(4,2,K,2,1,Vect,Res15);
KVectHX=Sub_Mat_Mat(4,1,KVect,2,1,HX,Res16);
X=Add_Mat_Mat(4,1,X,2,1,KVectHX,Res17);
VectHX=Sub_Mat_Mat(2,1,Vect,2,1,HX,Res16);
KVectHX=Mul_Mat_Mat(4,2,K,2,1,VectHX,Res15);
X=Add_Mat_Mat(4,1,X,4,1,KVectHX,Res17);
Plot_Mat(X," X(k+1|k+1) = X(k+1|k) + K.Delta = ");

Formats disponibles : Unified diff