Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

statecovparts

Récupère et définit une partie de la matrice de covariance d'état dans insEKF

Depuis R2022a

Description

covparts = statecovparts(filter,stateName) renvoie la sous-matrice de covariance correspondant au nom d'état spécifié du filtre. La sous-matrice renvoyée est une matrice carrée extraite le long de la diagonale principale de la matrice de covariance d'état complète du filtre.

exemple

covparts = statecovparts(filter,sensor,stateName) renvoie la sous-matrice de covariance correspondant au nom d'état spécifié du capteur.

exemple

statecovparts(filter,stateName,value) définit la sous-matrice de covariance correspondant au nom d'état spécifié du filtre à la valeur spécifiée.

exemple

statecovparts(filter,sensor,stateName,value) définit la sous-matrice de covariance correspondant au nom d'état spécifié du capteur spécifié à la valeur spécifiée.

exemple

Exemples

réduire tout

Créez un objet capteur insAccelerometer .

acc = insAccelerometer;

Construisez un objet insEKF en utilisant les deux objets capteurs.

filter = insEKF(acc);

Affichez la matrice de covariance d'état du filtre. Par défaut, la matrice de covariance d'état est une matrice d'identité 10 x 10.

filter.StateCovariance
ans = 10×10

     1     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     0     0     1

Définissez la diagonale de la sous-matrice de covariance correspondant à l'accéléromètre sur 3, et affichez la sous-matrice.

statecovparts(filter,acc,"Bias",3);  
statecovparts(filter,acc,"Bias")
ans = 3×3

     3     0     0
     0     3     0
     0     0     3

Définissez la diagonale de la sous-matrice de covariance correspondant à l'accéléromètre sur [1 2 3], et affichez la sous-matrice.

statecovparts(filter,acc,"Bias",[1 2 3]);  
statecovparts(filter,acc,"Bias")
ans = 3×3

     1     0     0
     0     2     0
     0     0     3

Définissez la sous-matrice de covariance correspondant à l'accéléromètre sur magic(3) et affichez la sous-matrice.

statecovparts(filter,acc,"Bias",magic(3));  
statecovparts(filter,acc,"Bias")
ans = 3×3

     8     1     6
     3     5     7
     4     9     2

Afficher la sous-matrice de covariance correspondant à l'accéléromètre directement à travers le filtre.

statecovparts(filter,"Accelerometer_Bias")
ans = 3×3

     8     1     6
     3     5     7
     4     9     2

Affichez la matrice de covariance de l'état modifié.

filter.StateCovariance
ans = 10×10

     1     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     8     1     6
     0     0     0     0     0     0     0     3     5     7
     0     0     0     0     0     0     0     4     9     2

Arguments d'entrée

réduire tout

Filtre INS, spécifié comme objet insEKF .

Nom d'une partie de l'état du filtre ou du capteur, spécifié sous forme de chaîne scalaire ou de vecteur de caractères.

Utilisez la fonction d'objet stateinfo pour rechercher les noms des parties d'état dans le filtre.

Exemple : "AngularVelocity"

Exemple : "Bias"

Types de données : char | string

Capteur inertiel, spécifié comme l'un de ces objets utilisés pour construire l'objet filtre insEKF :

Valeur de la matrice de covariance de la partie d'état du filtre ou du capteur, spécifiée comme l'une de ces options :

  • Scalaire réel — Les éléments diagonaux de la matrice de covariance de la partie d'état résultante sont tous égaux au scalaire.

  • N- vecteur à valeur réelle d'élément — La diagonale de la matrice de covariance de la partie d'état résultante est égale au vecteur, où N est la dimension de l'état correspondant à l'élément Argument stateName .

  • N-by- N matrice à valeur réelle — La matrice de covariance de la partie d'état résultante est égale à la matrice, où N est la dimension de l'état correspondant à l'argument stateName .

Types de données : single | double

Arguments de sortie

réduire tout

Matrice de covariance correspondant au nom de l'état, renvoyée sous la forme d'une matrice à valeur réelle N-by- N .

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2022a